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 func Signup(c *gin.Context) {
54 query := &SignupQuery{}
56 query.In.Email = c.PostForm("email")
57 query.In.Password = c.PostForm("password")
62 func Signin(c *gin.Context) {
63 query := &SigninQuery{}
65 query.In.Email = c.PostForm("email")
66 query.In.Password = c.PostForm("password")
71 func OtpValidate(c *gin.Context) {
72 query := &OtpValidateQuery{}
74 query.In.Pass = c.PostForm("pass")
75 query.In.User = GetUser(c)
76 query.In.Claims = GetClaims(c)
81 func OtpEnrollment(c *gin.Context) {
82 query := &OtpEnrollmentQuery{}
84 query.In.User = GetUser(c)
86 qrPng, secret, err := query.Run()
88 WriteJsonResponse(ErrorResponse(err.Code, err.UserMessage), c)
93 if c.Query("format") == "png" {
94 c.Header("X-OTP-Secret", secret)
95 WriteBinary("image/png", qrPng.Bytes(), c)
98 Base64img string `json:"base64img"`
99 OtpSecret string `json:"secret"`
101 base64.StdEncoding.EncodeToString(qrPng.Bytes()),
105 WriteJsonResponse(SuccessResponse(response), c)
110 func GetMarketConfig(c *gin.Context) {
111 query := &MarketConfigQuery{}
113 query.In.User = GetUser(c)
114 query.In.Market = c.Param("name")
119 func TestMarketCredentials(c *gin.Context) {
120 query := &TestMarketCredentialsQuery{}
122 query.In.User = GetUser(c)
123 query.In.Market = c.Param("name")
128 func GetPortfolio(c *gin.Context) {
129 query := &GetPortfolioQuery{}
131 query.In.User = GetUser(c)
132 query.In.Market = c.Param("name")
137 func UpdateMarketConfig(c *gin.Context) {
138 query := &UpdateMarketConfigQuery{}
140 query.In.User = GetUser(c)
141 query.In.Market = c.Param("name")
142 query.In.Key = c.PostForm("key")
143 query.In.Secret = c.PostForm("secret")
148 func PasswordReset(c *gin.Context) {
149 query := &PasswordResetQuery{}
151 query.In.Email = c.PostForm("email")
156 func ChangePassword(c *gin.Context) {
157 query := &ChangePasswordQuery{}
159 query.In.Token = c.PostForm("token")
160 query.In.Password = c.PostForm("password")
165 func ConfirmEmail(c *gin.Context) {
166 query := &ConfirmEmailQuery{}
168 query.In.Token = c.PostForm("token")