package user import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) func (s *Service) CreateUser(ctx context.Context, User domain.CreateUserReq, is_company bool) (domain.User, error) { // Create User // creator, err := s.userStore.GetUserByID(ctx, createrUserId) // if err != nil { // return domain.User{}, err // } // if creator.Role != domain.RoleAdmin { // User.BranchID = creator.BranchID // User.Role = string(domain.RoleCashier) // } else { // User.BranchID = branchId // User.Role = string(domain.RoleBranchManager) // } hashedPassword, err := hashPassword(User.Password) if err != nil { return domain.User{}, err } return s.userStore.CreateUserWithoutOtp(ctx, domain.User{ FirstName: User.FirstName, LastName: User.LastName, Email: User.Email, PhoneNumber: User.PhoneNumber, Password: hashedPassword, Role: domain.Role(User.Role), EmailVerified: true, PhoneVerified: true, Suspended: User.Suspended, CompanyID: User.CompanyID, }, is_company) } func (s *Service) DeleteUser(ctx context.Context, id int64) error { // Delete User return s.userStore.DeleteUser(ctx, id) } func (s *Service) GetAllUsers(ctx context.Context, filter domain.UserFilter) ([]domain.User, int64, error) { // Get all Users return s.userStore.GetAllUsers(ctx, filter) } func (s *Service) GetUserById(ctx context.Context, id int64) (domain.User, error) { return s.userStore.GetUserByID(ctx, id) } func (s *Service) GetCashiersByBranch(ctx context.Context, branchID int64) ([]domain.User, error) { return s.userStore.GetCashiersByBranch(ctx, branchID) } func (s *Service) GetAllCashiers(ctx context.Context, filter domain.UserFilter) ([]domain.GetCashier, int64, error){ return s.userStore.GetAllCashiers(ctx, filter) } func (s *Service) GetCashierByID(ctx context.Context, cashierID int64) (domain.GetCashier, error) { return s.userStore.GetCashierByID(ctx, cashierID) }