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:
@@ -53,9 +53,10 @@ func (s *MediaAssetTestSuite) Test_AdminUploadInit_VariantAndSource() {
|
||||
|
||||
Convey("main variant 不允许 source_asset_id", func() {
|
||||
src := int64(123)
|
||||
v := consts.MediaAssetVariantMain
|
||||
_, err := MediaAsset.AdminUploadInit(ctx, tenantID, userID, &tenant_dto.AdminMediaAssetUploadInitForm{
|
||||
Type: "video",
|
||||
Variant: "main",
|
||||
Variant: &v,
|
||||
SourceAssetID: &src,
|
||||
}, now)
|
||||
So(err, ShouldNotBeNil)
|
||||
@@ -65,9 +66,10 @@ func (s *MediaAssetTestSuite) Test_AdminUploadInit_VariantAndSource() {
|
||||
})
|
||||
|
||||
Convey("preview variant 必须带 source_asset_id", func() {
|
||||
v := consts.MediaAssetVariantPreview
|
||||
_, err := MediaAsset.AdminUploadInit(ctx, tenantID, userID, &tenant_dto.AdminMediaAssetUploadInitForm{
|
||||
Type: "video",
|
||||
Variant: "preview",
|
||||
Variant: &v,
|
||||
}, now)
|
||||
So(err, ShouldNotBeNil)
|
||||
var appErr *errorx.AppError
|
||||
@@ -94,9 +96,10 @@ func (s *MediaAssetTestSuite) Test_AdminUploadInit_VariantAndSource() {
|
||||
_, err := s.DB.ExecContext(ctx, "UPDATE media_assets SET variant = 'preview' WHERE tenant_id = $1 AND id = $2", tenantID, src.ID)
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
v := consts.MediaAssetVariantPreview
|
||||
_, err = MediaAsset.AdminUploadInit(ctx, tenantID, userID, &tenant_dto.AdminMediaAssetUploadInitForm{
|
||||
Type: "video",
|
||||
Variant: "preview",
|
||||
Variant: &v,
|
||||
SourceAssetID: &src.ID,
|
||||
}, now)
|
||||
So(err, ShouldNotBeNil)
|
||||
@@ -106,4 +109,3 @@ func (s *MediaAssetTestSuite) Test_AdminUploadInit_VariantAndSource() {
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user