feat: refactor auth package and add get users for staff
This commit is contained in:
@@ -9,7 +9,7 @@ import (
|
||||
subscriberepository "legalgo-BE-go/internal/accessor/subscribe"
|
||||
subscribeplanrepository "legalgo-BE-go/internal/accessor/subscribeplan"
|
||||
tagrepository "legalgo-BE-go/internal/accessor/tag"
|
||||
userrepository "legalgo-BE-go/internal/accessor/user_repository"
|
||||
userrepository "legalgo-BE-go/internal/accessor/user"
|
||||
|
||||
"go.uber.org/fx"
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
staffdomain "legalgo-BE-go/internal/domain/staff"
|
||||
)
|
||||
|
||||
func (ur *impl) Create(spec staffdomain.Staff) error {
|
||||
func (ur *accessor) Create(spec staffdomain.Staff) error {
|
||||
if err := ur.db.Create(&spec).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func (sr *impl) GetStaffByEmail(email string) (*staffdomain.Staff, error) {
|
||||
func (sr *accessor) GetStaffByEmail(email string) (*staffdomain.Staff, error) {
|
||||
var staff staffdomain.Staff
|
||||
|
||||
if email == "" {
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func (sr *impl) GetStaffByID(ID string) (*staffdomain.Staff, error) {
|
||||
func (sr *accessor) GetStaffByID(ID string) (*staffdomain.Staff, error) {
|
||||
var staff staffdomain.Staff
|
||||
|
||||
if ID == "" {
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package staffrepository
|
||||
|
||||
import userdomain "legalgo-BE-go/internal/domain/user"
|
||||
|
||||
func (a *accessor) GetUsers() ([]userdomain.UserProfile, error) {
|
||||
var usersRaw []userdomain.User
|
||||
if err := a.db.
|
||||
Preload("Subscribe").
|
||||
Preload("Subscribe.SubscribePlan").
|
||||
Find(&usersRaw).
|
||||
Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
users := []userdomain.UserProfile{}
|
||||
|
||||
for _, user := range usersRaw {
|
||||
users = append(users, userdomain.UserProfile{
|
||||
ID: user.ID,
|
||||
Email: user.Email,
|
||||
Phone: user.Phone,
|
||||
Subscribe: user.Subscribe,
|
||||
})
|
||||
}
|
||||
|
||||
return users, nil
|
||||
}
|
||||
@@ -3,19 +3,21 @@ package staffrepository
|
||||
import (
|
||||
"legalgo-BE-go/database"
|
||||
staffdomain "legalgo-BE-go/internal/domain/staff"
|
||||
userdomain "legalgo-BE-go/internal/domain/user"
|
||||
)
|
||||
|
||||
type impl struct {
|
||||
type accessor struct {
|
||||
db *database.DB
|
||||
}
|
||||
|
||||
type Staff interface {
|
||||
GetStaffByEmail(string) (*staffdomain.Staff, error)
|
||||
GetStaffByID(string) (*staffdomain.Staff, error)
|
||||
GetUsers() ([]userdomain.UserProfile, error)
|
||||
Create(staffdomain.Staff) error
|
||||
Update(staffdomain.Staff) error
|
||||
}
|
||||
|
||||
func New(db *database.DB) Staff {
|
||||
return &impl{db}
|
||||
return &accessor{db}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"legalgo-BE-go/internal/utilities/utils"
|
||||
)
|
||||
|
||||
func (ur *impl) Update(spec staffdomain.Staff) error {
|
||||
func (ur *accessor) Update(spec staffdomain.Staff) error {
|
||||
val, err := utils.StructToMap(spec)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user