UNPKG

alphascript-server

Version:

CRUD operations for mongo and other functionalities to get started quickly in any CMS project

61 lines (49 loc) 1.49 kB
var moment = require('moment'); module.exports = { extract: extract, pad: pad, collisionDetection: collisionDetection, getMinutes: getMinutes }; function pad(num, size) { var s = num + ""; while (s.length < size) s = "0" + s; return s; } function extract(date) { try { return moment(date).format('YYYY-MM-DD'); } catch (err) { return extract(new Date(date)); } } function collisionDetection(start, end, events) { start = extract(start); end = end ? extract(end) : start; if (end < start) return null; for (var i = 0; i < events.length; i++) { if (events[i].approval) { if (events[i].approval.cancelled) continue; if (events[i].approval.level < events[i].approval.maxLevel) continue; } var eventStart = extract(events[i].dateStart); var eventEnd = eventStart; if (events[i].dateEnd) eventEnd = extract(events[i].dateEnd); // $ |__$__| if (eventEnd > start && eventEnd <= end) return true; // |__$__| $ if (eventStart >= start && eventStart < end) return true; // $ |____| $ if (eventStart <= start && eventEnd >= end) return true; // |___$___$____| if (eventStart >= start && eventEnd <= end) return true; } return false; } function getMinutes(time) { var HourMinutes = time.split(':'); if (HourMinutes.length == 1) HourMinutes.push(0); var hours = parseInt(HourMinutes[0]); var minutes = parseInt(HourMinutes[1]); return hours * 60 + minutes; }