payload-plugin-scheduler
Version:
Scheduled posts plugin for PayloadCMS
78 lines • 2.56 kB
JavaScript
;
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
var ts_deepmerge_1 = require("ts-deepmerge");
var ScheduledPosts = function (scheduleConfig) {
return (0, ts_deepmerge_1.merge)({
slug: 'scheduled_posts',
labels: {
plural: 'Scheduled Posts',
singular: 'Scheduled Post',
},
access: {
create: function () { return false; },
read: function () { return true; },
},
admin: {
hidden: true,
},
fields: [
{
name: 'post',
type: 'relationship',
unique: true,
relationTo: __spreadArray([], (scheduleConfig.collections || []), true),
hasMany: false,
admin: {
readOnly: true,
},
},
{
name: 'global',
type: 'select',
options: __spreadArray([], (scheduleConfig.globals || []), true),
unique: true,
},
{
name: 'date',
index: true,
type: 'date',
admin: {
date: {
pickerAppearance: 'dayAndTime',
timeIntervals: scheduleConfig.interval,
},
readOnly: true,
},
},
{
name: 'status',
index: true,
type: 'select',
options: [
{
value: 'queued',
label: 'Queued',
},
{
value: 'complete',
label: 'Complete',
},
],
admin: {
readOnly: true,
},
},
].filter(Boolean),
}, (scheduleConfig === null || scheduleConfig === void 0 ? void 0 : scheduleConfig.scheduledPosts) || {});
};
exports.default = ScheduledPosts;
//# sourceMappingURL=ScheduledPosts.js.map