package copyright import ( "context" "tercul/internal/domain" ) // CopyrightRepository defines CRUD methods specific to Copyright. type CopyrightRepository interface { domain.BaseRepository[domain.Copyright] AttachToEntity(ctx context.Context, copyrightID uint, entityID uint, entityType string) (error) DetachFromEntity(ctx context.Context, copyrightID uint, entityID uint, entityType string) (error) GetByEntity(ctx context.Context, entityID uint, entityType string) ([]domain.Copyright, error) GetEntitiesByCopyright(ctx context.Context, copyrightID uint) ([]domain.Copyrightable, error) AddTranslation(ctx context.Context, translation *domain.CopyrightTranslation) (error) GetTranslations(ctx context.Context, copyrightID uint) ([]domain.CopyrightTranslation, error) GetTranslationByLanguage(ctx context.Context, copyrightID uint, languageCode string) (*domain.CopyrightTranslation, error) }