Add partners

This commit is contained in:
aditya.siregar
2024-07-30 02:48:31 +07:00
parent 2d1c450f65
commit e9ed9c0dd1
9 changed files with 109 additions and 47 deletions
+32 -14
View File
@@ -33,6 +33,11 @@ type Partner struct {
DeletedAt *time.Time `gorm:"column:deleted_at"`
CreatedBy int64 `gorm:"type:int;column:created_by"`
UpdatedBy int64 `gorm:"type:int;column:updated_by"`
AdminUserID int64 `gorm:"type:int;column:admin_user_id"`
Balance float64 `gorm:"-"`
AdminName string `json:"admin_name"`
AdminPhoneNumber string `json:"admin_phone_number"`
AdminEmail string `json:"admin_email"`
}
func (Partner) TableName() string {
@@ -52,6 +57,14 @@ type PartnerDB struct {
Partner
}
type PartnerDBSearch struct {
Partner
WalletBalance float64 `gorm:"type:number;column:wallet_balance"`
AdminName string `gorm:"type:varchar;column:admin_name"`
AdminEmail string `gorm:"type:varchar;column:admin_email"`
AdminPhoneNumber string `gorm:"type:varchar;column:admin_phone_number"`
}
func (p *Partner) ToPartnerDB() *PartnerDB {
return &PartnerDB{
Partner: *p,
@@ -64,13 +77,17 @@ func (PartnerDB) TableName() string {
func (e *PartnerDB) ToPartner() *Partner {
return &Partner{
ID: e.ID,
Name: e.Name,
Status: e.Status,
Address: e.Address,
CreatedAt: e.CreatedAt,
UpdatedAt: e.UpdatedAt,
CreatedBy: e.CreatedBy,
ID: e.ID,
Name: e.Name,
Status: e.Status,
Address: e.Address,
CreatedAt: e.CreatedAt,
UpdatedAt: e.UpdatedAt,
CreatedBy: e.CreatedBy,
Balance: e.Balance,
AdminEmail: e.AdminEmail,
AdminPhoneNumber: e.AdminPhoneNumber,
AdminName: e.AdminName,
}
}
@@ -106,13 +123,14 @@ func (o *PartnerDB) SetDeleted(updatedBy int64) {
func (c *CreatePartnerRequest) ToUserAdmin(partnerID int64) *User {
return &User{
Name: c.FullName,
Password: c.Password,
Email: c.Email,
NIK: c.NIK,
Status: "active",
RoleID: role.PartnerAdmin,
PartnerID: &partnerID,
Name: c.FullName,
Password: c.Password,
Email: c.Email,
NIK: c.NIK,
PhoneNumber: c.PhoneNumber,
Status: "active",
RoleID: role.PartnerAdmin,
PartnerID: &partnerID,
}
}
+11 -8
View File
@@ -19,6 +19,7 @@ type User struct {
CreatedAt time.Time
UpdatedAt time.Time
RoleID role.Role
PhoneNumber string
RoleName string
PartnerID *int64
SiteID *int64
@@ -66,14 +67,16 @@ func (u *User) ToUserDB(createdBy int64) (*UserDB, error) {
}
return &UserDB{
Name: u.Name,
Email: u.Email,
Password: hashedPassword,
RoleID: int64(u.RoleID),
PartnerID: u.PartnerID,
Status: userstatus.Active,
CreatedBy: createdBy,
SiteID: u.SiteID,
Name: u.Name,
Email: u.Email,
Password: hashedPassword,
RoleID: int64(u.RoleID),
PartnerID: u.PartnerID,
Status: userstatus.Active,
CreatedBy: createdBy,
SiteID: u.SiteID,
PhoneNumber: u.PhoneNumber,
NIK: u.NIK,
}, nil
}