first commit
This commit is contained in:
77
services/auth/auth.store.go
Normal file
77
services/auth/auth.store.go
Normal file
@@ -0,0 +1,77 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"sismedika.com/sas/westone/types"
|
||||
"sismedika.com/sas/westone/utils"
|
||||
)
|
||||
|
||||
func (s *Store) SignInWestone(email string, password string) (*types.User, error) {
|
||||
user := new(types.User)
|
||||
|
||||
qry := `
|
||||
SELECT
|
||||
M_UserID,
|
||||
M_UserName,
|
||||
M_UserGroupDashboard,
|
||||
IFNULL(M_UserFullName, "") as M_StaffName,
|
||||
10000000 as time_autologout
|
||||
FROM m_user
|
||||
JOIN m_usergroup ON M_UserM_UserGroupID = M_UserGroupID
|
||||
LEFT JOIN m_staff on M_UserM_StaffID = M_StaffID
|
||||
WHERE M_UserName = ? AND M_UserPassword = ? AND M_UserIsActive = 'Y'
|
||||
`
|
||||
if err := s.db.Get(user, qry, email, password); err != nil {
|
||||
return nil, &utils.LogError{
|
||||
Code: "151",
|
||||
TraceID: utils.RandomTraceID(15),
|
||||
Type: "AUTH",
|
||||
Params: "email: " + email,
|
||||
Query: "-",
|
||||
Message: err.Error(),
|
||||
TimeStamp: time.Now().Format("2006-01-02 15:04:05"),
|
||||
}
|
||||
}
|
||||
user.Type_Akun = "westone"
|
||||
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (s *Store) LogSignIn(email string, ip string, status string, tipe string, provider string) error {
|
||||
tx, err := s.db.BeginTxx(context.Background(), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
logval := types.LogLogin{
|
||||
LogLoginMUserEmail: email,
|
||||
LogLoginDateTime: time.Now().Format("2006-01-02 15:04:05"),
|
||||
LogLoginIP: ip,
|
||||
LogLoginType: tipe,
|
||||
LogLoginStatus: status,
|
||||
LogLoginLogin: provider,
|
||||
}
|
||||
|
||||
qry := `INSERT INTO log_login
|
||||
(Log_LoginM_UserEmail, Log_LoginDateTime, Log_LoginIP, Log_LoginType, Log_LoginStatus, Log_LoginLogin)
|
||||
VALUES (:Log_LoginM_UserEmail, :Log_LoginDateTime, :Log_LoginIP, :Log_LoginType, :Log_LoginStatus, :Log_LoginLogin)`
|
||||
|
||||
_, err = tx.NamedExec(qry, logval)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = tx.Commit(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user