From b168a343be502809dab68c498544a3dc5ab3c615 Mon Sep 17 00:00:00 2001 From: AzenKain Date: Mon, 27 Apr 2026 23:41:41 +0700 Subject: [PATCH] UPDATE: Fix bug --- internal/services/authService.go | 4 ++++ pkg/database/seed.go | 20 ++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/internal/services/authService.go b/internal/services/authService.go index b2c8cff..40584d6 100644 --- a/internal/services/authService.go +++ b/internal/services/authService.go @@ -447,6 +447,10 @@ func (a *authService) SigninWithGoogle(ctx context.Context, dto *request.SigninW if err != nil { return nil, fiber.NewError(fiber.StatusInternalServerError, "Failed to update refresh token") } + err = tx.Commit(ctx) + if err != nil { + return nil, fiber.NewError(fiber.StatusInternalServerError, "Failed to commit Google signin") + } return data, nil } diff --git a/pkg/database/seed.go b/pkg/database/seed.go index 0546da5..fef00e8 100644 --- a/pkg/database/seed.go +++ b/pkg/database/seed.go @@ -32,6 +32,7 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error { } q := sqlc.New(pool) + _, err = q.GetUserByEmail(ctx, email) if err == nil { @@ -42,12 +43,20 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error { return err } + tx, err := pool.Begin(ctx) + if err != nil { + return err + } + defer tx.Rollback(ctx) + + repo := q.WithTx(tx) + hashed, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) if err != nil { return err } - user, err := q.UpsertUser(ctx, sqlc.UpsertUserParams{ + user, err := repo.UpsertUser(ctx, sqlc.UpsertUserParams{ Email: email, PasswordHash: pgtype.Text{ String: string(hashed), @@ -59,7 +68,7 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error { return err } - _, err = q.CreateUserProfile(ctx, sqlc.CreateUserProfileParams{ + _, err = repo.CreateUserProfile(ctx, sqlc.CreateUserProfileParams{ UserID: user.ID, DisplayName: pgtype.Text{ String: displayName, @@ -80,7 +89,7 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error { return err } - err = q.CreateUserRole( + err = repo.CreateUserRole( ctx, sqlc.CreateUserRoleParams{ UserID: user.ID, @@ -91,6 +100,9 @@ func SeedSuperAdmin(pool *pgxpool.Pool) error { return err } - return nil + if err := tx.Commit(ctx); err != nil { + return err + } + return nil }