Refactor out c.RequireSignedIn()

This commit is contained in:
Yang Luo
2021-05-17 23:25:28 +08:00
parent 3e41ce0104
commit 947d132362
4 changed files with 32 additions and 30 deletions

View File

@ -141,17 +141,14 @@ func (c *ApiController) Logout() {
// @Success 200 {object} controllers.Response The Response object // @Success 200 {object} controllers.Response The Response object
// @router /get-account [get] // @router /get-account [get]
func (c *ApiController) GetAccount() { func (c *ApiController) GetAccount() {
var resp Response userId, ok := c.RequireSignedIn()
if !ok {
if c.GetSessionUser() == "" {
resp = Response{Status: "error", Msg: "Please sign in first", Data: c.GetSessionUser()}
c.Data["json"] = resp
c.ServeJSON()
return return
} }
username := c.GetSessionUser() var resp Response
user := object.GetUser(username)
user := object.GetUser(userId)
organization := object.GetOrganizationByUser(user) organization := object.GetOrganizationByUser(user)
resp = Response{Status: "ok", Msg: "", Data: user, Data2: organization} resp = Response{Status: "ok", Msg: "", Data: user, Data2: organization}
@ -166,17 +163,14 @@ func (c *ApiController) GetAccount() {
// @Success 200 {object} controllers.Response The Response object // @Success 200 {object} controllers.Response The Response object
// @router /upload-avatar [post] // @router /upload-avatar [post]
func (c *ApiController) UploadAvatar() { func (c *ApiController) UploadAvatar() {
var resp Response userId, ok := c.RequireSignedIn()
if !ok {
username := c.GetSessionUser()
if c.GetSessionUser() == "" {
resp = Response{Status: "error", Msg: "Please sign in first", Data: c.GetSessionUser()}
c.Data["json"] = resp
c.ServeJSON()
return return
} }
user := object.GetUser(username) var resp Response
user := object.GetUser(userId)
avatarBase64 := c.Ctx.Request.Form.Get("avatarfile") avatarBase64 := c.Ctx.Request.Form.Get("avatarfile")
index := strings.Index(avatarBase64, ",") index := strings.Index(avatarBase64, ",")

View File

@ -25,15 +25,13 @@ type LinkForm struct {
} }
func (c *ApiController) Unlink() { func (c *ApiController) Unlink() {
var resp Response userId, ok := c.RequireSignedIn()
if !ok {
if c.GetSessionUser() == "" {
resp = Response{Status: "error", Msg: "Please sign in first", Data: c.GetSessionUser()}
c.Data["json"] = resp
c.ServeJSON()
return return
} }
var resp Response
var form LinkForm var form LinkForm
err := json.Unmarshal(c.Ctx.Input.RequestBody, &form) err := json.Unmarshal(c.Ctx.Input.RequestBody, &form)
if err != nil { if err != nil {
@ -41,7 +39,6 @@ func (c *ApiController) Unlink() {
} }
providerType := form.ProviderType providerType := form.ProviderType
userId := c.GetSessionUser()
user := object.GetUser(userId) user := object.GetUser(userId)
value := object.GetUserField(user, providerType) value := object.GetUserField(user, providerType)

View File

@ -57,3 +57,14 @@ func (c *ApiController) ResponseError(error string) {
c.Data["json"] = Response{Status: "error", Msg: error} c.Data["json"] = Response{Status: "error", Msg: error}
c.ServeJSON() c.ServeJSON()
} }
func (c *ApiController) RequireSignedIn() (string, bool) {
userId := c.GetSessionUser()
if userId == "" {
resp := Response{Status: "error", Msg: "Please sign in first"}
c.Data["json"] = resp
c.ServeJSON()
return "", false
}
return userId, true
}

View File

@ -23,11 +23,11 @@ import (
) )
func (c *ApiController) SendVerificationCode() { func (c *ApiController) SendVerificationCode() {
userId := c.GetSessionUser() userId, ok := c.RequireSignedIn()
if len(userId) == 0 { if !ok {
c.ResponseError("Please sign in first")
return return
} }
user := object.GetUser(userId) user := object.GetUser(userId)
if user == nil { if user == nil {
c.ResponseError("No such user.") c.ResponseError("No such user.")
@ -77,11 +77,11 @@ func (c *ApiController) SendVerificationCode() {
} }
func (c *ApiController) ResetEmailOrPhone() { func (c *ApiController) ResetEmailOrPhone() {
userId := c.GetSessionUser() userId, ok := c.RequireSignedIn()
if len(userId) == 0 { if !ok {
c.ResponseError("Please sign in first")
return return
} }
user := object.GetUser(userId) user := object.GetUser(userId)
if user == nil { if user == nil {
c.ResponseError("No such user.") c.ResponseError("No such user.")