init project
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type Partner struct {
|
||||
ID int64
|
||||
Name string
|
||||
Status string
|
||||
Address string
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
DeletedAt *time.Time
|
||||
CreatedBy int64
|
||||
UpdatedBy int64
|
||||
}
|
||||
|
||||
type PartnerSearch struct {
|
||||
Search string
|
||||
Name string
|
||||
Limit int
|
||||
Offset int
|
||||
}
|
||||
|
||||
type PartnerList []*PartnerDB
|
||||
|
||||
type PartnerDB struct {
|
||||
Partner
|
||||
}
|
||||
|
||||
func (p *Partner) ToPartnerDB() *PartnerDB {
|
||||
return &PartnerDB{
|
||||
Partner: *p,
|
||||
}
|
||||
}
|
||||
|
||||
func (PartnerDB) TableName() string {
|
||||
return "partners"
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *PartnerList) ToPartnerList() []*Partner {
|
||||
var partners []*Partner
|
||||
for _, partner := range *p {
|
||||
partners = append(partners, partner.ToPartner())
|
||||
}
|
||||
return partners
|
||||
}
|
||||
|
||||
func (o *PartnerDB) ToUpdatedPartner(updatedBy int64, req Partner) {
|
||||
o.UpdatedBy = updatedBy
|
||||
|
||||
if req.Name != "" {
|
||||
o.Name = req.Name
|
||||
}
|
||||
|
||||
if req.Status != "" {
|
||||
o.Status = req.Status
|
||||
}
|
||||
|
||||
if req.Address != "" {
|
||||
o.Address = req.Address
|
||||
}
|
||||
}
|
||||
|
||||
func (o *PartnerDB) SetDeleted(updatedBy int64) {
|
||||
currentTime := time.Now()
|
||||
o.DeletedAt = ¤tTime
|
||||
o.UpdatedBy = updatedBy
|
||||
}
|
||||
Reference in New Issue
Block a user