Files
halo-plugin-douban/api-docs/openapi/v3_0/doubanApi.json
T
2026-04-27 19:09:03 +08:00

1041 lines
29 KiB
JSON

{
"openapi" : "3.0.1",
"info" : {
"title" : "Halo",
"version" : "2.20.0"
},
"servers" : [ {
"url" : "http://localhost:49992",
"description" : "Generated server url"
} ],
"security" : [ {
"basicAuth" : [ ],
"bearerAuth" : [ ]
} ],
"paths" : {
"/apis/api.douban.moony.la/v1alpha1/doubanmovies" : {
"get" : {
"description" : "List doubanMovie.",
"operationId" : "listDoubanMovie",
"parameters" : [ {
"description" : "Page number. Default is 0.",
"in" : "query",
"name" : "page",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Size number. Default is 0.",
"in" : "query",
"name" : "size",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Label selector. e.g.: hidden!=true",
"in" : "query",
"name" : "labelSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Field selector. e.g.: metadata.name==halo",
"in" : "query",
"name" : "fieldSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
"in" : "query",
"name" : "sort",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "DoubanMovies filtered by keyword.",
"in" : "query",
"name" : "keyword",
"schema" : {
"type" : "string"
}
}, {
"description" : "DoubanMovies filtered by status.",
"in" : "query",
"name" : "status",
"schema" : {
"type" : "string"
}
}, {
"description" : "DoubanMovies filtered by type.",
"in" : "query",
"name" : "type",
"schema" : {
"type" : "string"
}
}, {
"description" : "DoubanMovies filtered by dataType.",
"in" : "query",
"name" : "dataType",
"schema" : {
"type" : "string"
}
}, {
"description" : "DoubanMovies filtered by genre.",
"in" : "query",
"name" : "genre",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovieList"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.douban.moony.la/v1alpha1/DoubanMovie" ]
}
},
"/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/genres" : {
"get" : {
"description" : "List all douban genres.",
"operationId" : "ListGenres",
"parameters" : [ {
"description" : "Genres type to query",
"in" : "query",
"name" : "type",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.douban.moony.la/v1alpha1/DoubanMovie" ]
}
},
"/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail" : {
"get" : {
"description" : "getDoubanDetail.",
"operationId" : "getDoubanDetail",
"parameters" : [ {
"description" : "doubanmovie url to query",
"in" : "query",
"name" : "url",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovieVo"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.douban.moony.la/v1alpha1/DoubanMovie" ]
}
},
"/apis/douban.moony.la/v1alpha1/crondoubans" : {
"get" : {
"description" : "List CronDouban",
"operationId" : "listCronDouban",
"parameters" : [ {
"description" : "Page number. Default is 0.",
"in" : "query",
"name" : "page",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Size number. Default is 0.",
"in" : "query",
"name" : "size",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Label selector. e.g.: hidden!=true",
"in" : "query",
"name" : "labelSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Field selector. e.g.: metadata.name==halo",
"in" : "query",
"name" : "fieldSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
"in" : "query",
"name" : "sort",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDoubanList"
}
}
},
"description" : "Response crondoubans"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
},
"post" : {
"description" : "Create CronDouban",
"operationId" : "createCronDouban",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Fresh crondouban"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Response crondoubans created just now"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
}
},
"/apis/douban.moony.la/v1alpha1/crondoubans/{name}" : {
"delete" : {
"description" : "Delete CronDouban",
"operationId" : "deleteCronDouban",
"parameters" : [ {
"description" : "Name of crondouban",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Response crondouban deleted just now"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
},
"get" : {
"description" : "Get CronDouban",
"operationId" : "getCronDouban",
"parameters" : [ {
"description" : "Name of crondouban",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Response single crondouban"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
},
"patch" : {
"description" : "Patch CronDouban",
"operationId" : "patchCronDouban",
"parameters" : [ {
"description" : "Name of crondouban",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json-patch+json" : {
"schema" : {
"$ref" : "#/components/schemas/JsonPatch"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Response crondouban patched just now"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
},
"put" : {
"description" : "Update CronDouban",
"operationId" : "updateCronDouban",
"parameters" : [ {
"description" : "Name of crondouban",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Updated crondouban"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronDouban"
}
}
},
"description" : "Response crondoubans updated just now"
}
},
"tags" : [ "CronDoubanV1alpha1" ]
}
},
"/apis/douban.moony.la/v1alpha1/doubanmovies" : {
"get" : {
"description" : "List DoubanMovie",
"operationId" : "listDoubanMovie_1",
"parameters" : [ {
"description" : "Page number. Default is 0.",
"in" : "query",
"name" : "page",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Size number. Default is 0.",
"in" : "query",
"name" : "size",
"schema" : {
"type" : "integer",
"format" : "int32"
}
}, {
"description" : "Label selector. e.g.: hidden!=true",
"in" : "query",
"name" : "labelSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Field selector. e.g.: metadata.name==halo",
"in" : "query",
"name" : "fieldSelector",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}, {
"description" : "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
"in" : "query",
"name" : "sort",
"schema" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovieList"
}
}
},
"description" : "Response doubanmovies"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
},
"post" : {
"description" : "Create DoubanMovie",
"operationId" : "createDoubanMovie",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Fresh doubanmovie"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Response doubanmovies created just now"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
}
},
"/apis/douban.moony.la/v1alpha1/doubanmovies/{name}" : {
"delete" : {
"description" : "Delete DoubanMovie",
"operationId" : "deleteDoubanMovie",
"parameters" : [ {
"description" : "Name of doubanmovie",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Response doubanmovie deleted just now"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
},
"get" : {
"description" : "Get DoubanMovie",
"operationId" : "getDoubanMovie",
"parameters" : [ {
"description" : "Name of doubanmovie",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Response single doubanmovie"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
},
"patch" : {
"description" : "Patch DoubanMovie",
"operationId" : "patchDoubanMovie",
"parameters" : [ {
"description" : "Name of doubanmovie",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json-patch+json" : {
"schema" : {
"$ref" : "#/components/schemas/JsonPatch"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Response doubanmovie patched just now"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
},
"put" : {
"description" : "Update DoubanMovie",
"operationId" : "updateDoubanMovie",
"parameters" : [ {
"description" : "Name of doubanmovie",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Updated doubanmovie"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
}
},
"description" : "Response doubanmovies updated just now"
}
},
"tags" : [ "DoubanMovieV1alpha1" ]
}
}
},
"components" : {
"schemas" : {
"AddOperation" : {
"required" : [ "op", "path", "value" ],
"type" : "object",
"properties" : {
"op" : {
"type" : "string",
"enum" : [ "add" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
},
"value" : {
"description" : "Value can be any JSON value"
}
}
},
"CopyOperation" : {
"required" : [ "op", "from", "path" ],
"type" : "object",
"properties" : {
"from" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
},
"op" : {
"type" : "string",
"enum" : [ "copy" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
}
}
},
"CronDouban" : {
"required" : [ "apiVersion", "kind", "metadata" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"kind" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/Spec"
},
"status" : {
"$ref" : "#/components/schemas/Status"
}
}
},
"CronDoubanList" : {
"required" : [ "first", "hasNext", "hasPrevious", "items", "last", "page", "size", "total", "totalPages" ],
"type" : "object",
"properties" : {
"first" : {
"type" : "boolean",
"description" : "Indicates whether current page is the first page."
},
"hasNext" : {
"type" : "boolean",
"description" : "Indicates whether current page has previous page."
},
"hasPrevious" : {
"type" : "boolean",
"description" : "Indicates whether current page has previous page."
},
"items" : {
"type" : "array",
"description" : "A chunk of items.",
"items" : {
"$ref" : "#/components/schemas/CronDouban"
}
},
"last" : {
"type" : "boolean",
"description" : "Indicates whether current page is the last page."
},
"page" : {
"type" : "integer",
"description" : "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
"format" : "int32"
},
"size" : {
"type" : "integer",
"description" : "Size of each page. If not set or equal to 0, it means no pagination.",
"format" : "int32"
},
"total" : {
"type" : "integer",
"description" : "Total elements.",
"format" : "int64"
},
"totalPages" : {
"type" : "integer",
"description" : "Indicates total pages.",
"format" : "int64"
}
}
},
"DoubanMovie" : {
"required" : [ "apiVersion", "faves", "kind", "metadata", "spec" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"faves" : {
"$ref" : "#/components/schemas/DoubanMovieFaves"
},
"kind" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/DoubanMovieSpec"
}
}
},
"DoubanMovieFaves" : {
"type" : "object",
"properties" : {
"createTime" : {
"type" : "string",
"format" : "date-time"
},
"remark" : {
"type" : "string"
},
"score" : {
"type" : "string"
},
"status" : {
"type" : "string"
}
}
},
"DoubanMovieList" : {
"required" : [ "first", "hasNext", "hasPrevious", "items", "last", "page", "size", "total", "totalPages" ],
"type" : "object",
"properties" : {
"first" : {
"type" : "boolean",
"description" : "Indicates whether current page is the first page."
},
"hasNext" : {
"type" : "boolean",
"description" : "Indicates whether current page has previous page."
},
"hasPrevious" : {
"type" : "boolean",
"description" : "Indicates whether current page has previous page."
},
"items" : {
"type" : "array",
"description" : "A chunk of items.",
"items" : {
"$ref" : "#/components/schemas/DoubanMovie"
}
},
"last" : {
"type" : "boolean",
"description" : "Indicates whether current page is the last page."
},
"page" : {
"type" : "integer",
"description" : "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
"format" : "int32"
},
"size" : {
"type" : "integer",
"description" : "Size of each page. If not set or equal to 0, it means no pagination.",
"format" : "int32"
},
"total" : {
"type" : "integer",
"description" : "Total elements.",
"format" : "int64"
},
"totalPages" : {
"type" : "integer",
"description" : "Indicates total pages.",
"format" : "int64"
}
}
},
"DoubanMovieSpec" : {
"type" : "object",
"properties" : {
"cardSubtitle" : {
"type" : "string"
},
"dataType" : {
"type" : "string"
},
"genres" : {
"uniqueItems" : true,
"type" : "array",
"items" : {
"type" : "string"
}
},
"id" : {
"type" : "string"
},
"link" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"poster" : {
"type" : "string"
},
"pubdate" : {
"type" : "string"
},
"score" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"year" : {
"type" : "string"
}
}
},
"DoubanMovieVo" : {
"type" : "object",
"properties" : {
"faves" : {
"$ref" : "#/components/schemas/DoubanMovieFaves"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/DoubanMovieSpec"
}
}
},
"JsonPatch" : {
"minItems" : 1,
"uniqueItems" : true,
"type" : "array",
"description" : "JSON schema for JSONPatch operations",
"items" : {
"oneOf" : [ {
"$ref" : "#/components/schemas/AddOperation"
}, {
"$ref" : "#/components/schemas/ReplaceOperation"
}, {
"$ref" : "#/components/schemas/TestOperation"
}, {
"$ref" : "#/components/schemas/RemoveOperation"
}, {
"$ref" : "#/components/schemas/MoveOperation"
}, {
"$ref" : "#/components/schemas/CopyOperation"
} ]
}
},
"Metadata" : {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"annotations" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"creationTimestamp" : {
"type" : "string",
"format" : "date-time",
"nullable" : true
},
"deletionTimestamp" : {
"type" : "string",
"format" : "date-time",
"nullable" : true
},
"finalizers" : {
"uniqueItems" : true,
"type" : "array",
"nullable" : true,
"items" : {
"type" : "string",
"nullable" : true
}
},
"generateName" : {
"type" : "string",
"description" : "The name field will be generated automatically according to the given generateName field"
},
"labels" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"name" : {
"type" : "string",
"description" : "Metadata name"
},
"version" : {
"type" : "integer",
"format" : "int64",
"nullable" : true
}
}
},
"MoveOperation" : {
"required" : [ "op", "from", "path" ],
"type" : "object",
"properties" : {
"from" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
},
"op" : {
"type" : "string",
"enum" : [ "move" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
}
}
},
"RemoveOperation" : {
"required" : [ "op", "path" ],
"type" : "object",
"properties" : {
"op" : {
"type" : "string",
"enum" : [ "remove" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
}
}
},
"ReplaceOperation" : {
"required" : [ "op", "path", "value" ],
"type" : "object",
"properties" : {
"op" : {
"type" : "string",
"enum" : [ "replace" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
},
"value" : {
"description" : "Value can be any JSON value"
}
}
},
"Spec" : {
"type" : "object",
"properties" : {
"cron" : {
"type" : "string"
},
"suspend" : {
"type" : "boolean"
},
"timezone" : {
"type" : "string"
}
}
},
"Status" : {
"type" : "object",
"properties" : {
"lastScheduledTimestamp" : {
"type" : "string",
"format" : "date-time"
},
"nextSchedulingTimestamp" : {
"type" : "string",
"format" : "date-time"
}
}
},
"TestOperation" : {
"required" : [ "op", "path", "value" ],
"type" : "object",
"properties" : {
"op" : {
"type" : "string",
"enum" : [ "test" ]
},
"path" : {
"pattern" : "^(/[^/~]*(~[01][^/~]*)*)*$",
"type" : "string",
"description" : "A JSON Pointer path pointing to the location to move/copy from.",
"example" : "/a/b/c"
},
"value" : {
"description" : "Value can be any JSON value"
}
}
}
},
"securitySchemes" : {
"basicAuth" : {
"scheme" : "basic",
"type" : "http"
},
"bearerAuth" : {
"bearerFormat" : "JWT",
"scheme" : "bearer",
"type" : "http"
}
}
}
}