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"},
30 {"POST", []gin.HandlerFunc{ConfirmEmail}, "/confirmemail"},
35 []Middleware{JwtAuth, UserConfirmed},
37 {"GET", []gin.HandlerFunc{OtpEnrollment}, "/enroll"},
38 {"POST", []gin.HandlerFunc{OtpValidate}, "/validate"},
43 []Middleware{JwtAuth, UserConfirmed, OtpAuth},
45 {"GET", []gin.HandlerFunc{GetMarketConfig}, "/:name"},
46 {"POST", []gin.HandlerFunc{UpdateMarketConfig}, "/:name/update"},
47 {"GET", []gin.HandlerFunc{TestMarketCredentials}, "/:name/test-credentials"},
48 {"GET", []gin.HandlerFunc{GetPortfolio}, "/:name/portfolio"},
53 []Middleware{JwtAuth, UserConfirmed, OtpAuth},
55 {"GET", []gin.HandlerFunc{UserAccount}, "/account"},
60 []Middleware{JwtAuth, UserConfirmed, UserIsAdmin, OtpAuth},
65 func Signup(c *gin.Context) {
66 query := &SignupQuery{}
68 query.In.Email = c.PostForm("email")
69 query.In.Password = c.PostForm("password")
74 func Signin(c *gin.Context) {
75 query := &SigninQuery{}
77 query.In.Email = c.PostForm("email")
78 query.In.Password = c.PostForm("password")
83 func OtpValidate(c *gin.Context) {
84 query := &OtpValidateQuery{}
86 query.In.Pass = c.PostForm("pass")
87 query.In.User = GetUser(c)
88 query.In.Claims = GetClaims(c)
93 func OtpEnrollment(c *gin.Context) {
94 query := &OtpEnrollmentQuery{}
96 query.In.User = GetUser(c)
98 qrPng, secret, err := query.Run()
100 WriteJsonResponse(ErrorResponse(err.Code, err.UserMessage), c)
105 if c.Query("format") == "png" {
106 c.Header("X-OTP-Secret", secret)
107 WriteBinary("image/png", qrPng.Bytes(), c)
110 Base64img string `json:"base64img"`
111 OtpSecret string `json:"secret"`
113 base64.StdEncoding.EncodeToString(qrPng.Bytes()),
117 WriteJsonResponse(SuccessResponse(response), c)
122 func GetMarketConfig(c *gin.Context) {
123 query := &MarketConfigQuery{}
125 query.In.User = GetUser(c)
126 query.In.Market = c.Param("name")
131 func TestMarketCredentials(c *gin.Context) {
132 query := &TestMarketCredentialsQuery{}
134 query.In.User = GetUser(c)
135 query.In.Market = c.Param("name")
140 func GetPortfolio(c *gin.Context) {
141 query := &GetPortfolioQuery{}
143 query.In.User = GetUser(c)
144 query.In.Market = c.Param("name")
149 func UpdateMarketConfig(c *gin.Context) {
150 query := &UpdateMarketConfigQuery{}
152 query.In.User = GetUser(c)
153 query.In.Market = c.Param("name")
154 query.In.Key = c.PostForm("key")
155 query.In.Secret = c.PostForm("secret")
160 func PasswordReset(c *gin.Context) {
161 query := &PasswordResetQuery{}
163 query.In.Email = c.PostForm("email")
168 func ChangePassword(c *gin.Context) {
169 query := &ChangePasswordQuery{}
171 query.In.Token = c.PostForm("token")
172 query.In.Password = c.PostForm("password")
177 func ConfirmEmail(c *gin.Context) {
178 query := &ConfirmEmailQuery{}
180 query.In.Token = c.PostForm("token")
185 func UserAccount(c *gin.Context) {
186 query := &UserAccountQuery{}
188 query.In.User = GetUser(c)