kenzok8-packages/luci-app-store/swagger.yaml
2024-07-10 14:01:01 +08:00

514 lines
13 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

swagger: "2.0"
info:
description: Store API V1
title: Store API V1
version: 3.0.0
paths:
/cgi-bin/luci/admin/store/token:
get:
tags:
- token
summary: 获取csrfToken用于POST请求
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreToken"
/cgi-bin/luci/admin/store/installed:
get:
tags:
- installed
summary: 获取已安装的插件
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreInstalled"
/cgi-bin/luci/admin/store/install:
post:
tags:
- install
summary: 安装插件。安装过程中使用taskd接口获取日志
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
required: true
- in: "query"
name: "autoconf"
type: string
description: "可选参数,表示安装完以后是否自动配置插件"
- in: "query"
name: "path"
type: string
description: "可选参数,表示安装完以后是否自动配置插件"
- in: "query"
name: "enable"
type: string
description: "可选参数,表示安装完以后是否自动配置插件"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/autoconf:
post:
tags:
- install
summary: 自动配置插件
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
required: true
- in: "query"
name: "path"
type: string
description: "可选参数"
- in: "query"
name: "enable"
type: string
description: "可选参数"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/remove:
post:
tags:
- remove
summary: 卸载插件
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
required: true
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/upgrade:
post:
tags:
- upgrade
summary: 更新插件
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
required: true
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/upload:
post:
tags:
- upload
summary: 上传插件
description: "(文件上传表单,支持文件扩展名 .ipk,.run )"
consumes:
- multipart/form-data
parameters:
- in: formData
name: file
type: file
description: The file to upload.
- in: "query"
name: "token"
type: string
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/update:
post:
tags:
- update
summary: 刷新可用软件列表
parameters:
- in: "query"
name: "token"
type: string
required: true
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/status:
get:
tags:
- status
summary: 查询特定软件状态
parameters:
- in: "query"
name: "package"
type: string
required: true
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreStatus"
/cgi-bin/luci/admin/store/log:
get:
tags:
- log
summary: 任务日志,已废弃
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/check_self_upgrade:
get:
tags:
- check_self_upgrade
summary: 检查iStore自身更新
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreCheckSelfUpgrade"
/cgi-bin/luci/admin/store/do_self_upgrade:
post:
tags:
- do_self_upgrade
summary: 更新iStore自身
parameters:
- in: "query"
name: "token"
type: string
required: true
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
/cgi-bin/luci/admin/store/get_block_devices:
get:
tags:
- get_block_devices
summary: 枚举块设备
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreGetBlockDevices"
/cgi-bin/luci/admin/store/configured:
get:
tags:
- configured
summary: 检查插件是否已经配置过
parameters:
- in: "query"
name: "uci"
type: string
required: true
description: "要检查的uci配置文件名称"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreConfigured"
/cgi-bin/luci/admin/store/entrysh:
post:
tags:
- entrysh
summary: 查询插件运行状态,主要为了获取入口信息。
description: 调用前应该检查meta数据中flags数组包含entrysh注意如果是安装插件则检查服务器端的flags如果是调用已安装插件则检查路由器端的flags。
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
description: "包名例如aria2。支持英文逗号分隔多个包名。如果未提供则返回所有支持entrysh的包"
- in: "query"
name: "hostname"
type: string
required: true
description: "主机名不包含端口。前端应该使用location.hostname获取"
- in: "query"
name: "update"
type: integer
description: "如果为1则强制更新缓存"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreEntrysh"
"400":
description: Bad Request。hostname不合法
/cgi-bin/luci/admin/store/docker_check_dir:
get:
tags:
- docker_check_dir
summary: 检查docker目录是否在系统盘
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseDockerCheckDir"
/cgi-bin/luci/admin/store/docker_check_migrate:
get:
tags:
- docker_check_migrate
summary: 检查docker迁移目标目录是否有效
parameters:
- in: "query"
name: "path"
type: string
required: true
description: "完整目标路径"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseDockerCheckMigrate"
/cgi-bin/luci/admin/store/docker_migrate:
post:
tags:
- docker_migrate
summary: docker迁移到目标目录异步
description: 当返回code为0的时候可以使用taskd接口展示日志跟安装插件时一样
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "path"
type: string
required: true
description: "完整目标路径"
- in: "query"
name: "overwrite"
type: string
description: "如果docker_check_migrate返回的result是existed使用此参数指定解决方案true表示覆盖目标目录chdir表示只修改路径不复制文件"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStore"
definitions:
ResponseStoreToken:
type: object
properties:
token:
type: string
StoreInstalledApp:
type: object
properties:
tutorial:
type: string
description: "教程"
arch:
type: array
description: "适用的架构平台"
items:
type: string
entry:
type: string
description: "对于的页面地址"
author:
type: string
description: "作者"
depends:
type: array
description: "关联的依赖"
items:
type: string
time:
type: integer
description: "更新日期"
tags:
type: array
description: "标签"
items:
type: string
description_en:
type: string
description: "简介,英文"
description:
type: string
description: "简介,英文"
title:
type: string
description: "标题"
release:
type: integer
description: "发布"
website:
type: string
description: "官网"
version:
type: string
description: "版本号"
name:
type: string
description: "名称"
ResponseStoreInstalled:
type: array
items:
$ref: "#/definitions/StoreInstalledApp"
ResponseStore:
type: object
properties:
code:
type: integer
stdout:
type: string
stderr:
type: string
ResponseStoreStatus:
type: object
allOf:
- $ref: "#/definitions/StoreInstalledApp"
properties:
installed:
type: boolean
ResponseStoreCheckSelfUpgrade:
type: object
properties:
code:
type: integer
description: "为200时,msg会显示版本号"
msg:
type: string
description: "内容"
GetBlockDevice:
type: object
properties:
dev:
type: string
uuid:
type: string
version:
type: string
label:
type: string
mount:
type: string
type:
type: string
size:
type: string
ResponseStoreGetBlockDevices:
type: object
properties:
code:
type: integer
description: "为200时"
msg:
type: string
description: "内容"
data:
type: object
additionalProperties:
$ref: "#/definitions/GetBlockDevice"
ResponseStoreConfigured:
type: object
properties:
code:
type: integer
description: "为200时"
configured:
type: boolean
ResponseDockerCheckDir:
type: object
properties:
code:
type: integer
description: "为200时"
docker_on_system:
type: boolean
description: "docker数据在系统盘"
ResponseDockerCheckMigrate:
type: object
properties:
code:
type: integer
description: "为200时"
result:
type: string
description: "检查结果。可能值goodbadexisted"
error:
type: string
description: "当result为bad时此处返回错误日志"
StoreEntrysh:
type: object
description: "状态和入口信息,不同插件可能有些不一样,仅列出常用公共参数"
properties:
app:
type: string
description: "插件名称"
docker:
type: boolean
description: "如果是docker插件"
running:
type: boolean
description: "是否运行中"
deployed:
type: boolean
description: "如果是docker插件且未运行则是否已经部署"
web:
type: string
description: "url"
href:
type: string
description: "web端直接跳转url"
ResponseStoreEntrysh:
type: object
properties:
code:
type: integer
description: "为200时"
status:
description: "处理成功的结果集"
type: array
items:
$ref: "#/definitions/StoreEntrysh"
errors:
description: "处理失败的结果集"
type: array
items:
type: object
description: "失败信息"
properties:
app:
type: string
description: "插件名称"
code:
type: integer
description: "404或500"
msg:
type: string
description: "错误信息"