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 }