Files
RenewCMS/internal/infrastructure/persistence/mappers/entryMapper.go
T

40 lines
926 B
Go

package mappers
import (
"RenewCMS/internal/domain/entry"
"RenewCMS/internal/infrastructure/persistence/models"
"encoding/json"
)
func EntryToDomain(m models.Entry) (entry.Entry, error) {
data := map[string]any{}
if err := json.Unmarshal([]byte(m.Data), &data); err != nil {
return entry.Entry{}, err
}
return entry.Entry{
ID: m.ID,
ContentTypeID: m.ContentTypeID,
Data: data,
CreatedBy: m.CreatedBy,
UpdatedBy: m.UpdatedBy,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}, nil
}
func EntryToModel(e entry.Entry) (models.Entry, error) {
data, err := json.Marshal(e.Data)
if err != nil {
return models.Entry{}, err
}
return models.Entry{
ID: e.ID,
ContentTypeID: e.ContentTypeID,
Data: string(data),
CreatedBy: e.CreatedBy,
UpdatedBy: e.UpdatedBy,
CreatedAt: e.CreatedAt,
UpdatedAt: e.UpdatedAt,
}, nil
}