first commit
This commit is contained in:
70
services/user/user.store.go
Normal file
70
services/user/user.store.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"github.com/jmoiron/sqlx"
|
||||
"sismedika.com/sas/westone/types"
|
||||
)
|
||||
|
||||
type Store struct {
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
func NewStore(db *sqlx.DB) *Store {
|
||||
return &Store{db: db}
|
||||
}
|
||||
func (s *Store) CreateUser(user types.User) error {
|
||||
// Start a new transaction
|
||||
// tx, err := s.db.BeginTxx(context.Background(), nil)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
// // Defer rollback to ensure the transaction is rolled back in case of an error
|
||||
// defer func() {
|
||||
// if err != nil {
|
||||
// tx.Rollback()
|
||||
// }
|
||||
// }()
|
||||
|
||||
// query := `INSERT INTO users (firstName, lastName, email, password)
|
||||
// VALUES (:firstName, :lastName, :email, :password)`
|
||||
|
||||
// // Using tx.NamedExec to insert the user within the transaction
|
||||
// _, err = tx.NamedExec(query, user)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
// // Commit the transaction if everything succeeded
|
||||
// if err = tx.Commit(); err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Store) GetUserByID(id int) (*types.User, error) {
|
||||
user := new(types.User)
|
||||
|
||||
qryget := `
|
||||
SELECT
|
||||
M_UserID,
|
||||
M_UserEmail,
|
||||
M_UserEmail as M_UserUsername,
|
||||
M_UserGroupDashboard,
|
||||
1 as M_UserDefaultT_SampleStationID,
|
||||
IFNULL(M_UserFullName, "") as M_StaffName,
|
||||
IFNULL(M_StaffIsCourier, "N") as is_courier,
|
||||
IFNULL(S_SystemsAutoLogoutTime,0) 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
|
||||
JOIN conf_systems ON S_SystemsIsActive = 'Y'
|
||||
WHERE M_UserID = ?
|
||||
`
|
||||
if err := s.db.Get(user, qryget, id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return user, nil
|
||||
}
|
||||
Reference in New Issue
Block a user