app-server: add marketplace list API

This commit is contained in:
xli-oai
2026-04-13 13:33:17 -07:00
parent 7b5e1ad3dc
commit 9f40131017
18 changed files with 782 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cursor": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0.0,
"type": [
"integer",
"null"
]
}
},
"title": "MarketplaceListParams",
"type": "object"
}

View File

@@ -0,0 +1,84 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"AbsolutePathBuf": {
"description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.",
"type": "string"
},
"MarketplaceListEntry": {
"properties": {
"lastUpdated": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"path": {
"$ref": "#/definitions/AbsolutePathBuf"
},
"refName": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"sourceType": {
"anyOf": [
{
"$ref": "#/definitions/MarketplaceSourceType"
},
{
"type": "null"
}
]
},
"sparsePaths": {
"default": [],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"path"
],
"type": "object"
},
"MarketplaceSourceType": {
"enum": [
"git"
],
"type": "string"
}
},
"properties": {
"data": {
"items": {
"$ref": "#/definitions/MarketplaceListEntry"
},
"type": "array"
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"data"
],
"title": "MarketplaceListResponse",
"type": "object"
}