github.com/miguelgrubin/gin-boilerplate@v0.0.0-20231208120009-f8f00c6d4138/pkg/petshop/infrastructure/storage/pet_entity_mapper.go (about) 1 package storage 2 3 import ( 4 "time" 5 6 "github.com/miguelgrubin/gin-boilerplate/pkg/petshop/domain" 7 "github.com/miguelgrubin/gin-boilerplate/pkg/shared" 8 ) 9 10 func PetEntityToDomain(pe PetEntity) domain.Pet { 11 return domain.Pet{ 12 ID: shared.EntityID(pe.ID), 13 Name: pe.Name, 14 Status: pe.Status, 15 CreatedAt: shared.DateTime(pe.CreatedAt), 16 UpdatedAt: shared.DateTime(pe.UpdatedAt), 17 DeletedAt: (*shared.DateTime)(pe.DeletedAt), 18 } 19 } 20 21 func PetEntityFromDomain(p domain.Pet) PetEntity { 22 return PetEntity{ 23 ID: p.ID.String(), 24 Name: p.Name, 25 Status: p.Status, 26 CreatedAt: p.CreatedAt.Time(), 27 UpdatedAt: p.UpdatedAt.Time(), 28 DeletedAt: (*time.Time)(p.DeletedAt), 29 } 30 }