initial commit

This commit is contained in:
ycc
2023-03-03 14:43:11 +01:00
parent 7229007847
commit 88c21d1828
142 changed files with 13975 additions and 22 deletions

54
controllers/user.go Normal file
View File

@@ -0,0 +1,54 @@
package controllers
import (
"cloud.o-forge.io/core/oc-catalog/models"
beego "github.com/beego/beego/v2/server/web"
)
type UserController struct {
beego.Controller
}
// @Title Login
// @Description Logs user into the system
// @Param username query string true "The username for login"
// @Param password query string true "The password for login"
// @Success 200 {string} login success
// @Failure 403 user not exist
// @router /login [get]
func (u *UserController) Login() {
username := u.GetString("username")
password := u.GetString("password")
if models.Login(username, password) {
token, err := CreateToken(username)
if err != nil {
u.Data["json"] = err.Error()
u.Ctx.Output.Status = 503
u.ServeJSON()
return
}
u.Ctx.SetCookie("token", token)
u.Ctx.Output.Header("Authorization", token) //FIXME: Some more generic way to use the name of the header
u.Data["json"] = "login success"
u.ServeJSON()
return
}
u.Ctx.Output.Status = 403
u.Data["json"] = "user not exist"
u.ServeJSON()
}
// @Title logout
// @Description Logs out current logged in user session
// @Success 200 {string} logout success
// // @Security mySecurityPathNameApiKey
// @router /logout [get]
func (u *UserController) Logout() {
u.Data["json"] = "logout success"
u.ServeJSON()
}