Example #1
0
function selectClicksLeft (client, userId) {

	var clicksPerDayAllowance = 100;

	var date = new sql.functionCallCreator("DATE");
	var now = new sql.functionCallCreator('NOW');

	return client.queryGenerated(tableDefinitions.clicks
		.select(tableDefinitions.clicks.count().as('numClicks'))
		.where(
			date(tableDefinitions.clicks.created).equals(date(now())),
			tableDefinitions.clicks.userId.equals(userId)
		)
	)
		.then(function (rows) {

			return clicksPerDayAllowance - (rows[0] && rows[0].numClicks || 0);
		});
}
Example #2
0
function selectActiveClickOnGiftType (client, userId, giftTypeSku) {

	var now = new sql.functionCallCreator('NOW');
	var countDownInterval = tableDefinitions.clicks.literal("INTERVAL '1 hour'");

	return client.queryGenerated(tableDefinitions.clicks
		.select(tableDefinitions.clicks.star(), now().as('serverTime'))
		.where(
			tableDefinitions.clicks.userId.equals(userId),
			tableDefinitions.clicks.giftTypeSku.equals(giftTypeSku),
			tableDefinitions.clicks.created.plus(countDownInterval).gt(now())
		)
		.order(tableDefinitions.clicks.created.desc)
		.limit(1)
	)
		.then(function (rows) {

			return rows[0];
		});
}