@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
28 lines (27 loc) • 1.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeShortlyPreviousEntry = removeShortlyPreviousEntry;
exports.removeEqualSaved = removeEqualSaved;
async function removeShortlyPreviousEntry(entry, onQuery, overrideTime = 300) {
const query = onQuery(new Parse.Query(entry.className));
const object = await query.first({ useMasterKey: true });
const lastEntryTime = object?.get("createdAt")?.getTime();
const currentTime = new Date().getTime();
const timeDifferenceInSeconds = (currentTime - lastEntryTime) / 1000;
if (timeDifferenceInSeconds <= overrideTime) {
return await object?.destroy({ useMasterKey: true });
}
return undefined;
}
async function removeEqualSaved(entry, onQuery, isEqual) {
const query = new Parse.Query(entry.className)
.descending("createdAt")
.includeAll();
onQuery(query);
const object = await query.first({ useMasterKey: true });
if (object && isEqual(entry, object)) {
await entry.destroy({ useMasterKey: true });
return object;
}
return entry;
}
;