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 func Signup(c *gin.Context) {
61 query := &SignupQuery{}
63 query.In.Email = c.PostForm("email")
64 query.In.Password = c.PostForm("password")
69 func Signin(c *gin.Context) {
70 query := &SigninQuery{}
72 query.In.Email = c.PostForm("email")
73 query.In.Password = c.PostForm("password")
78 func OtpValidate(c *gin.Context) {
79 query := &OtpValidateQuery{}
81 query.In.Pass = c.PostForm("pass")
82 query.In.User = GetUser(c)
83 query.In.Claims = GetClaims(c)
88 func OtpEnrollment(c *gin.Context) {
89 query := &OtpEnrollmentQuery{}
91 query.In.User = GetUser(c)
93 qrPng, secret, err := query.Run()
95 WriteJsonResponse(ErrorResponse(err.Code, err.UserMessage), c)
100 if c.Query("format") == "png" {
101 c.Header("X-OTP-Secret", secret)
102 WriteBinary("image/png", qrPng.Bytes(), c)
105 Base64img string `json:"base64img"`
106 OtpSecret string `json:"secret"`
108 base64.StdEncoding.EncodeToString(qrPng.Bytes()),
112 WriteJsonResponse(SuccessResponse(response), c)
117 func GetMarketConfig(c *gin.Context) {
118 query := &MarketConfigQuery{}
120 query.In.User = GetUser(c)
121 query.In.Market = c.Param("name")
126 func TestMarketCredentials(c *gin.Context) {
127 query := &TestMarketCredentialsQuery{}
129 query.In.User = GetUser(c)
130 query.In.Market = c.Param("name")
135 func GetPortfolio(c *gin.Context) {
136 query := &GetPortfolioQuery{}
138 query.In.User = GetUser(c)
139 query.In.Market = c.Param("name")
144 func UpdateMarketConfig(c *gin.Context) {
145 query := &UpdateMarketConfigQuery{}
147 query.In.User = GetUser(c)
148 query.In.Market = c.Param("name")
149 query.In.Key = c.PostForm("key")
150 query.In.Secret = c.PostForm("secret")
155 func PasswordReset(c *gin.Context) {
156 query := &PasswordResetQuery{}
158 query.In.Email = c.PostForm("email")
163 func ChangePassword(c *gin.Context) {
164 query := &ChangePasswordQuery{}
166 query.In.Token = c.PostForm("token")
167 query.In.Password = c.PostForm("password")
172 func ConfirmEmail(c *gin.Context) {
173 query := &ConfirmEmailQuery{}
175 query.In.Token = c.PostForm("token")
180 func UserAccount(c *gin.Context) {
181 query := &UserAccountQuery{}
183 query.In.User = GetUser(c)