package user
import (
"context"
"gitea.dwysokinski.me/zdam-egzamin-zawodowy/backend/internal/model"
)
type Usecase interface {
Store(ctx context.Context, input *model.UserInput) (*model.User, error)
UpdateOneByID(ctx context.Context, id int, input *model.UserInput) (*model.User, error)
UpdateMany(ctx context.Context, f *model.UserFilter, input *model.UserInput) ([]*model.User, error)
Delete(ctx context.Context, f *model.UserFilter) ([]*model.User, error)
Fetch(ctx context.Context, cfg *FetchConfig) ([]*model.User, int, error)
GetByID(ctx context.Context, id int) (*model.User, error)
GetByCredentials(ctx context.Context, email, password string) (*model.User, error)
}