mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
Update openapi spec
This commit is contained in:
405
api.yml
405
api.yml
@@ -216,6 +216,25 @@ components:
|
|||||||
type: boolean
|
type: boolean
|
||||||
description: True if some modification of configuration only works after server restart
|
description: True if some modification of configuration only works after server restart
|
||||||
required: [is_unsafe]
|
required: [is_unsafe]
|
||||||
|
EhFile:
|
||||||
|
description: Full data for File
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EhFileExtend'
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
description: Path to image file on server
|
||||||
|
required: [path]
|
||||||
|
EhFileApiResult:
|
||||||
|
description: Api response for uploadFile
|
||||||
|
allOf:
|
||||||
|
- $ref: "#/components/schemas/ApiResponse"
|
||||||
|
- type: object
|
||||||
|
required: [data]
|
||||||
|
properties:
|
||||||
|
data:
|
||||||
|
$ref: "#/components/schemas/EhFile"
|
||||||
EhFileBasic:
|
EhFileBasic:
|
||||||
description: Basic data for file
|
description: Basic data for file
|
||||||
type: object
|
type: object
|
||||||
@@ -252,6 +271,34 @@ components:
|
|||||||
properties:
|
properties:
|
||||||
data:
|
data:
|
||||||
$ref: "#/components/schemas/EhFileExtend"
|
$ref: "#/components/schemas/EhFileExtend"
|
||||||
|
EhFileMeta:
|
||||||
|
description: Metadata for a image
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EhFileMetaOptinal'
|
||||||
|
- required: [token, is_nsfw, is_ad]
|
||||||
|
EhFileMetaApiResult:
|
||||||
|
description: Api response for getFilemeta
|
||||||
|
allOf:
|
||||||
|
- $ref: "#/components/schemas/ApiResponse"
|
||||||
|
- type: object
|
||||||
|
required: [data]
|
||||||
|
properties:
|
||||||
|
data:
|
||||||
|
$ref: "#/components/schemas/EhFileMeta"
|
||||||
|
EhFileMetaOptinal:
|
||||||
|
description: Metadata for a image
|
||||||
|
type: object
|
||||||
|
required: [token]
|
||||||
|
properties:
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
EhFiles:
|
EhFiles:
|
||||||
description: List of files for tokens
|
description: List of files for tokens
|
||||||
type: object
|
type: object
|
||||||
@@ -1136,6 +1183,7 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
format: int64
|
format: int64
|
||||||
default: null
|
default: null
|
||||||
|
explode: false
|
||||||
- name: meili_query
|
- name: meili_query
|
||||||
in: query
|
in: query
|
||||||
description: Query used to search via meilisearch.
|
description: Query used to search via meilisearch.
|
||||||
@@ -1188,6 +1236,363 @@ paths:
|
|||||||
content:
|
content:
|
||||||
text/plain:
|
text/plain:
|
||||||
example: File not found.
|
example: File not found.
|
||||||
|
/file/upload:
|
||||||
|
post:
|
||||||
|
operationId: uploadFile
|
||||||
|
summary: Upload image file
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
multipart/form-data:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required: [file, token]
|
||||||
|
properties:
|
||||||
|
file:
|
||||||
|
type: string
|
||||||
|
format: binary
|
||||||
|
description: Image file to upload
|
||||||
|
filename:
|
||||||
|
type: string
|
||||||
|
description: File name of image
|
||||||
|
default: ''
|
||||||
|
dir:
|
||||||
|
type: string
|
||||||
|
description: The directory to store image
|
||||||
|
default: ''
|
||||||
|
is_original:
|
||||||
|
type: boolean
|
||||||
|
description: True if the image is original
|
||||||
|
default: false
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image Token
|
||||||
|
default: ''
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/EhFileApiResult"
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 4, "error": "Failed to get file size." }
|
||||||
|
"401":
|
||||||
|
description: Authorization information is missing or invalid
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example: { "ok": false, "status": 401, "error": "Unauthorized" }
|
||||||
|
"403":
|
||||||
|
description: Permission denied
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 403, "error": "Permission denied." }
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 500, "error": "Internal Server Error." }
|
||||||
|
/filemeta:
|
||||||
|
get:
|
||||||
|
operationId: getFilemeta
|
||||||
|
summary: Get metadata for images
|
||||||
|
parameters:
|
||||||
|
- name: token
|
||||||
|
in: query
|
||||||
|
description: Image(page) token
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/EhFileMetaApiResult"
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 400, "error": "token is needed." }
|
||||||
|
"401":
|
||||||
|
description: Authorization information is missing or invalid
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example: { "ok": false, "status": 401, "error": "Unauthorized" }
|
||||||
|
"403":
|
||||||
|
description: Permission denied
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 403, "error": "Permission denied." }
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 404, "error": "file not found." }
|
||||||
|
post:
|
||||||
|
operationId: updateFilemeta
|
||||||
|
summary: Update metadata for images
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
oneOf:
|
||||||
|
- type: object
|
||||||
|
required: [token]
|
||||||
|
properties:
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: object
|
||||||
|
required: [gid]
|
||||||
|
properties:
|
||||||
|
gid:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Gallery id
|
||||||
|
excludes:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of excluded image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: object
|
||||||
|
required: [tokens]
|
||||||
|
properties:
|
||||||
|
tokens:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/EhFileMetaOptinal'
|
||||||
|
description: List of images
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image(page) token
|
||||||
|
default: ''
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
default: null
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
default: null
|
||||||
|
gid:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Gallery id, only works when token is empty.
|
||||||
|
default: ''
|
||||||
|
excludes:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of excluded image(page) token, only works when gid is not empty.
|
||||||
|
default: []
|
||||||
|
tokens:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of image(page) tokens, only works when token and gid is empty.
|
||||||
|
default: []
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseEmpty"
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 2, "error": "Invaild JSON file." }
|
||||||
|
"401":
|
||||||
|
description: Authorization information is missing or invalid
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example: { "ok": false, "status": 401, "error": "Unauthorized" }
|
||||||
|
"403":
|
||||||
|
description: Permission denied
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 403, "error": "Permission denied." }
|
||||||
|
put:
|
||||||
|
operationId: setFilemeta
|
||||||
|
summary: Set metadata for images
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
oneOf:
|
||||||
|
- type: object
|
||||||
|
required: [token, is_nsfw, is_ad]
|
||||||
|
properties:
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: object
|
||||||
|
required: [gid, is_nsfw, is_ad]
|
||||||
|
properties:
|
||||||
|
gid:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Gallery id
|
||||||
|
excludes:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of excluded image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: object
|
||||||
|
required: [tokens, is_nsfw, is_ad]
|
||||||
|
properties:
|
||||||
|
tokens:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of image(page) token
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
- type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/EhFileMeta'
|
||||||
|
description: List of images
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required: [is_nsfw, is_ad]
|
||||||
|
properties:
|
||||||
|
token:
|
||||||
|
type: string
|
||||||
|
description: Image(page) token
|
||||||
|
default: ''
|
||||||
|
is_nsfw:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is NSFW
|
||||||
|
default: null
|
||||||
|
is_ad:
|
||||||
|
type: boolean
|
||||||
|
description: True if image is advertisement
|
||||||
|
default: null
|
||||||
|
gid:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: Gallery id, only works when token is empty.
|
||||||
|
default: ''
|
||||||
|
excludes:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of excluded image(page) token, only works when gid is not empty.
|
||||||
|
default: []
|
||||||
|
tokens:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: List of image(page) tokens, only works when token and gid is empty.
|
||||||
|
default: []
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseEmpty"
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 2, "error": "Invaild JSON file." }
|
||||||
|
"401":
|
||||||
|
description: Authorization information is missing or invalid
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example: { "ok": false, "status": 401, "error": "Unauthorized" }
|
||||||
|
"403":
|
||||||
|
description: Permission denied
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ApiResponseError"
|
||||||
|
example:
|
||||||
|
{ "ok": false, "status": 403, "error": "Permission denied." }
|
||||||
/files/{token}:
|
/files/{token}:
|
||||||
parameters:
|
parameters:
|
||||||
- name: token
|
- name: token
|
||||||
|
|||||||
Reference in New Issue
Block a user