@ournet/news-data
Version:
Ournet news data module
42 lines (41 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const dynamo_item_1 = require("dynamo-item");
const news_domain_1 = require("@ournet/news-domain");
class DynamoEventHelper {
static createLocaleFromId(eventId) {
const item = news_domain_1.EventHelper.parseLocaleFromId(eventId);
const locale = DynamoEventHelper.createLocaleKey(item);
return locale;
}
static createLocaleKey(locale) {
return `${locale.country.toUpperCase()}_${locale.lang.toUpperCase()}`;
}
static mapFromEvent(data) {
const item = Object.assign({}, data, { locale: DynamoEventHelper.createLocaleFromId(data.id) });
return item;
}
static mapToEvent(item) {
delete item.locale;
const data = item;
return data;
}
static mapFromPartialEvent(data) {
const item = Object.assign({}, data);
return item;
}
}
exports.DynamoEventHelper = DynamoEventHelper;
class EventModel extends dynamo_item_1.DynamoItem {
constructor(client, tableSuffix) {
super({
hashKey: {
name: "id",
type: "S"
},
name: "events",
tableName: `ournet_events_${tableSuffix}`
}, client);
}
}
exports.EventModel = EventModel;