pindah dashboard_pic ke corp route
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package public_services
|
||||
package corporate_services
|
||||
|
||||
import (
|
||||
"cpone/db"
|
||||
@@ -8,6 +8,9 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type ServicesLogin struct {
|
||||
@@ -22,19 +25,23 @@ func NewServicesLogin(uStore db.AppStore) *ServicesLogin {
|
||||
}
|
||||
|
||||
func (ls *ServicesLogin) Login(username string, password string) (models.ResponseApi, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
url := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/login"
|
||||
|
||||
var resp models.ResponseApi
|
||||
|
||||
// Create a JSON payload with the username and password
|
||||
payload := []byte(fmt.Sprintf(`{"username": "%s", "password": "%s"}`, username, password))
|
||||
logger.Info("payload", zap.Any("data", payload))
|
||||
|
||||
// Make the POST request
|
||||
request, err := http.Post(url, "application/json", bytes.NewBuffer(payload))
|
||||
if err != nil {
|
||||
logger.Info("requser", zap.Any("err", err))
|
||||
return resp, err
|
||||
}
|
||||
if request.StatusCode != http.StatusOK {
|
||||
logger.Info("status", zap.Any("err", request.StatusCode))
|
||||
return resp, fmt.Errorf("server returned non-OK status: %d", request.StatusCode)
|
||||
}
|
||||
defer request.Body.Close()
|
||||
@@ -42,17 +49,63 @@ func (ls *ServicesLogin) Login(username string, password string) (models.Respons
|
||||
// Read the response body
|
||||
body, err := io.ReadAll(request.Body)
|
||||
if err != nil {
|
||||
logger.Info("body", zap.Any("data", body))
|
||||
return resp, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(body, &resp); err != nil {
|
||||
logger.Info("json", zap.Any("data", err))
|
||||
return resp, err
|
||||
}
|
||||
|
||||
// Check if status is "ERR"
|
||||
if resp.Status == "ERR" {
|
||||
logger.Info("status", zap.Any("data", resp.Message))
|
||||
return resp, fmt.Errorf("login failed: %s", resp.Message)
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (ls *ServicesLogin) SignIn(username string, password string) (models.ResponseValid, models.ResponseInvalid, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var respvalid models.ResponseValid
|
||||
var respinvalid models.ResponseInvalid
|
||||
uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/login"
|
||||
|
||||
params := url.Values{}
|
||||
params.Add("username", username)
|
||||
params.Add("password", password)
|
||||
|
||||
resp, err := http.PostForm(uri, params)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error request post", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Error("error read body", zap.Any("error", err))
|
||||
return respvalid, respinvalid, err
|
||||
}
|
||||
|
||||
var response interface{}
|
||||
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
|
||||
}
|
||||
|
||||
return respvalid, respinvalid, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user