feat: refactor auth package and add get users for staff

This commit is contained in:
ericprd
2025-03-07 17:39:26 +08:00
parent c48a4b944b
commit fdf572cd3d
29 changed files with 203 additions and 78 deletions
+1 -1
View File
@@ -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"
)
+1 -1
View File
@@ -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
}
+1 -1
View File
@@ -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 == "" {
+1 -1
View File
@@ -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 == "" {
+27
View File
@@ -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
}
+4 -2
View File
@@ -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}
}
+1 -1
View File
@@ -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