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 }