{ "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" } } } }