From 67e4be9fd511197ec6b06d54348d54e2a288ceff Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 11 Feb 2023 08:56:22 +0100 Subject: [PATCH] added user sign up process --- modules/scylladb/models.go | 16 ++++++++++++++++ modules/structs/user.go | 17 +++++++++++++++++ routers/api/v1/users/users.go | 25 ++++++++----------------- routers/router/router.go | 1 + 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/modules/scylladb/models.go b/modules/scylladb/models.go index e20f41c..1a033b3 100644 --- a/modules/scylladb/models.go +++ b/modules/scylladb/models.go @@ -40,4 +40,20 @@ var ( "created_at"}, PartKey: []string{"id"}, }) + + UserSignUpProcess = table.New(table.Metadata{ + Name: "user_sign_up_process", + Columns: []string{ + "x_token", + "email", + "user_agent", + "ip", + "email_verify_code", + "email_verified", + "last_email_resend", + "created_at", + "expires_at", + }, + PartKey: []string{"x_token"}, + }) ) diff --git a/modules/structs/user.go b/modules/structs/user.go index fc8fa1a..965f649 100644 --- a/modules/structs/user.go +++ b/modules/structs/user.go @@ -50,3 +50,20 @@ func (u *UserPublicKeys) UnmarshalUDT(name string, info gocql.TypeInfo, data []b type UsersResponse struct { Users []User } + +type UserSignUpProcess struct { + XToken string + Email string + UserAgent string + Ip string + EmailVerifyCode string + EmailVerified bool + LastEmailResend int64 + CreatedAt int64 + ExpiresAt int64 +} + +// swagger:model UserSignUpProcessesResponse +type UserSignUpProcessesResponse struct { + UserSignUpProcesses []UserSignUpProcess +} diff --git a/routers/api/v1/users/users.go b/routers/api/v1/users/users.go index 3dc7f1e..e9c7645 100644 --- a/routers/api/v1/users/users.go +++ b/routers/api/v1/users/users.go @@ -44,37 +44,28 @@ func GetAllUsers(c *fiber.Ctx) error { } func GetAllUserSignUpProcesses(c *fiber.Ctx) error { - // swagger:operation GET /users users usersGetAllUsers + // swagger:operation GET /users/usersignupprocesses users usersGetAllUserSignUpProcesses // --- - // summary: List of users + // summary: List of user sign up processes // consumes: // - application/json // produces: // - application/json // responses: // '200': - // description: List of users + // description: List of user sign up processes // schema: // "$ref": "#/definitions/UsersResponse" // '500': // description: Internal server error - var users []structs.User + var userSignUpProcesses []structs.UserSignUpProcess - q := scylladb.Session.Query(scylladb.Users.SelectAll()) + q := scylladb.Session.Query(scylladb.UserSignUpProcess.SelectAll()) - if err := q.SelectRelease(&users); err != nil { - logrus.Errorln("Failed to get users, err:", err) + if err := q.SelectRelease(&userSignUpProcesses); err != nil { + logrus.Errorln("Failed to get user sign up processes, err:", err) } - var nUsers []structs.User - - if len(users) > 0 { // remove password value from result - for _, user := range users { - user.Password = "" - nUsers = append(nUsers, user) - } - } - - return c.JSON(structs.UsersResponse{Users: nUsers}) + return c.JSON(structs.UserSignUpProcessesResponse{UserSignUpProcesses: userSignUpProcesses}) } diff --git a/routers/router/router.go b/routers/router/router.go index 738dbaf..76650c2 100644 --- a/routers/router/router.go +++ b/routers/router/router.go @@ -12,6 +12,7 @@ func SetupRoutes(app *fiber.App) { us := v1.Group("/users") us.Get("/", ApiKeyValidation, users.GetAllUsers) + us.Get("/usersignupprocesses", ApiKeyValidation, users.GetAllUserSignUpProcesses) wss := v1.Group("/wssessions") wss.Get("/", ApiKeyValidation, wssessions.GetAllWsSessions)