Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions backend/internal/models/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ type CreateUser struct {
Role *string `json:"role,omitempty" validate:"omitempty" example:"Receptionist"`
Department *string `json:"department,omitempty" validate:"omitempty" example:"Housekeeping"`
Timezone *string `json:"timezone,omitempty" validate:"omitempty,timezone" example:"America/New_York"`
PhoneNumber *string `json:"phone_number,omitempty" validate:"omitempty" example:"+11234567890"`
PrimaryEmail *string `json:"primary_email,omitempty" validate:"omitempty,email" example:"john@example.com"`
} //@name CreateUser

type CreateUserWebhook struct {
Expand Down
10 changes: 6 additions & 4 deletions backend/internal/repository/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ func NewUsersRepository(db *pgxpool.Pool) *UsersRepository {

func (r *UsersRepository) FindUser(ctx context.Context, id string) (*models.User, error) {
row := r.db.QueryRow(ctx, `
SELECT id, first_name, last_name, hotel_id, employee_id, profile_picture, role, department, timezone, created_at, updated_at FROM users where id = $1
SELECT id, first_name, last_name, hotel_id, employee_id, profile_picture, role, department, timezone, phone_number, primary_email, created_at, updated_at FROM users where id = $1
`, id)

var user models.User
err := row.Scan(&user.ID, &user.FirstName, &user.LastName, &user.HotelID, &user.EmployeeID, &user.ProfilePicture, &user.Role, &user.Department, &user.Timezone, &user.CreatedAt, &user.UpdatedAt)
err := row.Scan(&user.ID, &user.FirstName, &user.LastName, &user.HotelID, &user.EmployeeID, &user.ProfilePicture, &user.Role, &user.Department, &user.Timezone, &user.PhoneNumber, &user.PrimaryEmail, &user.CreatedAt, &user.UpdatedAt)
if err != nil {
if errors.Is(err, pgx.ErrNoRows) {
return nil, errs.ErrNotFoundInDB
Expand All @@ -41,9 +41,9 @@ func (r *UsersRepository) InsertUser(ctx context.Context, user *models.CreateUse

err := r.db.QueryRow(ctx, `
INSERT INTO public.users (
id, first_name, last_name, hotel_id, employee_id, profile_picture, role, department, timezone
id, first_name, last_name, hotel_id, employee_id, profile_picture, role, department, timezone, phone_number, primary_email
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, COALESCE($9, 'UTC')
$1, $2, $3, $4, $5, $6, $7, $8, COALESCE($9, 'UTC'), $10, $11
)
RETURNING id, created_at, updated_at
`,
Expand All @@ -56,6 +56,8 @@ func (r *UsersRepository) InsertUser(ctx context.Context, user *models.CreateUse
user.Role,
user.Department,
user.Timezone,
user.PhoneNumber,
user.PrimaryEmail,
).Scan(&createdUser.ID, &createdUser.CreatedAt, &createdUser.UpdatedAt)

if err != nil {
Expand Down
Loading