multi login progress

This commit is contained in:
2024-06-13 09:58:23 +07:00
parent e6a5925588
commit e1c8ddd8f0
4 changed files with 66 additions and 13 deletions

View File

@@ -117,6 +117,8 @@ 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)
}
defer logger.Sync()
logger.Info("valid", zap.Any("value", valid))
var url string
switch valid.Data.Type {

View File

@@ -74,9 +74,7 @@ func SetupRoutesPublic(app *echo.Echo, appStore db.AppStore) {
loginServ := public_services.NewServicesLogin(appStore)
loginHadlr := public_handlers.NewLoginHandler(loginServ)
public.GET("login", loginHadlr.HandlerShowLogin)
public.POST("login/signin", loginHadlr.HandlerSignIn)
// dashboard_pic
public.POST("login/signin", loginHadlr.HandleSignIn)
// kartu kontrol
publicKartuKontrolServices := public_services.NewServicesKartuKontrol(appStore)

View File

@@ -59,3 +59,31 @@ type ResponseValid struct {
Type string `json:"type"`
} `json:"data"`
}
type Response struct {
Status string `json:"status"`
Message string `json:"message"`
Query string `json:"query"`
DbError struct {
Code int `json:"code"`
Message string `json:"message"`
} `json:"db_error"`
Data struct {
User struct {
MUserID string `json:"M_UserID"`
MUserEmail string `json:"M_UserEmail"`
MUserUsername string `json:"M_UserUsername"`
MUserGroupDashboard string `json:"M_UserGroupDashboard"`
MUserDefaultTSampleStationID string `json:"M_UserDefaultT_SampleStationID"`
MStaffName string `json:"M_StaffName"`
IsCourier string `json:"is_courier"`
TimeAutologout string `json:"time_autologout"`
IP string `json:"ip"`
Agent string `json:"agent"`
Version string `json:"version"`
LastLogin string `json:"last-login"`
} `json:"user"`
Token string `json:"token"`
Type string `json:"type"`
} `json:"data"`
}

View File

@@ -71,7 +71,7 @@ func (ls *ServicesLogin) SignIn(username string, password string) (models.Respon
logger, _ := zap.NewProduction()
var respvalid models.ResponseValid
var respinvalid models.ResponseInvalid
uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/login"
uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
params := url.Values{}
params.Add("username", username)
@@ -92,20 +92,45 @@ func (ls *ServicesLogin) SignIn(username string, password string) (models.Respon
return respvalid, respinvalid, err
}
var response interface{}
err = json.Unmarshal(body, &response)
if err != nil {
valid := models.ResponseValid{}
if err := json.NewDecoder(resp.Body).Decode(&valid); err != nil {
defer logger.Sync()
logger.Error("error parse body", zap.Any("error", err))
logger.Error("error decode body", zap.Any("error", err))
return respvalid, respinvalid, err
}
switch v := response.(type) {
case models.ResponseValid:
respvalid = v
case models.ResponseInvalid:
respinvalid = v
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
}
// 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,
// }