package work import ( "context" "tercul/internal/domain" ) // WorkRepository defines CRUD methods specific to Work. type WorkRepository interface { domain.BaseRepository[domain.Work] FindByTitle(ctx context.Context, title string) ([]domain.Work, error) FindByAuthor(ctx context.Context, authorID uint) ([]domain.Work, error) FindByCategory(ctx context.Context, categoryID uint) ([]domain.Work, error) FindByLanguage(ctx context.Context, language string, page, pageSize int) (*domain.PaginatedResult[domain.Work], error) GetWithTranslations(ctx context.Context, id uint) (*domain.Work, error) ListWithTranslations(ctx context.Context, page, pageSize int) (*domain.PaginatedResult[domain.Work], error) }