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