package transformer import ( "fmt" "time" "github.com/yourorg/go-dw-platform/services/template-service/domain" "github.com/yourorg/go-dw-platform/services/template-service/dto" "github.com/yourorg/go-dw-platform/services/template-service/entity" ) type Transformer struct{} func New() *Transformer { return &Transformer{} } func (t *Transformer) RequestToDomain(req *dto.IngestRequest) (*domain.Order, error) { order := &domain.Order{ OrderID: req.OrderID, CustomerID: req.CustomerID, Amount: req.Amount, CreatedAt: time.Now(), } if err := order.Validate(); err != nil { return nil, fmt.Errorf("transform: %w", err) } return order, nil } func (t *Transformer) DomainToEntity(d *domain.Order) *entity.Order { return &entity.Order{ OrderID: d.OrderID, CustomerID: d.CustomerID, Amount: d.Amount, CreatedAt: d.CreatedAt, } }