package repository import ( "context" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) func (s *Store) CreateUser(ctx context.Context, firstName, lastName, email, phoneNumber, password, role string, verified bool) (domain.User, error) { user, err := s.queries.CreateUser(ctx, dbgen.CreateUserParams{ FirstName: firstName, LastName: lastName, Email: email, PhoneNumber: phoneNumber, // Password: password, Role: role, }) if err != nil { return domain.User{}, err } return domain.User{ ID: user.ID, FirstName: user.FirstName, LastName: user.LastName, Email: user.Email, PhoneNumber: user.PhoneNumber, Password: user.Password, // Role: user.Role, }, nil } func (s *Store) GetUserByID(ctx context.Context, id int64) (domain.User, error) { user, err := s.queries.GetUserByID(ctx, id) if err != nil { return domain.User{}, err } return domain.User{ ID: user.ID, FirstName: user.FirstName, LastName: user.LastName, Email: user.Email, PhoneNumber: user.PhoneNumber, Password: user.Password, // Role: user.Role, }, nil } func (s *Store) GetAllUsers(ctx context.Context) ([]domain.User, error) { users, err := s.queries.GetAllUsers(ctx) if err != nil { return nil, err } var result []domain.User for _, user := range users { result = append(result, domain.User{ ID: user.ID, FirstName: user.FirstName, LastName: user.LastName, Email: user.Email, PhoneNumber: user.PhoneNumber, Password: user.Password, // Role: user.Role, }) } return result, nil } func (s *Store) UpdateUser(ctx context.Context, id int64, firstName, lastName, email, phoneNumber, password, role string, verified bool) error { err := s.queries.UpdateUser(ctx, dbgen.UpdateUserParams{ ID: id, FirstName: firstName, LastName: lastName, Email: email, PhoneNumber: phoneNumber, // Password: password, Role: role, }) return err } func (s *Store) DeleteUser(ctx context.Context, id int64) error { return s.queries.DeleteUser(ctx, id) }