@dosgato/api 1.7.12 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +5 -0
- package/dist/internal.js +5 -0
- package/dist/internal.js.map +1 -1
- package/dist/migrations.js +40 -2
- package/dist/migrations.js.map +1 -1
- package/dist/page/page.database.js +2 -1
- package/dist/page/page.database.js.map +1 -1
- package/dist/page/page.indexing.d.ts +1 -0
- package/dist/page/page.indexing.js +19 -6
- package/dist/page/page.indexing.js.map +1 -1
- package/dist/page/page.model.d.ts +6 -0
- package/dist/page/page.model.js +26 -0
- package/dist/page/page.model.js.map +1 -1
- package/dist/page/page.resolver.d.ts +5 -1
- package/dist/page/page.resolver.js +48 -1
- package/dist/page/page.resolver.js.map +1 -1
- package/dist/page/page.routes.js +31 -21
- package/dist/page/page.routes.js.map +1 -1
- package/dist/page/page.service.d.ts +4 -1
- package/dist/page/page.service.js +128 -19
- package/dist/page/page.service.js.map +1 -1
- package/dist/scheduledpublish/scheduledpublish.cron.d.ts +1 -0
- package/dist/scheduledpublish/scheduledpublish.cron.js +40 -0
- package/dist/scheduledpublish/scheduledpublish.cron.js.map +1 -0
- package/dist/scheduledpublish/scheduledpublish.database.d.ts +38 -0
- package/dist/scheduledpublish/scheduledpublish.database.js +86 -0
- package/dist/scheduledpublish/scheduledpublish.database.js.map +1 -0
- package/dist/scheduledpublish/scheduledpublish.model.d.ts +76 -0
- package/dist/scheduledpublish/scheduledpublish.model.js +283 -0
- package/dist/scheduledpublish/scheduledpublish.model.js.map +1 -0
- package/dist/scheduledpublish/scheduledpublish.resolver.d.ts +16 -0
- package/dist/scheduledpublish/scheduledpublish.resolver.js +143 -0
- package/dist/scheduledpublish/scheduledpublish.resolver.js.map +1 -0
- package/dist/scheduledpublish/scheduledpublish.service.d.ts +22 -0
- package/dist/scheduledpublish/scheduledpublish.service.js +170 -0
- package/dist/scheduledpublish/scheduledpublish.service.js.map +1 -0
- package/dist/template/template.model.d.ts +1 -0
- package/dist/template/template.model.js +7 -0
- package/dist/template/template.model.js.map +1 -1
- package/dist/util/authservice.d.ts +1 -0
- package/dist/util/authservice.js +5 -0
- package/dist/util/authservice.js.map +1 -1
- package/dist/util/context.d.ts +1 -0
- package/dist/util/context.js +4 -1
- package/dist/util/context.js.map +1 -1
- package/dist/versionedservice/service.d.ts +7 -1
- package/dist/versionedservice/service.js +67 -17
- package/dist/versionedservice/service.js.map +1 -1
- package/dist/versionedservice/types.d.ts +4 -1
- package/dist/versionedservice/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type Queryable } from 'mysql2-async';
|
|
2
|
+
import { ScheduledPublish, ScheduledPublishAction, type ScheduledPublishFilter, type ScheduledPublishRecurrence, ScheduledPublishStatus } from '../internal.js';
|
|
3
|
+
export interface ScheduledPublishRow {
|
|
4
|
+
id: number;
|
|
5
|
+
pageInternalId: number;
|
|
6
|
+
pageDataId: string | null;
|
|
7
|
+
dataId: string | null;
|
|
8
|
+
action: ScheduledPublishAction;
|
|
9
|
+
targetDate: Date;
|
|
10
|
+
status: ScheduledPublishStatus;
|
|
11
|
+
recur: ScheduledPublishRecurrence | null;
|
|
12
|
+
recurInterval: number | null;
|
|
13
|
+
timezone: string | null;
|
|
14
|
+
error: string | null;
|
|
15
|
+
createdAt: Date;
|
|
16
|
+
createdBy: string;
|
|
17
|
+
updatedAt: Date;
|
|
18
|
+
updatedBy: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function getScheduledPublishes(filter?: ScheduledPublishFilter, tdb?: Queryable): Promise<ScheduledPublish[]>;
|
|
21
|
+
export declare function countScheduledPublishes(filter?: ScheduledPublishFilter, tdb?: Queryable): Promise<number>;
|
|
22
|
+
export interface ScheduledPublishRecurrenceData {
|
|
23
|
+
recur: ScheduledPublishRecurrence;
|
|
24
|
+
recurInterval: number;
|
|
25
|
+
timezone: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function createScheduledPublish(pageInternalId: number, action: ScheduledPublishAction, targetDate: Date, createdBy: string, recurrence?: ScheduledPublishRecurrenceData): Promise<number>;
|
|
28
|
+
export declare function updateScheduledPublish(id: number, updates: {
|
|
29
|
+
action: ScheduledPublishAction;
|
|
30
|
+
targetDate: Date;
|
|
31
|
+
recur: ScheduledPublishRecurrence | null;
|
|
32
|
+
recurInterval: number | null;
|
|
33
|
+
timezone: string | null;
|
|
34
|
+
updatedBy: string;
|
|
35
|
+
}, tdb?: Queryable): Promise<void>;
|
|
36
|
+
export declare function updateScheduledPublishStatus(id: number, status: ScheduledPublishStatus, error?: string, tdb?: Queryable): Promise<void>;
|
|
37
|
+
export declare function cancelActiveSchedulesForPages(pageInternalIds: number[], tdb?: Queryable): Promise<void>;
|
|
38
|
+
export declare function getDueSchedules(tdb?: Queryable): Promise<ScheduledPublish[]>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import db from 'mysql2-async/db';
|
|
2
|
+
import { ScheduledPublish, ScheduledPublishAction, ScheduledPublishStatus } from '../internal.js';
|
|
3
|
+
function processFilters(filter) {
|
|
4
|
+
const binds = [];
|
|
5
|
+
const where = [];
|
|
6
|
+
const joins = new Map();
|
|
7
|
+
const statuses = filter?.statuses ?? [ScheduledPublishStatus.PENDING];
|
|
8
|
+
where.push(`sp.status IN (${db.in(binds, statuses)})`);
|
|
9
|
+
if (filter?.ids?.length) {
|
|
10
|
+
where.push(`sp.id IN (${db.in(binds, filter.ids)})`);
|
|
11
|
+
}
|
|
12
|
+
if (filter?.internalIds?.length) {
|
|
13
|
+
where.push(`sp.id IN (${db.in(binds, filter.internalIds)})`);
|
|
14
|
+
}
|
|
15
|
+
if (filter?.pageInternalIds?.length) {
|
|
16
|
+
where.push(`sp.pageInternalId IN (${db.in(binds, filter.pageInternalIds)})`);
|
|
17
|
+
}
|
|
18
|
+
if (filter?.pageIds?.length) {
|
|
19
|
+
joins.set('p', 'INNER JOIN pages p ON p.id = sp.pageInternalId');
|
|
20
|
+
where.push(`p.dataId IN (${db.in(binds, filter.pageIds)})`);
|
|
21
|
+
}
|
|
22
|
+
if (filter?.actions?.length) {
|
|
23
|
+
where.push(`sp.action IN (${db.in(binds, filter.actions)})`);
|
|
24
|
+
}
|
|
25
|
+
if (filter?.targetDateBefore) {
|
|
26
|
+
binds.push(filter.targetDateBefore.toUTC().toSQL());
|
|
27
|
+
where.push('sp.targetDate < ?');
|
|
28
|
+
}
|
|
29
|
+
if (filter?.targetDateAfter) {
|
|
30
|
+
binds.push(filter.targetDateAfter.toUTC().toSQL());
|
|
31
|
+
where.push('sp.targetDate > ?');
|
|
32
|
+
}
|
|
33
|
+
return { binds, where, joins };
|
|
34
|
+
}
|
|
35
|
+
export async function getScheduledPublishes(filter, tdb = db) {
|
|
36
|
+
const { binds, where, joins } = processFilters(filter);
|
|
37
|
+
const query = `SELECT sp.*, pages.dataId AS pageDataId FROM scheduledpublishes sp
|
|
38
|
+
INNER JOIN pages ON pages.id = sp.pageInternalId
|
|
39
|
+
${[...joins.values()].join('\n')}
|
|
40
|
+
WHERE (${where.join(') AND (')})
|
|
41
|
+
ORDER BY sp.targetDate ASC`;
|
|
42
|
+
const rows = await tdb.getall(query, binds);
|
|
43
|
+
return rows.map((row) => new ScheduledPublish(row));
|
|
44
|
+
}
|
|
45
|
+
export async function countScheduledPublishes(filter, tdb = db) {
|
|
46
|
+
const { binds, where, joins } = processFilters(filter);
|
|
47
|
+
const query = `SELECT COUNT(*) FROM scheduledpublishes sp
|
|
48
|
+
${[...joins.values()].join('\n')}
|
|
49
|
+
WHERE (${where.join(') AND (')})`;
|
|
50
|
+
return await tdb.getval(query, binds) ?? 0;
|
|
51
|
+
}
|
|
52
|
+
export async function createScheduledPublish(pageInternalId, action, targetDate, createdBy, recurrence) {
|
|
53
|
+
return await db.transaction(async (db) => {
|
|
54
|
+
await db.getrow('SELECT id FROM pages WHERE id = ? FOR UPDATE', [pageInternalId]);
|
|
55
|
+
const conflictingActions = action === ScheduledPublishAction.UNPUBLISH
|
|
56
|
+
? [ScheduledPublishAction.UNPUBLISH]
|
|
57
|
+
: [ScheduledPublishAction.PUBLISH, ScheduledPublishAction.PUBLISH_WITH_SUBPAGES];
|
|
58
|
+
const binds = [ScheduledPublishStatus.PENDING, pageInternalId];
|
|
59
|
+
const existing = await db.getval(`SELECT id FROM scheduledpublishes WHERE status = ? AND pageInternalId = ? AND action IN (${db.in(binds, conflictingActions)}) LIMIT 1`, binds);
|
|
60
|
+
if (existing)
|
|
61
|
+
throw new Error('An active schedule of this type already exists for this page.');
|
|
62
|
+
return await db.insert(`INSERT INTO scheduledpublishes (pageInternalId, action, targetDate, status, recur, recurInterval, timezone, createdAt, createdBy, updatedAt, updatedBy)
|
|
63
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, NOW(), ?, NOW(), ?)`, [pageInternalId, action, targetDate, ScheduledPublishStatus.PENDING, recurrence?.recur ?? null, recurrence?.recurInterval ?? null, recurrence?.timezone ?? null, createdBy, createdBy]);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export async function updateScheduledPublish(id, updates, tdb = db) {
|
|
67
|
+
await tdb.update('UPDATE scheduledpublishes SET action = ?, targetDate = ?, recur = ?, recurInterval = ?, timezone = ?, updatedAt = NOW(), updatedBy = ? WHERE id = ?', [updates.action, updates.targetDate, updates.recur, updates.recurInterval, updates.timezone, updates.updatedBy, id]);
|
|
68
|
+
}
|
|
69
|
+
export async function updateScheduledPublishStatus(id, status, error, tdb = db) {
|
|
70
|
+
const binds = [status, error ?? null, id];
|
|
71
|
+
await tdb.update('UPDATE scheduledpublishes SET status = ?, error = ? WHERE id = ?', binds);
|
|
72
|
+
}
|
|
73
|
+
export async function cancelActiveSchedulesForPages(pageInternalIds, tdb = db) {
|
|
74
|
+
if (!pageInternalIds.length)
|
|
75
|
+
return;
|
|
76
|
+
const binds = [ScheduledPublishStatus.CANCELLED, ScheduledPublishStatus.PENDING];
|
|
77
|
+
await tdb.update(`UPDATE scheduledpublishes SET status = ? WHERE status = ? AND pageInternalId IN (${db.in(binds, pageInternalIds)})`, binds);
|
|
78
|
+
}
|
|
79
|
+
export async function getDueSchedules(tdb = db) {
|
|
80
|
+
const rows = await tdb.getall(`SELECT sp.*, p.dataId AS pageDataId FROM scheduledpublishes sp
|
|
81
|
+
INNER JOIN pages p ON p.id = sp.pageInternalId
|
|
82
|
+
WHERE sp.status = ? AND sp.targetDate <= NOW()
|
|
83
|
+
ORDER BY sp.targetDate ASC`, [ScheduledPublishStatus.PENDING]);
|
|
84
|
+
return rows.map((row) => new ScheduledPublish(row));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=scheduledpublish.database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledpublish.database.js","sourceRoot":"","sources":["../../src/scheduledpublish/scheduledpublish.database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ValidatedResponse, type ValidatedResponseArgs } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { DateTime } from 'luxon';
|
|
3
|
+
import { type ScheduledPublishRow, type Page } from '../internal.js';
|
|
4
|
+
export declare enum ScheduledPublishAction {
|
|
5
|
+
PUBLISH = "PUBLISH",
|
|
6
|
+
PUBLISH_WITH_SUBPAGES = "PUBLISH_WITH_SUBPAGES",
|
|
7
|
+
UNPUBLISH = "UNPUBLISH"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ScheduledPublishStatus {
|
|
10
|
+
PENDING = "PENDING",
|
|
11
|
+
COMPLETED = "COMPLETED",
|
|
12
|
+
FAILED = "FAILED",
|
|
13
|
+
CANCELLED = "CANCELLED"
|
|
14
|
+
}
|
|
15
|
+
export declare enum ScheduledPublishRecurrence {
|
|
16
|
+
DAY = "DAY",
|
|
17
|
+
WEEK = "WEEK",
|
|
18
|
+
MONTH = "MONTH"
|
|
19
|
+
}
|
|
20
|
+
export declare class ScheduledPublishRecurrenceInfo {
|
|
21
|
+
type: ScheduledPublishRecurrence;
|
|
22
|
+
interval: number;
|
|
23
|
+
timezone: string;
|
|
24
|
+
constructor(type: ScheduledPublishRecurrence, interval: number, timezone: string);
|
|
25
|
+
}
|
|
26
|
+
export declare class ScheduledPublish {
|
|
27
|
+
id: string;
|
|
28
|
+
internalId: number;
|
|
29
|
+
pageInternalId: number;
|
|
30
|
+
pageDataId: string;
|
|
31
|
+
page?: Page;
|
|
32
|
+
action: ScheduledPublishAction;
|
|
33
|
+
targetDate: DateTime;
|
|
34
|
+
status: ScheduledPublishStatus;
|
|
35
|
+
recurrence?: ScheduledPublishRecurrenceInfo;
|
|
36
|
+
error?: string;
|
|
37
|
+
createdAt: DateTime;
|
|
38
|
+
createdBy: string;
|
|
39
|
+
updatedAt: DateTime;
|
|
40
|
+
updatedBy: string;
|
|
41
|
+
constructor(row: ScheduledPublishRow);
|
|
42
|
+
}
|
|
43
|
+
export declare class ScheduledPublishFilter {
|
|
44
|
+
ids?: string[];
|
|
45
|
+
internalIds?: number[];
|
|
46
|
+
pageIds?: string[];
|
|
47
|
+
pageInternalIds?: number[];
|
|
48
|
+
actions?: ScheduledPublishAction[];
|
|
49
|
+
statuses?: ScheduledPublishStatus[];
|
|
50
|
+
targetDateBefore?: DateTime;
|
|
51
|
+
targetDateAfter?: DateTime;
|
|
52
|
+
}
|
|
53
|
+
export declare class ScheduledPublishRecurrenceInput {
|
|
54
|
+
type: ScheduledPublishRecurrence;
|
|
55
|
+
interval?: number;
|
|
56
|
+
timezone?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare class CreateScheduledPublishInput {
|
|
59
|
+
pageId: string;
|
|
60
|
+
action: ScheduledPublishAction;
|
|
61
|
+
targetDate: DateTime;
|
|
62
|
+
recurrence?: ScheduledPublishRecurrenceInput;
|
|
63
|
+
}
|
|
64
|
+
export declare class UpdateScheduledPublishInput {
|
|
65
|
+
action: ScheduledPublishAction;
|
|
66
|
+
targetDate: DateTime;
|
|
67
|
+
recurrence?: ScheduledPublishRecurrenceInput | null;
|
|
68
|
+
}
|
|
69
|
+
export declare class ScheduledPublishResponse extends ValidatedResponse {
|
|
70
|
+
scheduledPublish?: ScheduledPublish;
|
|
71
|
+
constructor(config?: ValidatedResponseArgs & {
|
|
72
|
+
scheduledPublish?: ScheduledPublish;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export declare class ScheduledPublishPermissions {
|
|
76
|
+
}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
11
|
+
import { DateTime } from 'luxon';
|
|
12
|
+
import { Field, ID, InputType, Int, ObjectType, registerEnumType } from 'type-graphql';
|
|
13
|
+
export var ScheduledPublishAction;
|
|
14
|
+
(function (ScheduledPublishAction) {
|
|
15
|
+
ScheduledPublishAction["PUBLISH"] = "PUBLISH";
|
|
16
|
+
ScheduledPublishAction["PUBLISH_WITH_SUBPAGES"] = "PUBLISH_WITH_SUBPAGES";
|
|
17
|
+
ScheduledPublishAction["UNPUBLISH"] = "UNPUBLISH";
|
|
18
|
+
})(ScheduledPublishAction || (ScheduledPublishAction = {}));
|
|
19
|
+
registerEnumType(ScheduledPublishAction, {
|
|
20
|
+
name: 'ScheduledPublishAction',
|
|
21
|
+
description: 'The type of scheduled action to perform.',
|
|
22
|
+
valuesConfig: {
|
|
23
|
+
PUBLISH: { description: 'Publish the page only.' },
|
|
24
|
+
PUBLISH_WITH_SUBPAGES: { description: 'Publish the page and all sub-pages.' },
|
|
25
|
+
UNPUBLISH: { description: 'Unpublish the page and all sub-pages.' }
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export var ScheduledPublishStatus;
|
|
29
|
+
(function (ScheduledPublishStatus) {
|
|
30
|
+
ScheduledPublishStatus["PENDING"] = "PENDING";
|
|
31
|
+
ScheduledPublishStatus["COMPLETED"] = "COMPLETED";
|
|
32
|
+
ScheduledPublishStatus["FAILED"] = "FAILED";
|
|
33
|
+
ScheduledPublishStatus["CANCELLED"] = "CANCELLED";
|
|
34
|
+
})(ScheduledPublishStatus || (ScheduledPublishStatus = {}));
|
|
35
|
+
export var ScheduledPublishRecurrence;
|
|
36
|
+
(function (ScheduledPublishRecurrence) {
|
|
37
|
+
ScheduledPublishRecurrence["DAY"] = "DAY";
|
|
38
|
+
ScheduledPublishRecurrence["WEEK"] = "WEEK";
|
|
39
|
+
ScheduledPublishRecurrence["MONTH"] = "MONTH";
|
|
40
|
+
})(ScheduledPublishRecurrence || (ScheduledPublishRecurrence = {}));
|
|
41
|
+
registerEnumType(ScheduledPublishRecurrence, {
|
|
42
|
+
name: 'ScheduledPublishRecurrence',
|
|
43
|
+
description: 'The recurrence interval unit for a scheduled action.',
|
|
44
|
+
valuesConfig: {
|
|
45
|
+
DAY: { description: 'Recur every N days.' },
|
|
46
|
+
WEEK: { description: 'Recur every N weeks.' },
|
|
47
|
+
MONTH: { description: 'Recur every N months.' }
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
registerEnumType(ScheduledPublishStatus, {
|
|
51
|
+
name: 'ScheduledPublishStatus',
|
|
52
|
+
description: 'The current status of a scheduled publish entry.',
|
|
53
|
+
valuesConfig: {
|
|
54
|
+
PENDING: { description: 'Scheduled and waiting to execute.' },
|
|
55
|
+
COMPLETED: { description: 'Successfully executed.' },
|
|
56
|
+
FAILED: { description: 'Attempted to execute but encountered an error.' },
|
|
57
|
+
CANCELLED: { description: 'Cancelled by a user or by page deletion.' }
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
let ScheduledPublishRecurrenceInfo = class ScheduledPublishRecurrenceInfo {
|
|
61
|
+
type;
|
|
62
|
+
interval;
|
|
63
|
+
timezone;
|
|
64
|
+
constructor(type, interval, timezone) {
|
|
65
|
+
this.type = type;
|
|
66
|
+
this.interval = interval;
|
|
67
|
+
this.timezone = timezone;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
__decorate([
|
|
71
|
+
Field(type => ScheduledPublishRecurrence),
|
|
72
|
+
__metadata("design:type", String)
|
|
73
|
+
], ScheduledPublishRecurrenceInfo.prototype, "type", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
Field(type => Int, { description: 'Number of days/weeks/months between recurrences.' }),
|
|
76
|
+
__metadata("design:type", Number)
|
|
77
|
+
], ScheduledPublishRecurrenceInfo.prototype, "interval", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
Field({ description: 'IANA timezone for DST-safe recurrence date calculation.' }),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], ScheduledPublishRecurrenceInfo.prototype, "timezone", void 0);
|
|
82
|
+
ScheduledPublishRecurrenceInfo = __decorate([
|
|
83
|
+
ObjectType({ description: 'Recurrence configuration for a scheduled action.' }),
|
|
84
|
+
__metadata("design:paramtypes", [String, Number, String])
|
|
85
|
+
], ScheduledPublishRecurrenceInfo);
|
|
86
|
+
export { ScheduledPublishRecurrenceInfo };
|
|
87
|
+
let ScheduledPublish = class ScheduledPublish {
|
|
88
|
+
id;
|
|
89
|
+
internalId;
|
|
90
|
+
pageInternalId;
|
|
91
|
+
pageDataId;
|
|
92
|
+
page;
|
|
93
|
+
action;
|
|
94
|
+
targetDate;
|
|
95
|
+
status;
|
|
96
|
+
recurrence;
|
|
97
|
+
error;
|
|
98
|
+
createdAt;
|
|
99
|
+
createdBy;
|
|
100
|
+
updatedAt;
|
|
101
|
+
updatedBy;
|
|
102
|
+
constructor(row) {
|
|
103
|
+
this.internalId = row.id;
|
|
104
|
+
this.id = String(row.id);
|
|
105
|
+
this.pageInternalId = row.pageInternalId;
|
|
106
|
+
this.pageDataId = String(row.pageDataId ?? row.dataId);
|
|
107
|
+
this.action = row.action;
|
|
108
|
+
this.targetDate = DateTime.fromJSDate(row.targetDate);
|
|
109
|
+
this.status = row.status;
|
|
110
|
+
this.recurrence = row.recur ? new ScheduledPublishRecurrenceInfo(row.recur, row.recurInterval ?? 1, row.timezone ?? 'America/Chicago') : undefined;
|
|
111
|
+
this.error = row.error ?? undefined;
|
|
112
|
+
this.createdAt = DateTime.fromJSDate(row.createdAt);
|
|
113
|
+
this.createdBy = row.createdBy;
|
|
114
|
+
this.updatedAt = DateTime.fromJSDate(row.updatedAt);
|
|
115
|
+
this.updatedBy = row.updatedBy;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
__decorate([
|
|
119
|
+
Field(type => ID),
|
|
120
|
+
__metadata("design:type", String)
|
|
121
|
+
], ScheduledPublish.prototype, "id", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
Field(type => ScheduledPublishAction),
|
|
124
|
+
__metadata("design:type", String)
|
|
125
|
+
], ScheduledPublish.prototype, "action", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
Field({ description: 'The date and time at which this action will be executed.' }),
|
|
128
|
+
__metadata("design:type", DateTime)
|
|
129
|
+
], ScheduledPublish.prototype, "targetDate", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
Field(type => ScheduledPublishStatus),
|
|
132
|
+
__metadata("design:type", String)
|
|
133
|
+
], ScheduledPublish.prototype, "status", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
Field(type => ScheduledPublishRecurrenceInfo, { nullable: true, description: 'Recurrence configuration. When set, a new schedule is automatically created after execution.' }),
|
|
136
|
+
__metadata("design:type", ScheduledPublishRecurrenceInfo)
|
|
137
|
+
], ScheduledPublish.prototype, "recurrence", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
Field({ nullable: true, description: 'Error message recorded when the scheduled action failed.' }),
|
|
140
|
+
__metadata("design:type", String)
|
|
141
|
+
], ScheduledPublish.prototype, "error", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
Field(),
|
|
144
|
+
__metadata("design:type", DateTime)
|
|
145
|
+
], ScheduledPublish.prototype, "createdAt", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
Field(),
|
|
148
|
+
__metadata("design:type", DateTime)
|
|
149
|
+
], ScheduledPublish.prototype, "updatedAt", void 0);
|
|
150
|
+
ScheduledPublish = __decorate([
|
|
151
|
+
ObjectType({ description: 'A scheduled publish or unpublish action for a page.' }),
|
|
152
|
+
__metadata("design:paramtypes", [Object])
|
|
153
|
+
], ScheduledPublish);
|
|
154
|
+
export { ScheduledPublish };
|
|
155
|
+
let ScheduledPublishFilter = class ScheduledPublishFilter {
|
|
156
|
+
ids;
|
|
157
|
+
internalIds;
|
|
158
|
+
pageIds;
|
|
159
|
+
pageInternalIds;
|
|
160
|
+
actions;
|
|
161
|
+
statuses;
|
|
162
|
+
targetDateBefore;
|
|
163
|
+
targetDateAfter;
|
|
164
|
+
};
|
|
165
|
+
__decorate([
|
|
166
|
+
Field(type => [ID], { nullable: true }),
|
|
167
|
+
__metadata("design:type", Array)
|
|
168
|
+
], ScheduledPublishFilter.prototype, "ids", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
Field(type => [ID], { nullable: true, description: 'Filter by page data IDs.' }),
|
|
171
|
+
__metadata("design:type", Array)
|
|
172
|
+
], ScheduledPublishFilter.prototype, "pageIds", void 0);
|
|
173
|
+
__decorate([
|
|
174
|
+
Field(type => [ScheduledPublishAction], { nullable: true }),
|
|
175
|
+
__metadata("design:type", Array)
|
|
176
|
+
], ScheduledPublishFilter.prototype, "actions", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
Field(type => [ScheduledPublishStatus], { nullable: true, description: 'Filter by status. Defaults to [PENDING] if not specified.' }),
|
|
179
|
+
__metadata("design:type", Array)
|
|
180
|
+
], ScheduledPublishFilter.prototype, "statuses", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
Field({ nullable: true, description: 'Return schedules with target date before this date.' }),
|
|
183
|
+
__metadata("design:type", DateTime)
|
|
184
|
+
], ScheduledPublishFilter.prototype, "targetDateBefore", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
Field({ nullable: true, description: 'Return schedules with target date after this date.' }),
|
|
187
|
+
__metadata("design:type", DateTime)
|
|
188
|
+
], ScheduledPublishFilter.prototype, "targetDateAfter", void 0);
|
|
189
|
+
ScheduledPublishFilter = __decorate([
|
|
190
|
+
InputType()
|
|
191
|
+
], ScheduledPublishFilter);
|
|
192
|
+
export { ScheduledPublishFilter };
|
|
193
|
+
let ScheduledPublishRecurrenceInput = class ScheduledPublishRecurrenceInput {
|
|
194
|
+
type;
|
|
195
|
+
interval;
|
|
196
|
+
timezone;
|
|
197
|
+
};
|
|
198
|
+
__decorate([
|
|
199
|
+
Field(type => ScheduledPublishRecurrence),
|
|
200
|
+
__metadata("design:type", String)
|
|
201
|
+
], ScheduledPublishRecurrenceInput.prototype, "type", void 0);
|
|
202
|
+
__decorate([
|
|
203
|
+
Field(type => Int, { nullable: true, description: 'Number of days/weeks/months between recurrences. Defaults to 1.' }),
|
|
204
|
+
__metadata("design:type", Number)
|
|
205
|
+
], ScheduledPublishRecurrenceInput.prototype, "interval", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
Field({ nullable: true, description: 'IANA timezone for DST-safe recurrence date calculation. Defaults to server timezone.' }),
|
|
208
|
+
__metadata("design:type", String)
|
|
209
|
+
], ScheduledPublishRecurrenceInput.prototype, "timezone", void 0);
|
|
210
|
+
ScheduledPublishRecurrenceInput = __decorate([
|
|
211
|
+
InputType({ description: 'Recurrence configuration input.' })
|
|
212
|
+
], ScheduledPublishRecurrenceInput);
|
|
213
|
+
export { ScheduledPublishRecurrenceInput };
|
|
214
|
+
let CreateScheduledPublishInput = class CreateScheduledPublishInput {
|
|
215
|
+
pageId;
|
|
216
|
+
action;
|
|
217
|
+
targetDate;
|
|
218
|
+
recurrence;
|
|
219
|
+
};
|
|
220
|
+
__decorate([
|
|
221
|
+
Field(type => ID),
|
|
222
|
+
__metadata("design:type", String)
|
|
223
|
+
], CreateScheduledPublishInput.prototype, "pageId", void 0);
|
|
224
|
+
__decorate([
|
|
225
|
+
Field(type => ScheduledPublishAction),
|
|
226
|
+
__metadata("design:type", String)
|
|
227
|
+
], CreateScheduledPublishInput.prototype, "action", void 0);
|
|
228
|
+
__decorate([
|
|
229
|
+
Field({ description: 'The date and time to execute the action. Must be at least 5 minutes in the future.' }),
|
|
230
|
+
__metadata("design:type", DateTime)
|
|
231
|
+
], CreateScheduledPublishInput.prototype, "targetDate", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
Field(type => ScheduledPublishRecurrenceInput, { nullable: true, description: 'Recurrence configuration. When set, a new schedule is automatically created after execution.' }),
|
|
234
|
+
__metadata("design:type", ScheduledPublishRecurrenceInput)
|
|
235
|
+
], CreateScheduledPublishInput.prototype, "recurrence", void 0);
|
|
236
|
+
CreateScheduledPublishInput = __decorate([
|
|
237
|
+
InputType()
|
|
238
|
+
], CreateScheduledPublishInput);
|
|
239
|
+
export { CreateScheduledPublishInput };
|
|
240
|
+
let UpdateScheduledPublishInput = class UpdateScheduledPublishInput {
|
|
241
|
+
action;
|
|
242
|
+
targetDate;
|
|
243
|
+
recurrence;
|
|
244
|
+
};
|
|
245
|
+
__decorate([
|
|
246
|
+
Field(type => ScheduledPublishAction),
|
|
247
|
+
__metadata("design:type", String)
|
|
248
|
+
], UpdateScheduledPublishInput.prototype, "action", void 0);
|
|
249
|
+
__decorate([
|
|
250
|
+
Field({ description: 'New target date. Must be at least 5 minutes in the future.' }),
|
|
251
|
+
__metadata("design:type", DateTime)
|
|
252
|
+
], UpdateScheduledPublishInput.prototype, "targetDate", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
Field(type => ScheduledPublishRecurrenceInput, { nullable: true, description: 'Recurrence configuration. Set to null to remove recurrence.' }),
|
|
255
|
+
__metadata("design:type", Object)
|
|
256
|
+
], UpdateScheduledPublishInput.prototype, "recurrence", void 0);
|
|
257
|
+
UpdateScheduledPublishInput = __decorate([
|
|
258
|
+
InputType()
|
|
259
|
+
], UpdateScheduledPublishInput);
|
|
260
|
+
export { UpdateScheduledPublishInput };
|
|
261
|
+
let ScheduledPublishResponse = class ScheduledPublishResponse extends ValidatedResponse {
|
|
262
|
+
scheduledPublish;
|
|
263
|
+
constructor(config) {
|
|
264
|
+
super(config ?? {});
|
|
265
|
+
this.scheduledPublish = config?.scheduledPublish;
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
__decorate([
|
|
269
|
+
Field({ nullable: true }),
|
|
270
|
+
__metadata("design:type", ScheduledPublish)
|
|
271
|
+
], ScheduledPublishResponse.prototype, "scheduledPublish", void 0);
|
|
272
|
+
ScheduledPublishResponse = __decorate([
|
|
273
|
+
ObjectType(),
|
|
274
|
+
__metadata("design:paramtypes", [Object])
|
|
275
|
+
], ScheduledPublishResponse);
|
|
276
|
+
export { ScheduledPublishResponse };
|
|
277
|
+
let ScheduledPublishPermissions = class ScheduledPublishPermissions {
|
|
278
|
+
};
|
|
279
|
+
ScheduledPublishPermissions = __decorate([
|
|
280
|
+
ObjectType()
|
|
281
|
+
], ScheduledPublishPermissions);
|
|
282
|
+
export { ScheduledPublishPermissions };
|
|
283
|
+
//# sourceMappingURL=scheduledpublish.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledpublish.model.js","sourceRoot":"","sources":["../../src/scheduledpublish/scheduledpublish.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Context } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { ScheduledPublish, ScheduledPublishFilter, ScheduledPublishResponse, CreateScheduledPublishInput, UpdateScheduledPublishInput, Page, User } from '../internal.js';
|
|
3
|
+
export declare class ScheduledPublishResolver {
|
|
4
|
+
scheduledPublishes(ctx: Context, filter?: ScheduledPublishFilter): Promise<ScheduledPublish[]>;
|
|
5
|
+
createScheduledPublish(ctx: Context, args: CreateScheduledPublishInput, validateOnly?: boolean): Promise<ScheduledPublishResponse>;
|
|
6
|
+
updateScheduledPublish(ctx: Context, scheduledPublishId: string, args: UpdateScheduledPublishInput, validateOnly?: boolean): Promise<ScheduledPublishResponse>;
|
|
7
|
+
cancelScheduledPublish(ctx: Context, scheduledPublishId: string): Promise<ScheduledPublishResponse>;
|
|
8
|
+
page(ctx: Context, schedule: ScheduledPublish): Promise<Page | undefined>;
|
|
9
|
+
createdByUser(ctx: Context, schedule: ScheduledPublish): Promise<User | undefined>;
|
|
10
|
+
updatedByUser(ctx: Context, schedule: ScheduledPublish): Promise<User | undefined>;
|
|
11
|
+
permissions(schedule: ScheduledPublish): ScheduledPublish;
|
|
12
|
+
}
|
|
13
|
+
export declare class ScheduledPublishPermissionsResolver {
|
|
14
|
+
edit(ctx: Context, schedule: ScheduledPublish): Promise<boolean>;
|
|
15
|
+
cancel(ctx: Context, schedule: ScheduledPublish): Promise<boolean>;
|
|
16
|
+
}
|