From 751bbea51cd1bc7ce65053303cc66caa684ff120 Mon Sep 17 00:00:00 2001 From: yanghao05 Date: Tue, 29 Apr 2025 20:44:28 +0800 Subject: [PATCH] feat: update --- backend/app/http/auth.go | 7 ++----- backend/app/models/users.go | 15 ++++++++------- backend/app/models/users_test.go | 4 ++-- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/backend/app/http/auth.go b/backend/app/http/auth.go index 4a26652..8ec7d66 100644 --- a/backend/app/http/auth.go +++ b/backend/app/http/auth.go @@ -61,13 +61,10 @@ func (ctl *auth) Login(ctx fiber.Ctx, code, state, redirect string) error { Username: fmt.Sprintf("u_%s", gonanoid.MustGenerate(salt, 8)), Avatar: nil, } - if err := models.Users.Create(ctx.Context(), model); err != nil { - return errors.Wrap(err, "failed to create user") - } - user, err = models.Users.GetUserByOpenID(ctx.Context(), token.Openid) + user, err = models.Users.Create(ctx.Context(), model) if err != nil { - return errors.Wrap(err, "failed to get user") + return errors.Wrap(err, "failed to create user") } } else { return errors.Wrap(err, "failed to get user") diff --git a/backend/app/models/users.go b/backend/app/models/users.go index 198cc51..e51347e 100644 --- a/backend/app/models/users.go +++ b/backend/app/models/users.go @@ -135,20 +135,21 @@ func (m *usersModel) List(ctx context.Context, pagination *requests.Pagination, } // Create creates a new user -func (m *usersModel) Create(ctx context.Context, model *model.Users) error { - model.CreatedAt = time.Now() - model.UpdatedAt = time.Now() +func (m *usersModel) Create(ctx context.Context, userModel *model.Users) (*model.Users, error) { + userModel.CreatedAt = time.Now() + userModel.UpdatedAt = time.Now() tbl := table.Users - stmt := tbl.INSERT(tbl.MutableColumns).MODEL(model) + stmt := tbl.INSERT(tbl.MutableColumns).MODEL(userModel).RETURNING(tbl.AllColumns) m.log.Infof("sql: %s", stmt.DebugSql()) - _, err := stmt.ExecContext(ctx, db) + var createdUser model.Users + err := stmt.QueryContext(ctx, db, &createdUser) if err != nil { m.log.Errorf("error creating user: %v", err) - return err + return nil, err } - return nil + return &createdUser, nil } // Update updates an existing user diff --git a/backend/app/models/users_test.go b/backend/app/models/users_test.go index 86e503a..3cf4c57 100644 --- a/backend/app/models/users_test.go +++ b/backend/app/models/users_test.go @@ -56,9 +56,9 @@ func (s *UsersTestSuite) Test_BatchInsert() { Username: "Username_" + openID, Avatar: lo.ToPtr("Avatar_" + openID), } - err = Users.Create(context.Background(), user) + m, err := Users.Create(context.Background(), user) So(err, ShouldBeNil) - + So(m, ShouldNotBeNil) } }) }