small-package/luci-app-store/swagger.yaml

514 lines
13 KiB
YAML
Raw Normal View History

2024-06-24 16:21:50 +08:00
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
2024-07-02 16:21:43 +08:00
summary: 安装插件。安装过程中使用taskd接口获取日志
2024-06-24 16:21:50 +08:00
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"
2024-07-02 20:32:00 +08:00
/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"
2024-06-24 16:21:50 +08:00
/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
2024-07-02 16:21:43 +08:00
summary: 任务日志,已废弃
2024-06-24 16:21:50 +08:00
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:
2024-07-08 16:23:03 +08:00
$ref: "#/definitions/ResponseStoreGetBlockDevices"
2024-06-24 16:21:50 +08:00
/cgi-bin/luci/admin/store/configured:
get:
tags:
- configured
summary: 检查插件是否已经配置过
2024-07-02 16:21:43 +08:00
parameters:
- in: "query"
name: "uci"
type: string
required: true
description: "要检查的uci配置文件名称"
2024-06-24 16:21:50 +08:00
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreConfigured"
2024-07-02 20:32:00 +08:00
/cgi-bin/luci/admin/store/entrysh:
post:
tags:
- entrysh
summary: 查询插件运行状态,主要为了获取入口信息。
2024-07-10 14:13:37 +08:00
description: 调用前应该检查meta数据中flags数组包含entrysh注意如果是安装插件则检查服务器端的flags如果是调用已安装插件则检查路由器端的flags。
2024-07-02 20:32:00 +08:00
parameters:
- in: "query"
name: "token"
type: string
required: true
- in: "query"
name: "package"
type: string
2024-07-04 16:23:02 +08:00
description: "包名例如aria2。支持英文逗号分隔多个包名。如果未提供则返回所有支持entrysh的包"
2024-07-02 20:32:00 +08:00
- in: "query"
name: "hostname"
type: string
required: true
description: "主机名不包含端口。前端应该使用location.hostname获取"
2024-07-04 16:23:02 +08:00
- in: "query"
name: "update"
type: integer
description: "如果为1则强制更新缓存"
2024-07-02 20:32:00 +08:00
responses:
"200":
description: OK
schema:
$ref: "#/definitions/ResponseStoreEntrysh"
2024-07-04 16:23:02 +08:00
"400":
description: Bad Request。hostname不合法
2024-07-02 16:21:43 +08:00
/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
2024-07-02 20:32:00 +08:00
summary: docker迁移到目标目录异步
description: 当返回code为0的时候可以使用taskd接口展示日志跟安装插件时一样
2024-07-02 16:21:43 +08:00
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"
2024-06-24 16:21:50 +08:00
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
2024-07-02 16:21:43 +08:00
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时此处返回错误日志"
2024-07-08 16:23:03 +08:00
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"
2024-07-02 20:32:00 +08:00
ResponseStoreEntrysh:
type: object
properties:
code:
type: integer
description: "为200时"
status:
2024-07-04 16:23:02 +08:00
description: "处理成功的结果集"
type: array
items:
2024-07-08 16:23:03 +08:00
$ref: "#/definitions/StoreEntrysh"
2024-07-04 16:23:02 +08:00
errors:
description: "处理失败的结果集"
type: array
items:
type: object
description: "失败信息"
properties:
app:
type: string
description: "插件名称"
code:
type: integer
description: "404或500"
msg:
type: string
description: "错误信息"
2024-07-02 16:21:43 +08:00