payload-plugin-scheduler
Version:
Scheduled posts plugin for PayloadCMS
56 lines (55 loc) • 1.81 kB
JavaScript
export const jobsCollectionSlug = 'payload-jobs';
export const publishDateFieldCustomKey = 'payload-plugin-scheduler:publishDate';
// publishDate() runs while collection/global fields are declared, before the plugin
// can see its normalized config. Store manual display overrides here so the plugin
// can merge them with the global publishDate config during config decoration.
export const publishDateFieldOverridesCustomKey = 'payload-plugin-scheduler:publishDateOverrides';
export const schedulePublishTaskSlug = 'schedulePublish';
export const getScheduledPublishJobsWhere = (target)=>{
return {
and: [
{
completedAt: {
exists: false
}
},
{
processing: {
equals: false
}
},
{
taskSlug: {
equals: schedulePublishTaskSlug
}
},
...target.type === 'global' ? [
{
'input.global': {
equals: target.slug
}
}
] : [
{
'input.doc.value': {
equals: String(target.id)
}
},
{
'input.doc.relationTo': {
equals: target.slug
}
}
]
]
};
};
export const deleteScheduledPublishJobs = async ({ req, target })=>{
const deleted = await req.payload.db.deleteMany({
collection: jobsCollectionSlug,
req,
where: getScheduledPublishJobsWhere(target)
});
return deleted?.docs?.length;
};
//# sourceMappingURL=lib.js.map