Files
halo-plugin-friends/api-docs/openapi/v3_0/pluginFriendsApi.json
T
2026-03-15 23:33:02 +08:00

1520 lines
42 KiB
JSON

{
"openapi" : "3.0.1",
"info" : {
"title" : "Halo",
"version" : "2.20.11"
},
"servers" : [ {
"url" : "http://localhost:65429",
"description" : "Generated server url"
} ],
"security" : [ {
"basicAuth" : [ ],
"bearerAuth" : [ ]
} ],
"paths" : {
"/apis/api.friend.moony.la/v1alpha1/friendposts" : {
"get" : {
"description" : "List friendPost.",
"operationId" : "ListFriendPosts",
"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" : "CronFriendPost filtered by linkName.",
"in" : "query",
"name" : "linkName",
"schema" : {
"type" : "string"
}
}, {
"description" : "CronFriendPost filtered by keyword.",
"in" : "query",
"name" : "keyword",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPostList"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.friend.moony.la/v1alpha1/FriendPost" ]
}
},
"/apis/api.friend.moony.la/v1alpha1/friendposts/-/delete" : {
"delete" : {
"description" : "Delete All RssFeedSyncLog.",
"operationId" : "DeleteAllRssFeedSyncLog",
"responses" : {
"default" : {
"content" : { },
"description" : "default response"
}
},
"tags" : [ "api.friend.moony.la/v1alpha1/FriendPost" ]
}
},
"/apis/api.friend.moony.la/v1alpha1/parsingrss" : {
"get" : {
"operationId" : "ParsingRss",
"parameters" : [ {
"in" : "query",
"name" : "rssUrl",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"in" : "query",
"name" : "fetchLimitNumber",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssDetail"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.friend.moony.la/v1alpha1/FriendPost" ]
}
},
"/apis/api.friend.moony.la/v1alpha1/rsssynclogs" : {
"get" : {
"description" : "List RssSyncLog.",
"operationId" : "ListRssSyncLogs",
"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"
}
}
}, {
"in" : "query",
"name" : "keyword",
"schema" : {
"type" : "string"
}
}, {
"in" : "query",
"name" : "state",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/ListedRssSyncLogList"
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.friend.moony.la/v1alpha1/FriendPost" ]
}
},
"/apis/api.friend.moony.la/v1alpha1/syncrssfeed/{name}" : {
"post" : {
"operationId" : "SyncRssFeed",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : { },
"description" : "default response"
}
},
"tags" : [ "api.friend.moony.la/v1alpha1/FriendPost" ]
}
},
"/apis/friend.moony.la/v1alpha1/cronfriendposts" : {
"get" : {
"description" : "List CronFriendPost",
"operationId" : "listCronFriendPost",
"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/CronFriendPostList"
}
}
},
"description" : "Response cronfriendposts"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
},
"post" : {
"description" : "Create CronFriendPost",
"operationId" : "createCronFriendPost",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronFriendPost"
}
}
},
"description" : "Fresh cronfriendpost"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronFriendPost"
}
}
},
"description" : "Response cronfriendposts created just now"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
}
},
"/apis/friend.moony.la/v1alpha1/cronfriendposts/{name}" : {
"delete" : {
"description" : "Delete CronFriendPost",
"operationId" : "deleteCronFriendPost",
"parameters" : [ {
"description" : "Name of cronfriendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Response cronfriendpost deleted just now"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
},
"get" : {
"description" : "Get CronFriendPost",
"operationId" : "getCronFriendPost",
"parameters" : [ {
"description" : "Name of cronfriendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronFriendPost"
}
}
},
"description" : "Response single cronfriendpost"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
},
"patch" : {
"description" : "Patch CronFriendPost",
"operationId" : "patchCronFriendPost",
"parameters" : [ {
"description" : "Name of cronfriendpost",
"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/CronFriendPost"
}
}
},
"description" : "Response cronfriendpost patched just now"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
},
"put" : {
"description" : "Update CronFriendPost",
"operationId" : "updateCronFriendPost",
"parameters" : [ {
"description" : "Name of cronfriendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronFriendPost"
}
}
},
"description" : "Updated cronfriendpost"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/CronFriendPost"
}
}
},
"description" : "Response cronfriendposts updated just now"
}
},
"tags" : [ "CronFriendPostV1alpha1" ]
}
},
"/apis/friend.moony.la/v1alpha1/friendposts" : {
"get" : {
"description" : "List FriendPost",
"operationId" : "listFriendPost",
"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/FriendPostList"
}
}
},
"description" : "Response friendposts"
}
},
"tags" : [ "FriendPostV1alpha1" ]
},
"post" : {
"description" : "Create FriendPost",
"operationId" : "createFriendPost",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPost"
}
}
},
"description" : "Fresh friendpost"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPost"
}
}
},
"description" : "Response friendposts created just now"
}
},
"tags" : [ "FriendPostV1alpha1" ]
}
},
"/apis/friend.moony.la/v1alpha1/friendposts/{name}" : {
"delete" : {
"description" : "Delete FriendPost",
"operationId" : "deleteFriendPost",
"parameters" : [ {
"description" : "Name of friendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Response friendpost deleted just now"
}
},
"tags" : [ "FriendPostV1alpha1" ]
},
"get" : {
"description" : "Get FriendPost",
"operationId" : "getFriendPost",
"parameters" : [ {
"description" : "Name of friendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPost"
}
}
},
"description" : "Response single friendpost"
}
},
"tags" : [ "FriendPostV1alpha1" ]
},
"patch" : {
"description" : "Patch FriendPost",
"operationId" : "patchFriendPost",
"parameters" : [ {
"description" : "Name of friendpost",
"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/FriendPost"
}
}
},
"description" : "Response friendpost patched just now"
}
},
"tags" : [ "FriendPostV1alpha1" ]
},
"put" : {
"description" : "Update FriendPost",
"operationId" : "updateFriendPost",
"parameters" : [ {
"description" : "Name of friendpost",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPost"
}
}
},
"description" : "Updated friendpost"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/FriendPost"
}
}
},
"description" : "Response friendposts updated just now"
}
},
"tags" : [ "FriendPostV1alpha1" ]
}
},
"/apis/friend.moony.la/v1alpha1/rssfeedsynclogs" : {
"get" : {
"description" : "List RssFeedSyncLog",
"operationId" : "listRssFeedSyncLog",
"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/RssFeedSyncLogList"
}
}
},
"description" : "Response rssfeedsynclogs"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
},
"post" : {
"description" : "Create RssFeedSyncLog",
"operationId" : "createRssFeedSyncLog",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
}
},
"description" : "Fresh rssfeedsynclog"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
}
},
"description" : "Response rssfeedsynclogs created just now"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
}
},
"/apis/friend.moony.la/v1alpha1/rssfeedsynclogs/{name}" : {
"delete" : {
"description" : "Delete RssFeedSyncLog",
"operationId" : "deleteRssFeedSyncLog",
"parameters" : [ {
"description" : "Name of rssfeedsynclog",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"description" : "Response rssfeedsynclog deleted just now"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
},
"get" : {
"description" : "Get RssFeedSyncLog",
"operationId" : "getRssFeedSyncLog",
"parameters" : [ {
"description" : "Name of rssfeedsynclog",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
}
},
"description" : "Response single rssfeedsynclog"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
},
"patch" : {
"description" : "Patch RssFeedSyncLog",
"operationId" : "patchRssFeedSyncLog",
"parameters" : [ {
"description" : "Name of rssfeedsynclog",
"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/RssFeedSyncLog"
}
}
},
"description" : "Response rssfeedsynclog patched just now"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
},
"put" : {
"description" : "Update RssFeedSyncLog",
"operationId" : "updateRssFeedSyncLog",
"parameters" : [ {
"description" : "Name of rssfeedsynclog",
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
}
},
"description" : "Updated rssfeedsynclog"
},
"responses" : {
"200" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
}
},
"description" : "Response rssfeedsynclogs updated just now"
}
},
"tags" : [ "RssFeedSyncLogV1alpha1" ]
}
}
},
"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"
}
}
},
"Channel" : {
"type" : "object",
"properties" : {
"description" : {
"type" : "string"
},
"items" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/Item"
}
},
"link" : {
"type" : "string"
},
"title" : {
"type" : "string"
}
}
},
"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"
}
}
},
"CronFriendPost" : {
"required" : [ "apiVersion", "kind", "metadata" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"kind" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/CronSpec"
},
"status" : {
"$ref" : "#/components/schemas/CronStatus"
}
}
},
"CronFriendPostList" : {
"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/CronFriendPost"
}
},
"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"
}
}
},
"CronSpec" : {
"type" : "object",
"properties" : {
"cron" : {
"type" : "string"
},
"disableSyncList" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"successfulRetainLimit" : {
"minimum" : 0,
"type" : "integer",
"format" : "int32"
},
"suspend" : {
"type" : "boolean"
},
"timezone" : {
"type" : "string"
}
}
},
"CronStatus" : {
"type" : "object",
"properties" : {
"lastScheduledTimestamp" : {
"type" : "string",
"format" : "date-time"
},
"nextSchedulingTimestamp" : {
"type" : "string",
"format" : "date-time"
}
}
},
"FriendPost" : {
"required" : [ "apiVersion", "kind", "metadata", "spec" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"kind" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/FriendPostSpec"
}
}
},
"FriendPostList" : {
"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/FriendPost"
}
},
"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"
}
}
},
"FriendPostSpec" : {
"type" : "object",
"properties" : {
"author" : {
"type" : "string"
},
"authorUrl" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"linkName" : {
"type" : "string"
},
"logo" : {
"type" : "string"
},
"postLink" : {
"type" : "string"
},
"pubDate" : {
"type" : "string",
"format" : "date-time"
},
"title" : {
"type" : "string"
}
}
},
"Item" : {
"type" : "object",
"properties" : {
"author" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"link" : {
"type" : "string"
},
"pubDate" : {
"type" : "string",
"format" : "date-time"
},
"title" : {
"type" : "string"
},
"uri" : {
"type" : "string"
}
}
},
"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"
} ]
}
},
"Link" : {
"required" : [ "apiVersion", "kind", "metadata" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"kind" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"spec" : {
"$ref" : "#/components/schemas/LinkSpec"
}
}
},
"LinkSpec" : {
"required" : [ "displayName", "url" ],
"type" : "object",
"properties" : {
"description" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"groupName" : {
"type" : "string"
},
"logo" : {
"type" : "string"
},
"priority" : {
"type" : "integer",
"format" : "int32"
},
"url" : {
"type" : "string"
}
}
},
"ListedRssSyncLog" : {
"required" : [ "link" ],
"type" : "object",
"properties" : {
"link" : {
"$ref" : "#/components/schemas/Link"
},
"log" : {
"$ref" : "#/components/schemas/RssFeedSyncLog"
}
},
"description" : "A chunk of items."
},
"ListedRssSyncLogList" : {
"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/ListedRssSyncLog"
}
},
"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"
}
}
},
"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"
}
}
},
"RssDetail" : {
"type" : "object",
"properties" : {
"channel" : {
"$ref" : "#/components/schemas/Channel"
}
}
},
"RssFeedSyncLog" : {
"required" : [ "apiVersion", "kind", "linkName", "metadata", "state", "syncTime" ],
"type" : "object",
"properties" : {
"apiVersion" : {
"type" : "string"
},
"failureMessage" : {
"type" : "string"
},
"failureReason" : {
"type" : "string"
},
"kind" : {
"type" : "string"
},
"linkName" : {
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/Metadata"
},
"state" : {
"type" : "string",
"default" : "nolink",
"enum" : [ "success", "failed", "onwait", "nolink" ]
},
"syncTime" : {
"type" : "string",
"format" : "date-time"
}
}
},
"RssFeedSyncLogList" : {
"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/RssFeedSyncLog"
}
},
"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"
}
}
},
"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"
}
}
}
}