package link import ( "net/url" "time" ) type CreationModel struct { Id string `json:"id"` Name string `json:"name"` RedirectURL string `json:"redirectUrl"` } type ResourceModel struct { Id string `json:"id"` Name string `json:"name"` RedirectURL string `json:"redirectUrl"` CreationTime int64 `json:"creationTime"` } func (m *CreationModel) MapModelToEntity() (*Link, error) { u, err := url.Parse(m.RedirectURL) if err != nil { return nil, err } return &Link{ Id: m.Id, Name: m.Name, RedirectURL: *u, CreationTime: time.Now().UTC(), }, nil } func MapEntityToModel(entity *Link) ResourceModel { return ResourceModel{ Id: entity.Id, Name: entity.Name, RedirectURL: entity.RedirectURL.String(), CreationTime: entity.CreationTime.Unix(), } }