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  }