UNPKG

@ournet/news-data

Version:
43 lines (42 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const dynamo_item_1 = require("dynamo-item"); const dynamo_event_1 = require("./dynamo-event"); const config_1 = require("../config"); class DynamoLatestEventHelper { static mapFromEvent(data) { const item = { eventId: data.id, createdAt: data.createdAt, expiresAt: DynamoLatestEventHelper.expiresAt(new Date(data.createdAt)), locale: DynamoLatestEventHelper.createLocaleKey(data), }; return item; } static createLocaleKey(locale) { return dynamo_event_1.DynamoEventHelper.createLocaleKey(locale); } static expiresAt(date) { date = new Date(date); date.setDate(date.getDate() + config_1.LATEST_EVENT_EXPIRE_DAYS); return Math.floor(date.getTime() / 1000); } } exports.DynamoLatestEventHelper = DynamoLatestEventHelper; class LatestEventModel extends dynamo_item_1.DynamoItem { constructor(client, tableSuffix) { super({ hashKey: { name: 'locale', type: 'S' }, rangeKey: { name: 'createdAt', type: 'S' }, name: 'latest_events', tableName: `ournet_latest_events_${tableSuffix}`, }, client); } } exports.LatestEventModel = LatestEventModel;