package verifycode import ( "jannex/telegram-bot-manager/modules/cache" "jannex/telegram-bot-manager/modules/logger" "jannex/telegram-bot-manager/modules/structs" "jannex/telegram-bot-manager/modules/utils" "time" "git.ex.umbach.dev/Alex/roese-utils/rslogger" "git.ex.umbach.dev/Alex/roese-utils/rsutils" "github.com/gofiber/fiber/v2" ) func GetVerifyCode(c *fiber.Ctx) error { // swagger:operation GET /v1/verifycode/{userId} verifycode getVerifyCode // --- // summary: Get verify code for user // consumes: // - application/json // produces: // - application/json // parameters: // - name: userId // in: params // description: User ID // required: true // type: string // responses: // '200': // description: OK // schema: // "$ref": "#/definitions/VerifyCodeResponse" // '400': // description: Bad request // '500': // description: Internal server error var params structs.UserIdParam if err := rsutils.ParamsParserHelper(c, ¶ms); err != nil { return c.SendStatus(fiber.StatusBadRequest) } code, err := rsutils.GenerateCode(6) if err != nil { return c.SendStatus(fiber.StatusInternalServerError) } cache.AddTempVerifyCode(structs.TempVerifyCode{ UserId: params.UserId, Code: code, ExpiredAt: time.Now().Add(utils.TempVerifyCodeExpirationTime), }) logger.AddSystemLog(rslogger.LogTypeInfo, "Generated verify code for user %s", params.UserId) return c.JSON(structs.VerifyCodeResponse{Code: code}) }