package processor import ( "apskel-pos-be/internal/entities" "context" "github.com/google/uuid" ) type UserRepository interface { Create(ctx context.Context, user *entities.User) error GetByID(ctx context.Context, id uuid.UUID) (*entities.User, error) GetByEmail(ctx context.Context, email string) (*entities.User, error) GetByOrganizationID(ctx context.Context, organizationID uuid.UUID) ([]*entities.User, error) GetByRole(ctx context.Context, role entities.UserRole) ([]*entities.User, error) GetActiveUsers(ctx context.Context, organizationID uuid.UUID) ([]*entities.User, error) Update(ctx context.Context, user *entities.User) error Delete(ctx context.Context, id uuid.UUID) error UpdatePassword(ctx context.Context, id uuid.UUID, passwordHash string) error UpdateActiveStatus(ctx context.Context, id uuid.UUID, isActive bool) error List(ctx context.Context, filters map[string]interface{}, limit, offset int) ([]*entities.User, int64, error) Count(ctx context.Context, filters map[string]interface{}) (int64, error) }