multi login
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
||||
|
||||
type LoginService interface {
|
||||
Login(username string, password string) (models.ResponseApi, error)
|
||||
SignIn(username string, password string) (models.ResponseValid, models.ResponseInvalid, error)
|
||||
MultiSignIn(username string, password string) (models.Response, error)
|
||||
}
|
||||
|
||||
func NewLoginHandler(us LoginService) *LoginHandler {
|
||||
@@ -102,7 +102,7 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
defer logger.Sync()
|
||||
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
|
||||
|
||||
valid, invalid, err := lh.LoginService.SignIn(username, password)
|
||||
resp, err := lh.LoginService.MultiSignIn(username, password)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Error(err))
|
||||
@@ -110,18 +110,18 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
|
||||
return utils.View(c, si)
|
||||
}
|
||||
if invalid.Status == "ERR" {
|
||||
if resp.Status == "ERR" {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Error(err))
|
||||
logger.Info("Error", zap.Any("ERR", resp.Status))
|
||||
|
||||
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
|
||||
return utils.View(c, si)
|
||||
}
|
||||
defer logger.Sync()
|
||||
logger.Info("valid", zap.Any("value", valid))
|
||||
logger.Info("valid", zap.Any("value", resp))
|
||||
|
||||
var url string
|
||||
switch valid.Data.Type {
|
||||
switch resp.Data.Type {
|
||||
case "cpone":
|
||||
url = "/one-ui"
|
||||
case "pic":
|
||||
@@ -132,7 +132,7 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
url = "/one-ui"
|
||||
}
|
||||
|
||||
user, err := json.Marshal(valid.Data.User)
|
||||
user, err := json.Marshal(resp.Data.User)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Error(err))
|
||||
@@ -145,7 +145,7 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
store := `
|
||||
<script>
|
||||
console.log("store token");
|
||||
const token = "` + valid.Data.Token + `";
|
||||
const token = "` + resp.Data.Token + `";
|
||||
const user = JSON.stringify(` + userString + `);
|
||||
localStorage.setItem("token", token);
|
||||
localStorage.setItem("user", user);
|
||||
|
||||
@@ -67,10 +67,9 @@ func (ls *ServicesLogin) Login(username string, password string) (models.Respons
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (ls *ServicesLogin) SignIn(username string, password string) (models.ResponseValid, models.ResponseInvalid, error) {
|
||||
func (ls *ServicesLogin) MultiSignIn(username string, password string) (models.Response, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var respvalid models.ResponseValid
|
||||
var respinvalid models.ResponseInvalid
|
||||
var ret models.Response
|
||||
uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
|
||||
|
||||
params := url.Values{}
|
||||
@@ -81,7 +80,7 @@ func (ls *ServicesLogin) SignIn(username string, password string) (models.Respon
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error request post", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
return ret, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
@@ -89,48 +88,15 @@ func (ls *ServicesLogin) SignIn(username string, password string) (models.Respon
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error read body", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
return ret, err
|
||||
}
|
||||
|
||||
valid := models.ResponseValid{}
|
||||
if err := json.NewDecoder(resp.Body).Decode(&valid); err != nil {
|
||||
err = json.Unmarshal(body, &ret)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error decode body", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
logger.Error("error parse body", zap.Any("error", err))
|
||||
return ret, err
|
||||
}
|
||||
|
||||
invalid := models.ResponseInvalid{}
|
||||
if err := json.NewDecoder(resp.Body).Decode(&invalid); err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error decode body", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
}
|
||||
// err = json.Unmarshal(body, &response)
|
||||
// if err != nil {
|
||||
// defer logger.Sync()
|
||||
// logger.Error("error parse body", zap.Any("error", err))
|
||||
// return respvalid, respinvalid, err
|
||||
// }
|
||||
|
||||
// switch v := response.(type) {
|
||||
// case models.ResponseValid:
|
||||
// respvalid = v
|
||||
// case models.ResponseInvalid:
|
||||
// respinvalid = v
|
||||
// default:
|
||||
// logger.Info("default", zap.Any("data", v))
|
||||
// }
|
||||
|
||||
return respvalid, respinvalid, err
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
// func (ls *ServicesLogin) MultiSignIn(username string, password string) (models.Response, error) {
|
||||
// logger, _ := zap.NewProduction()
|
||||
// uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
|
||||
|
||||
// params := url.Values{}
|
||||
// params.Add("username", username)
|
||||
// params.Add("password", password)
|
||||
|
||||
// resp,
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user