feat: 添加媒体资源软删除API接口及相关文档

This commit is contained in:
2025-12-22 17:25:03 +08:00
parent bcee0e06fe
commit 70bba28492
8 changed files with 397 additions and 0 deletions

View File

@@ -159,3 +159,36 @@ func (*mediaAssetAdmin) uploadComplete(
return services.MediaAsset.AdminUploadComplete(ctx.Context(), tenant.ID, tenantUser.UserID, assetID, form, time.Now())
}
// adminDelete
//
// @Summary 删除媒体资源(租户管理,软删)
// @Tags Tenant
// @Accept json
// @Produce json
// @Param tenantCode path string true "Tenant Code"
// @Param assetID path int64 true "AssetID"
// @Success 200 {object} models.MediaAsset
//
// @Router /t/:tenantCode/v1/admin/media_assets/:assetID [delete]
// @Bind tenant local key(tenant)
// @Bind tenantUser local key(tenant_user)
// @Bind assetID path
func (*mediaAssetAdmin) adminDelete(
ctx fiber.Ctx,
tenant *models.Tenant,
tenantUser *models.TenantUser,
assetID int64,
) (*models.MediaAsset, error) {
if err := requireTenantAdmin(tenantUser); err != nil {
return nil, err
}
log.WithFields(log.Fields{
"tenant_id": tenant.ID,
"user_id": tenantUser.UserID,
"asset_id": assetID,
}).Info("tenant.admin.media_assets.delete")
return services.MediaAsset.AdminDelete(ctx.Context(), tenant.ID, tenantUser.UserID, assetID, time.Now())
}

View File

@@ -134,6 +134,13 @@ func (r *Routes) Register(router fiber.Router) {
Query[dto.MyLedgerListFilter]("filter"),
))
// Register routes for controller: mediaAssetAdmin
r.log.Debugf("Registering route: Delete /t/:tenantCode/v1/admin/media_assets/:assetID -> mediaAssetAdmin.adminDelete")
router.Delete("/t/:tenantCode/v1/admin/media_assets/:assetID"[len(r.Path()):], DataFunc3(
r.mediaAssetAdmin.adminDelete,
Local[*models.Tenant]("tenant"),
Local[*models.TenantUser]("tenant_user"),
PathParam[int64]("assetID"),
))
r.log.Debugf("Registering route: Get /t/:tenantCode/v1/admin/media_assets -> mediaAssetAdmin.adminList")
router.Get("/t/:tenantCode/v1/admin/media_assets"[len(r.Path()):], DataFunc3(
r.mediaAssetAdmin.adminList,