From 40b5ab596402248f01624ad3847dd5b191e315f0 Mon Sep 17 00:00:00 2001 From: "aditya.siregar" Date: Sat, 31 May 2025 18:16:11 +0700 Subject: [PATCH] spin --- internal/entity/auth.go | 2 +- internal/repository/users/user.go | 30 ++---------------------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/internal/entity/auth.go b/internal/entity/auth.go index 047a3c2..42bb73d 100644 --- a/internal/entity/auth.go +++ b/internal/entity/auth.go @@ -205,7 +205,7 @@ type CustomerSearch struct { func (b *CustomerList) ToCustomerList() []*Customer { var users []*Customer for _, user := range *b { - if user.UserType == "CUSTOMER" { + if len(user.Name) > 0 { users = append(users, user.ToCustomer()) } } diff --git a/internal/repository/users/user.go b/internal/repository/users/user.go index 4eae846..c5669fa 100644 --- a/internal/repository/users/user.go +++ b/internal/repository/users/user.go @@ -129,35 +129,9 @@ func (b *UserRepository) GetAllCustomer(ctx context.Context, req entity.Customer var users []*entity.UserDB var total int64 - query := b.db.Table("users"). - Select("users.id, users.email, users.name, users.phone_number, users.status, users.user_type, users.created_at, users.updated_at, ur.role_id, r.role_name, ur.partner_id, b.name as partner_name"). - Joins("LEFT JOIN user_roles ur ON users.id = ur.user_id"). - Joins("LEFT JOIN roles r ON ur.role_id = r.role_id"). - Joins("LEFT JOIN partners b ON ur.partner_id = b.id"). - Where("users.deleted_at is null"). - Where("users.user_type = 'CUSTOMER'") + query := b.db.Table("customers"). + Select("customers.id, customers.email, customers.name, customers.phone as phone_number") - if req.Search != "" { - query = query.Where("users.name ILIKE ? or users.email ILIKE ? or users.phone_number ILIKE ? or r.role_name ILIKE ? or b.name ILIKE ?", "%"+req.Search+"%", "%"+req.Search+"%", "%"+req.Search+"%", "%"+req.Search+"%", "%"+req.Search+"%") - } - - if req.Name != "" { - query = query.Where("users.name ILIKE ?", "%"+req.Name+"%") - } - - if req.RoleID > 0 { - query = query.Where("ur.role_id = ? ", req.RoleID) - } - - if req.PartnerID > 0 { - query = query.Where("ur.partner_id = ? ", req.PartnerID) - } - - if req.SiteID > 0 { - query = query.Where("ur.site_id = ? ", req.SiteID) - } - - // Get the total count without applying the limit and offset. if err := query.Model(&entity.UserDB{}).Count(&total).Error; err != nil { logger.ContextLogger(ctx).Error("error when count users", zap.Error(err)) return nil, 0, err