package usecase import ( "context" "haixun-backend/internal/model/brand/domain/entity" ) type BrandSummary struct { ID string DisplayName string SeedQuery string Brief string ProductBrief string ProductContext string TargetAudience string Goals string ResearchMap entity.ResearchMap CreateAt int64 UpdateAt int64 } type CreateRequest struct { TenantID string OwnerUID string DisplayName string SeedQuery string Brief string ProductContext string ProductBrief string TargetAudience string Goals string ResearchMap *entity.ResearchMap } type UpdateRequest struct { TenantID string OwnerUID string BrandID string Patch BrandPatch } type BrandPatch struct { DisplayName *string SeedQuery *string Brief *string ProductBrief *string ProductContext *string TargetAudience *string Goals *string ResearchMap *entity.ResearchMap } type ListResult struct { List []BrandSummary } type UseCase interface { List(ctx context.Context, tenantID, ownerUID string) (*ListResult, error) Create(ctx context.Context, req CreateRequest) (*BrandSummary, error) Get(ctx context.Context, tenantID, ownerUID, brandID string) (*BrandSummary, error) Update(ctx context.Context, req UpdateRequest) (*BrandSummary, error) Delete(ctx context.Context, tenantID, ownerUID, brandID string) error }