feat: 添加媒体资源管理相关API接口及数据结构,包括列表和详情查询

This commit is contained in:
2025-12-22 17:20:13 +08:00
parent 76f639b3f3
commit bcee0e06fe
8 changed files with 665 additions and 4 deletions

View File

@@ -939,6 +939,121 @@ const docTemplate = `{
}
}
},
"/t/{tenantCode}/v1/admin/media_assets": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Tenant"
],
"summary": "媒体资源列表(租户管理)",
"parameters": [
{
"type": "string",
"description": "Tenant Code",
"name": "tenantCode",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Asc specifies comma-separated field names to sort ascending by.",
"name": "asc",
"in": "query"
},
{
"type": "string",
"description": "CreatedAtFrom filters assets by created_at \u003e= this time; optional.",
"name": "created_at_from",
"in": "query"
},
{
"type": "string",
"description": "CreatedAtTo filters assets by created_at \u003c= this time; optional.",
"name": "created_at_to",
"in": "query"
},
{
"type": "string",
"description": "Desc specifies comma-separated field names to sort descending by.",
"name": "desc",
"in": "query"
},
{
"type": "integer",
"description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"description": "Page is 1-based page index; values \u003c= 0 are normalized to 1.",
"name": "page",
"in": "query"
},
{
"enum": [
"uploaded",
"processing",
"ready",
"failed",
"deleted"
],
"type": "string",
"x-enum-varnames": [
"MediaAssetStatusUploaded",
"MediaAssetStatusProcessing",
"MediaAssetStatusReady",
"MediaAssetStatusFailed",
"MediaAssetStatusDeleted"
],
"description": "Status filters by processing status (uploaded/processing/ready/failed/deleted); optional.",
"name": "status",
"in": "query"
},
{
"enum": [
"video",
"audio",
"image"
],
"type": "string",
"x-enum-varnames": [
"MediaAssetTypeVideo",
"MediaAssetTypeAudio",
"MediaAssetTypeImage"
],
"description": "Type filters by media type (video/audio/image); optional.",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/models.MediaAsset"
}
}
}
]
}
}
}
}
},
"/t/{tenantCode}/v1/admin/media_assets/upload_init": {
"post": {
"consumes": [
@@ -979,6 +1094,45 @@ const docTemplate = `{
}
}
},
"/t/{tenantCode}/v1/admin/media_assets/{assetID}": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Tenant"
],
"summary": "媒体资源详情(租户管理)",
"parameters": [
{
"type": "string",
"description": "Tenant Code",
"name": "tenantCode",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "AssetID",
"name": "assetID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/models.MediaAsset"
}
}
}
}
},
"/t/{tenantCode}/v1/admin/media_assets/{assetID}/upload_complete": {
"post": {
"consumes": [