From 7ed4e4990d98a80673655b1371daf4b7475d86bd Mon Sep 17 00:00:00 2001 From: James Baxley Date: Fri, 22 Jul 2016 22:36:05 -0400 Subject: [PATCH] fix promotions pulling correct timing --- src/expression-engine/models/content/model.ts | 15 ++++++++++++++- src/expression-engine/models/content/tables.ts | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/expression-engine/models/content/model.ts b/src/expression-engine/models/content/model.ts index 1f18538..d6584a5 100644 --- a/src/expression-engine/models/content/model.ts +++ b/src/expression-engine/models/content/model.ts @@ -94,10 +94,22 @@ export class Content extends EE { attributes: ["entry_id", "channel_id", "site_id"].concat(fields as any[]), // why typescript include: [ { model: Channels.model}, - { model: ChannelTitles.model }, + { + model: ChannelTitles.model, + where: { + entry_date: { $lte: Sequelize.literal("UNIX_TIMESTAMP(NOW())") }, + expiration_date: { + $or: [ + { $eq: 0 }, + { $gt: Sequelize.literal("UNIX_TIMESTAMP(NOW())") }, + ], + }, + }, + }, ], }) .then(x => { + if (!x.exp_channel) return null; x.exp_channel.exp_channel_fields = exp_channel_fields; return x; }) @@ -145,6 +157,7 @@ export class Content extends EE { .then(x => x.sort_order.split("|")) .then(x => x.filter(y => !!y).map(z => ({ entry_id: z }))) // used so the next line can work .then(this.getFromIds.bind(this)) + .then(x => x.filter(y => !!y)) , { ttl: 3600 }); // expire this lookup every hour } diff --git a/src/expression-engine/models/content/tables.ts b/src/expression-engine/models/content/tables.ts index 74e2d58..0d067f3 100644 --- a/src/expression-engine/models/content/tables.ts +++ b/src/expression-engine/models/content/tables.ts @@ -31,6 +31,7 @@ const channelTitleSchema: Object = { day: { type: CHAR }, month: { type: CHAR }, entry_date: { type: INTEGER }, + expiration_date: { type: INTEGER }, }; const channelDataSchema: Object = {