aditya.siregar 8966037024 Add License
2024-07-28 13:00:01 +07:00

47 lines
1.2 KiB
Go

package response
import (
"furtuna-be/internal/entity"
)
type License struct {
ID string `json:"id"`
Name string `json:"name"`
StartDate string `json:"start_date"`
EndDate string `json:"end_date"`
RenewalDate string `json:"renewal_date,omitempty"`
SerialNumber string `json:"serial_number"`
PartnerID int64 `json:"partner_id"`
CreatedBy int64 `json:"created_by"`
UpdatedBy int64 `json:"updated_by"`
}
type LicenseList struct {
Licenses []License `json:"licenses"`
Total int64 `json:"total"`
Limit int `json:"limit"`
Offset int `json:"offset"`
}
func (r *License) FromEntity(e *entity.License) {
r.ID = e.ID.String()
r.Name = e.Name
r.StartDate = e.StartDate.Format("2006-01-02")
r.EndDate = e.EndDate.Format("2006-01-02")
if e.RenewalDate != nil {
r.RenewalDate = e.RenewalDate.Format("2006-01-02")
}
r.SerialNumber = e.SerialNumber
r.PartnerID = e.PartnerID
r.CreatedBy = e.CreatedBy
r.UpdatedBy = e.UpdatedBy
}
func FromEntityList(entities []*entity.License) []License {
licenses := make([]License, len(entities))
for i, e := range entities {
licenses[i].FromEntity(e)
}
return licenses
}