feat: Introduce MediaAssetVariant for better asset management
- Added MediaAssetVariant enum with values 'main' and 'preview'. - Updated media asset service logic to utilize MediaAssetVariant for variant handling. - Refactored database models and queries to include variant and source_asset_id fields. - Enhanced validation for asset variants in upload and processing functions. - Updated Swagger documentation to reflect new variant structure and descriptions. - Implemented necessary database migrations to support the new variant constraints.
This commit is contained in:
@@ -185,6 +185,32 @@ func MediaAssetStatusItems() []requests.KV {
|
||||
return items
|
||||
}
|
||||
|
||||
// swagger:enum MediaAssetVariant
|
||||
// ENUM( main, preview )
|
||||
type MediaAssetVariant string
|
||||
|
||||
// Description returns the Chinese label for the specific enum value.
|
||||
func (t MediaAssetVariant) Description() string {
|
||||
switch t {
|
||||
case MediaAssetVariantMain:
|
||||
return "正片产物"
|
||||
case MediaAssetVariantPreview:
|
||||
return "试看产物"
|
||||
default:
|
||||
return "未知产物"
|
||||
}
|
||||
}
|
||||
|
||||
// MediaAssetVariantItems returns the KV list for FE dropdowns.
|
||||
func MediaAssetVariantItems() []requests.KV {
|
||||
values := MediaAssetVariantValues()
|
||||
items := make([]requests.KV, 0, len(values))
|
||||
for _, v := range values {
|
||||
items = append(items, requests.NewKV(string(v), v.Description()))
|
||||
}
|
||||
return items
|
||||
}
|
||||
|
||||
// contents
|
||||
|
||||
// swagger:enum ContentStatus
|
||||
|
||||
Reference in New Issue
Block a user