mirror of
https://github.com/kenzok8/openwrt-packages
synced 2025-01-07 07:06:45 +08:00
514 lines
13 KiB
YAML
514 lines
13 KiB
YAML
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: "检查结果。可能值‘good’,‘bad’,‘existed’"
|
||
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: "错误信息"
|
||
|