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{TestMarketCredentials}, "/:name/test-credentials"},
47 {"GET", []gin.HandlerFunc{GetPortfolio}, "/:name/portfolio"},
52 func Signup(c *gin.Context) {
53 query := &SignupQuery{}
55 query.In.Email = c.PostForm("email")
56 query.In.Password = c.PostForm("password")
61 func Signin(c *gin.Context) {
62 query := &SigninQuery{}
64 query.In.Email = c.PostForm("email")
65 query.In.Password = c.PostForm("password")
70 func OtpValidate(c *gin.Context) {
71 query := &OtpValidateQuery{}
73 query.In.Pass = c.PostForm("pass")
74 query.In.User = GetUser(c)
75 query.In.Claims = GetClaims(c)
80 func OtpEnrollment(c *gin.Context) {
81 query := &OtpEnrollmentQuery{}
83 query.In.User = GetUser(c)
85 qrPng, secret, err := query.Run()
87 WriteJsonResponse(ErrorResponse(err.Code, err.UserMessage), c)
92 if c.Query("format") == "png" {
93 c.Header("X-OTP-Secret", secret)
94 WriteBinary("image/png", qrPng.Bytes(), c)
97 Base64img string `json:"base64img"`
98 OtpSecret string `json:"secret"`
100 base64.StdEncoding.EncodeToString(qrPng.Bytes()),
104 WriteJsonResponse(SuccessResponse(response), c)
109 func GetMarketConfig(c *gin.Context) {
110 query := &MarketConfigQuery{}
112 query.In.User = GetUser(c)
113 query.In.Market = c.Param("name")
118 func TestMarketCredentials(c *gin.Context) {
119 query := &TestMarketCredentialsQuery{}
121 query.In.User = GetUser(c)
122 query.In.Market = c.Param("name")
127 func GetPortfolio(c *gin.Context) {
128 query := &GetPortfolioQuery{}
130 query.In.User = GetUser(c)
131 query.In.Market = c.Param("name")
136 func UpdateMarketConfig(c *gin.Context) {
137 query := &UpdateMarketConfigQuery{}
139 query.In.User = GetUser(c)
140 query.In.Market = c.Param("name")
141 query.In.Key = c.PostForm("key")
142 query.In.Secret = c.PostForm("secret")
147 func PasswordReset(c *gin.Context) {
148 query := &PasswordResetQuery{}
150 query.In.Email = c.PostForm("email")
155 func ChangePassword(c *gin.Context) {
156 query := &ChangePasswordQuery{}
158 query.In.Token = c.PostForm("token")
159 query.In.Password = c.PostForm("password")