6 "github.com/gin-gonic/gin"
11 Handlers []gin.HandlerFunc
17 Middlewares []Middleware
26 {"POST", []gin.HandlerFunc{Signup}, "/signup"},
27 {"POST", []gin.HandlerFunc{Signin}, "/signin"},
28 {"POST", []gin.HandlerFunc{PasswordReset}, "/passwordreset"},
29 {"POST", []gin.HandlerFunc{ChangePassword}, "/changepassword"},
34 []Middleware{JwtAuth, UserConfirmed},
36 {"GET", []gin.HandlerFunc{OtpEnrollment}, "/enroll"},
37 {"POST", []gin.HandlerFunc{OtpValidate}, "/validate"},
42 []Middleware{JwtAuth, UserConfirmed, OtpAuth},
44 {"GET", []gin.HandlerFunc{GetMarketConfig}, "/:name"},
45 {"POST", []gin.HandlerFunc{UpdateMarketConfig}, "/:name/update"},
46 {"GET", []gin.HandlerFunc{GetMarketBalance}, "/:name/balance"},
51 func Signup(c *gin.Context) {
52 query := &SignupQuery{}
54 query.In.Email = c.PostForm("email")
55 query.In.Password = c.PostForm("password")
60 func Signin(c *gin.Context) {
61 query := &SigninQuery{}
63 query.In.Email = c.PostForm("email")
64 query.In.Password = c.PostForm("password")
69 func OtpValidate(c *gin.Context) {
70 query := &OtpValidateQuery{}
72 query.In.Pass = c.PostForm("pass")
73 query.In.User = GetUser(c)
74 query.In.Claims = GetClaims(c)
79 func OtpEnrollment(c *gin.Context) {
80 query := &OtpEnrollmentQuery{}
82 query.In.User = GetUser(c)
84 qrPng, secret, err := query.Run()
86 WriteJsonResponse(ErrorResponse(err.Code, err.UserMessage), c)
91 if c.Query("format") == "png" {
92 c.Header("X-OTP-Secret", secret)
93 WriteBinary("image/png", qrPng.Bytes(), c)
96 Base64img string `json:"base64img"`
97 OtpSecret string `json:"secret"`
99 base64.StdEncoding.EncodeToString(qrPng.Bytes()),
103 WriteJsonResponse(SuccessResponse(response), c)
108 func GetMarketConfig(c *gin.Context) {
109 query := &MarketConfigQuery{}
111 query.In.User = GetUser(c)
112 query.In.Market = c.Param("name")
117 func GetMarketBalance(c *gin.Context) {
118 query := &MarketBalanceQuery{}
120 query.In.User = GetUser(c)
121 query.In.Market = c.Param("name")
122 query.In.Currency = c.Query("currency")
127 func UpdateMarketConfig(c *gin.Context) {
128 query := &UpdateMarketConfigQuery{}
130 query.In.User = GetUser(c)
131 query.In.Market = c.Param("name")
132 query.In.Key = c.PostForm("key")
133 query.In.Secret = c.PostForm("secret")
138 func PasswordReset(c *gin.Context) {
139 query := &PasswordResetQuery{}
141 query.In.Email = c.PostForm("email")
146 func ChangePassword(c *gin.Context) {
147 query := &ChangePasswordQuery{}
149 query.In.Token = c.PostForm("token")
150 query.In.Password = c.PostForm("password")