@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,143 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Context } from '@txstate-mws/graphql-server';
|
|
14
|
+
import { Resolver, Query, Arg, Ctx, FieldResolver, Root, Mutation, ID } from 'type-graphql';
|
|
15
|
+
import { ScheduledPublish, ScheduledPublishFilter, ScheduledPublishResponse, ScheduledPublishPermissions, ScheduledPublishService, CreateScheduledPublishInput, UpdateScheduledPublishInput, Page, PageServiceInternal, User, UserService } from '../internal.js';
|
|
16
|
+
let ScheduledPublishResolver = class ScheduledPublishResolver {
|
|
17
|
+
async scheduledPublishes(ctx, filter) {
|
|
18
|
+
return await ctx.svc(ScheduledPublishService).find(filter);
|
|
19
|
+
}
|
|
20
|
+
async createScheduledPublish(ctx, args, validateOnly) {
|
|
21
|
+
return await ctx.svc(ScheduledPublishService).create(args, validateOnly);
|
|
22
|
+
}
|
|
23
|
+
async updateScheduledPublish(ctx, scheduledPublishId, args, validateOnly) {
|
|
24
|
+
return await ctx.svc(ScheduledPublishService).update(scheduledPublishId, args, validateOnly);
|
|
25
|
+
}
|
|
26
|
+
async cancelScheduledPublish(ctx, scheduledPublishId) {
|
|
27
|
+
return await ctx.svc(ScheduledPublishService).cancel(scheduledPublishId);
|
|
28
|
+
}
|
|
29
|
+
async page(ctx, schedule) {
|
|
30
|
+
return await ctx.svc(PageServiceInternal).findByInternalId(schedule.pageInternalId);
|
|
31
|
+
}
|
|
32
|
+
async createdByUser(ctx, schedule) {
|
|
33
|
+
return await ctx.svc(UserService).findById(schedule.createdBy);
|
|
34
|
+
}
|
|
35
|
+
async updatedByUser(ctx, schedule) {
|
|
36
|
+
return await ctx.svc(UserService).findById(schedule.updatedBy);
|
|
37
|
+
}
|
|
38
|
+
permissions(schedule) {
|
|
39
|
+
return schedule;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
__decorate([
|
|
43
|
+
Query(returns => [ScheduledPublish], { description: 'Retrieve scheduled publish entries. Defaults to showing only active schedules.' }),
|
|
44
|
+
__param(0, Ctx()),
|
|
45
|
+
__param(1, Arg('filter', { nullable: true })),
|
|
46
|
+
__metadata("design:type", Function),
|
|
47
|
+
__metadata("design:paramtypes", [Context, ScheduledPublishFilter]),
|
|
48
|
+
__metadata("design:returntype", Promise)
|
|
49
|
+
], ScheduledPublishResolver.prototype, "scheduledPublishes", null);
|
|
50
|
+
__decorate([
|
|
51
|
+
Mutation(returns => ScheduledPublishResponse, { description: 'Schedule a future publish or unpublish action for a page.' }),
|
|
52
|
+
__param(0, Ctx()),
|
|
53
|
+
__param(1, Arg('args')),
|
|
54
|
+
__param(2, Arg('validateOnly', { nullable: true, description: 'When true, the mutation will not save but will return the validation response as normal.' })),
|
|
55
|
+
__metadata("design:type", Function),
|
|
56
|
+
__metadata("design:paramtypes", [Context,
|
|
57
|
+
CreateScheduledPublishInput, Boolean]),
|
|
58
|
+
__metadata("design:returntype", Promise)
|
|
59
|
+
], ScheduledPublishResolver.prototype, "createScheduledPublish", null);
|
|
60
|
+
__decorate([
|
|
61
|
+
Mutation(returns => ScheduledPublishResponse, { description: 'Update a scheduled publish entry.' }),
|
|
62
|
+
__param(0, Ctx()),
|
|
63
|
+
__param(1, Arg('scheduledPublishId', type => ID)),
|
|
64
|
+
__param(2, Arg('args')),
|
|
65
|
+
__param(3, Arg('validateOnly', { nullable: true, description: 'When true, the mutation will not save but will return the validation response as normal.' })),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", [Context, String, UpdateScheduledPublishInput, Boolean]),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], ScheduledPublishResolver.prototype, "updateScheduledPublish", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
Mutation(returns => ScheduledPublishResponse, { description: 'Cancel a scheduled publish entry.' }),
|
|
72
|
+
__param(0, Ctx()),
|
|
73
|
+
__param(1, Arg('scheduledPublishId', type => ID)),
|
|
74
|
+
__metadata("design:type", Function),
|
|
75
|
+
__metadata("design:paramtypes", [Context, String]),
|
|
76
|
+
__metadata("design:returntype", Promise)
|
|
77
|
+
], ScheduledPublishResolver.prototype, "cancelScheduledPublish", null);
|
|
78
|
+
__decorate([
|
|
79
|
+
FieldResolver(returns => Page, { nullable: true, description: 'The page this schedule applies to.' }),
|
|
80
|
+
__param(0, Ctx()),
|
|
81
|
+
__param(1, Root()),
|
|
82
|
+
__metadata("design:type", Function),
|
|
83
|
+
__metadata("design:paramtypes", [Context, ScheduledPublish]),
|
|
84
|
+
__metadata("design:returntype", Promise)
|
|
85
|
+
], ScheduledPublishResolver.prototype, "page", null);
|
|
86
|
+
__decorate([
|
|
87
|
+
FieldResolver(returns => User, { nullable: true, description: 'The user who created this schedule entry.' }),
|
|
88
|
+
__param(0, Ctx()),
|
|
89
|
+
__param(1, Root()),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", [Context, ScheduledPublish]),
|
|
92
|
+
__metadata("design:returntype", Promise)
|
|
93
|
+
], ScheduledPublishResolver.prototype, "createdByUser", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
FieldResolver(returns => User, { nullable: true, description: 'The user who last updated this schedule entry. This is the user whose permissions will be used when executing.' }),
|
|
96
|
+
__param(0, Ctx()),
|
|
97
|
+
__param(1, Root()),
|
|
98
|
+
__metadata("design:type", Function),
|
|
99
|
+
__metadata("design:paramtypes", [Context, ScheduledPublish]),
|
|
100
|
+
__metadata("design:returntype", Promise)
|
|
101
|
+
], ScheduledPublishResolver.prototype, "updatedByUser", null);
|
|
102
|
+
__decorate([
|
|
103
|
+
FieldResolver(returns => ScheduledPublishPermissions, {
|
|
104
|
+
description: 'Reveal the simplified results after all authorization rules are taken into account for the current user.'
|
|
105
|
+
}),
|
|
106
|
+
__param(0, Root()),
|
|
107
|
+
__metadata("design:type", Function),
|
|
108
|
+
__metadata("design:paramtypes", [ScheduledPublish]),
|
|
109
|
+
__metadata("design:returntype", void 0)
|
|
110
|
+
], ScheduledPublishResolver.prototype, "permissions", null);
|
|
111
|
+
ScheduledPublishResolver = __decorate([
|
|
112
|
+
Resolver(of => ScheduledPublish)
|
|
113
|
+
], ScheduledPublishResolver);
|
|
114
|
+
export { ScheduledPublishResolver };
|
|
115
|
+
let ScheduledPublishPermissionsResolver = class ScheduledPublishPermissionsResolver {
|
|
116
|
+
async edit(ctx, schedule) {
|
|
117
|
+
return await ctx.svc(ScheduledPublishService).mayEdit(schedule);
|
|
118
|
+
}
|
|
119
|
+
async cancel(ctx, schedule) {
|
|
120
|
+
return await ctx.svc(ScheduledPublishService).mayCancel(schedule);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
__decorate([
|
|
124
|
+
FieldResolver(returns => Boolean, { description: 'User may edit this schedule entry.' }),
|
|
125
|
+
__param(0, Ctx()),
|
|
126
|
+
__param(1, Root()),
|
|
127
|
+
__metadata("design:type", Function),
|
|
128
|
+
__metadata("design:paramtypes", [Context, ScheduledPublish]),
|
|
129
|
+
__metadata("design:returntype", Promise)
|
|
130
|
+
], ScheduledPublishPermissionsResolver.prototype, "edit", null);
|
|
131
|
+
__decorate([
|
|
132
|
+
FieldResolver(returns => Boolean, { description: 'User may cancel this schedule entry.' }),
|
|
133
|
+
__param(0, Ctx()),
|
|
134
|
+
__param(1, Root()),
|
|
135
|
+
__metadata("design:type", Function),
|
|
136
|
+
__metadata("design:paramtypes", [Context, ScheduledPublish]),
|
|
137
|
+
__metadata("design:returntype", Promise)
|
|
138
|
+
], ScheduledPublishPermissionsResolver.prototype, "cancel", null);
|
|
139
|
+
ScheduledPublishPermissionsResolver = __decorate([
|
|
140
|
+
Resolver(of => ScheduledPublishPermissions)
|
|
141
|
+
], ScheduledPublishPermissionsResolver);
|
|
142
|
+
export { ScheduledPublishPermissionsResolver };
|
|
143
|
+
//# sourceMappingURL=scheduledpublish.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledpublish.resolver.js","sourceRoot":"","sources":["../../src/scheduledpublish/scheduledpublish.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseService } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { DosGatoService, type ScheduledPublishFilter, type ScheduledPublish, ScheduledPublishResponse, type CreateScheduledPublishInput, type UpdateScheduledPublishInput } from '../internal.js';
|
|
3
|
+
export declare class ScheduledPublishServiceInternal extends BaseService {
|
|
4
|
+
find(filter?: ScheduledPublishFilter): Promise<ScheduledPublish[]>;
|
|
5
|
+
findById(id: number): Promise<ScheduledPublish | undefined>;
|
|
6
|
+
findByPageInternalId(pageInternalId: number, filter?: ScheduledPublishFilter): Promise<ScheduledPublish[]>;
|
|
7
|
+
count(filter?: ScheduledPublishFilter): Promise<number>;
|
|
8
|
+
}
|
|
9
|
+
export declare class ScheduledPublishService extends DosGatoService<ScheduledPublish> {
|
|
10
|
+
raw: ScheduledPublishServiceInternal;
|
|
11
|
+
find(filter?: ScheduledPublishFilter): Promise<ScheduledPublish[]>;
|
|
12
|
+
findById(id: number): Promise<ScheduledPublish | undefined>;
|
|
13
|
+
findByPageInternalId(pageInternalId: number, filter?: ScheduledPublishFilter): Promise<ScheduledPublish[]>;
|
|
14
|
+
count(filter?: ScheduledPublishFilter): Promise<number>;
|
|
15
|
+
mayView(sp: ScheduledPublish): boolean;
|
|
16
|
+
private loadPages;
|
|
17
|
+
create(args: CreateScheduledPublishInput, validateOnly?: boolean): Promise<ScheduledPublishResponse>;
|
|
18
|
+
update(scheduledPublishId: string, args: UpdateScheduledPublishInput, validateOnly?: boolean): Promise<ScheduledPublishResponse>;
|
|
19
|
+
cancel(scheduledPublishId: string): Promise<ScheduledPublishResponse>;
|
|
20
|
+
mayEdit(schedule: ScheduledPublish): Promise<boolean>;
|
|
21
|
+
mayCancel(schedule: ScheduledPublish): Promise<boolean>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { BaseService, MutationMessageType } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { OneToManyLoader, PrimaryKeyLoader } from 'dataloader-factory';
|
|
3
|
+
import { DateTime } from 'luxon';
|
|
4
|
+
import { DosGatoService, ScheduledPublishStatus, ScheduledPublishAction, ScheduledPublishRecurrence, ScheduledPublishResponse, PageServiceInternal, PageService, getScheduledPublishes, countScheduledPublishes, createScheduledPublish, updateScheduledPublish, updateScheduledPublishStatus } from '../internal.js';
|
|
5
|
+
const scheduledPublishByIdLoader = new PrimaryKeyLoader({
|
|
6
|
+
fetch: async (ids) => {
|
|
7
|
+
return await getScheduledPublishes({ internalIds: ids, statuses: [ScheduledPublishStatus.PENDING, ScheduledPublishStatus.COMPLETED, ScheduledPublishStatus.FAILED, ScheduledPublishStatus.CANCELLED] });
|
|
8
|
+
},
|
|
9
|
+
extractId: (item) => item.internalId
|
|
10
|
+
});
|
|
11
|
+
const scheduledPublishByPageInternalIdLoader = new OneToManyLoader({
|
|
12
|
+
fetch: async (pageInternalIds, filter) => {
|
|
13
|
+
return await getScheduledPublishes({ ...filter, pageInternalIds });
|
|
14
|
+
},
|
|
15
|
+
extractKey: (sp) => sp.pageInternalId,
|
|
16
|
+
idLoader: scheduledPublishByIdLoader
|
|
17
|
+
});
|
|
18
|
+
export class ScheduledPublishServiceInternal extends BaseService {
|
|
19
|
+
async find(filter) {
|
|
20
|
+
const schedules = await getScheduledPublishes(filter);
|
|
21
|
+
for (const sp of schedules) {
|
|
22
|
+
this.loaders.get(scheduledPublishByIdLoader).prime(sp.internalId, sp);
|
|
23
|
+
}
|
|
24
|
+
return schedules;
|
|
25
|
+
}
|
|
26
|
+
async findById(id) {
|
|
27
|
+
return await this.loaders.get(scheduledPublishByIdLoader).load(id);
|
|
28
|
+
}
|
|
29
|
+
async findByPageInternalId(pageInternalId, filter) {
|
|
30
|
+
return await this.loaders.get(scheduledPublishByPageInternalIdLoader, filter).load(pageInternalId);
|
|
31
|
+
}
|
|
32
|
+
async count(filter) {
|
|
33
|
+
return await countScheduledPublishes(filter);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class ScheduledPublishService extends DosGatoService {
|
|
37
|
+
raw = this.svc(ScheduledPublishServiceInternal);
|
|
38
|
+
async find(filter) {
|
|
39
|
+
const schedules = await this.raw.find(filter);
|
|
40
|
+
await this.loadPages(schedules);
|
|
41
|
+
return this.removeUnauthorized(schedules);
|
|
42
|
+
}
|
|
43
|
+
async findById(id) {
|
|
44
|
+
const sp = await this.raw.findById(id);
|
|
45
|
+
if (sp)
|
|
46
|
+
await this.loadPages([sp]);
|
|
47
|
+
return this.removeUnauthorized(sp);
|
|
48
|
+
}
|
|
49
|
+
async findByPageInternalId(pageInternalId, filter) {
|
|
50
|
+
const schedules = await this.raw.findByPageInternalId(pageInternalId, filter);
|
|
51
|
+
await this.loadPages(schedules);
|
|
52
|
+
return this.removeUnauthorized(schedules);
|
|
53
|
+
}
|
|
54
|
+
async count(filter) {
|
|
55
|
+
return await this.raw.count(filter);
|
|
56
|
+
}
|
|
57
|
+
mayView(sp) {
|
|
58
|
+
if (!sp.page)
|
|
59
|
+
return false;
|
|
60
|
+
return this.svc(PageService).mayViewForEdit(sp.page);
|
|
61
|
+
}
|
|
62
|
+
async loadPages(schedules) {
|
|
63
|
+
const pageSvc = this.svc(PageServiceInternal);
|
|
64
|
+
await Promise.all(schedules.map(async (sp) => {
|
|
65
|
+
sp.page ??= await pageSvc.findByInternalId(sp.pageInternalId);
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
async create(args, validateOnly) {
|
|
69
|
+
const page = await this.svc(PageServiceInternal).findById(args.pageId);
|
|
70
|
+
if (!page)
|
|
71
|
+
throw new Error('Page not found.');
|
|
72
|
+
const parent = page.parentInternalId ? await this.svc(PageServiceInternal).findByInternalId(page.parentInternalId) : null;
|
|
73
|
+
const pageSvc = this.svc(PageService);
|
|
74
|
+
const response = new ScheduledPublishResponse({ success: true });
|
|
75
|
+
if (args.action === ScheduledPublishAction.UNPUBLISH) {
|
|
76
|
+
if (!await pageSvc.mayScheduleUnpublish(page))
|
|
77
|
+
throw new Error('You are not permitted to schedule an unpublish for this page, or an active unpublish schedule already exists.');
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (!await pageSvc.maySchedulePublish(page))
|
|
81
|
+
throw new Error('You are not permitted to schedule a publish for this page, or an active publish schedule already exists.');
|
|
82
|
+
if (parent && !parent.published)
|
|
83
|
+
response.addMessage('This page\'s parent is not published. If the parent page is still not published at the targeted time, this scheduled publish will fail.', 'targetDate', MutationMessageType.warning);
|
|
84
|
+
}
|
|
85
|
+
validate(response, args);
|
|
86
|
+
if (response.hasErrors() || validateOnly)
|
|
87
|
+
return response;
|
|
88
|
+
const recurrence = args.recurrence
|
|
89
|
+
? { recur: args.recurrence.type, recurInterval: args.recurrence.interval ?? 1, timezone: args.recurrence.timezone ?? process.env.TZ ?? 'America/Chicago' }
|
|
90
|
+
: undefined;
|
|
91
|
+
const id = await createScheduledPublish(page.internalId, args.action, args.targetDate.toJSDate(), this.login, recurrence);
|
|
92
|
+
this.loaders.clear();
|
|
93
|
+
const created = await this.raw.findById(id);
|
|
94
|
+
response.scheduledPublish = created;
|
|
95
|
+
return response;
|
|
96
|
+
}
|
|
97
|
+
async update(scheduledPublishId, args, validateOnly) {
|
|
98
|
+
const schedule = await this.raw.findById(Number(scheduledPublishId));
|
|
99
|
+
if (!schedule || !await this.mayEdit(schedule))
|
|
100
|
+
throw new Error('You are not permitted to edit this schedule.');
|
|
101
|
+
if ((schedule.action === ScheduledPublishAction.UNPUBLISH && args.action !== ScheduledPublishAction.UNPUBLISH) ||
|
|
102
|
+
(schedule.action !== ScheduledPublishAction.UNPUBLISH && args.action === ScheduledPublishAction.UNPUBLISH)) {
|
|
103
|
+
throw new Error('An unpublish schedule cannot be changed to a publish schedule, and vice versa.');
|
|
104
|
+
}
|
|
105
|
+
const response = new ScheduledPublishResponse({ success: true });
|
|
106
|
+
validate(response, args);
|
|
107
|
+
if (response.hasErrors() || validateOnly)
|
|
108
|
+
return response;
|
|
109
|
+
await updateScheduledPublish(schedule.internalId, {
|
|
110
|
+
action: args.action,
|
|
111
|
+
targetDate: args.targetDate.toJSDate(),
|
|
112
|
+
recur: args.recurrence?.type ?? null,
|
|
113
|
+
recurInterval: args.recurrence ? (args.recurrence.interval ?? 1) : null,
|
|
114
|
+
timezone: args.recurrence ? (args.recurrence.timezone ?? process.env.TZ ?? 'America/Chicago') : null,
|
|
115
|
+
updatedBy: this.login
|
|
116
|
+
});
|
|
117
|
+
this.loaders.clear();
|
|
118
|
+
const updated = await this.raw.findById(schedule.internalId);
|
|
119
|
+
response.scheduledPublish = updated;
|
|
120
|
+
return response;
|
|
121
|
+
}
|
|
122
|
+
async cancel(scheduledPublishId) {
|
|
123
|
+
const schedule = await this.raw.findById(Number(scheduledPublishId));
|
|
124
|
+
if (!schedule || !await this.mayCancel(schedule))
|
|
125
|
+
throw new Error('You are not permitted to cancel this schedule.');
|
|
126
|
+
await updateScheduledPublishStatus(schedule.internalId, ScheduledPublishStatus.CANCELLED);
|
|
127
|
+
this.loaders.clear();
|
|
128
|
+
const cancelled = await this.raw.findById(schedule.internalId);
|
|
129
|
+
return new ScheduledPublishResponse({ success: true, scheduledPublish: cancelled });
|
|
130
|
+
}
|
|
131
|
+
async mayEdit(schedule) {
|
|
132
|
+
if (schedule.status !== ScheduledPublishStatus.PENDING)
|
|
133
|
+
return false;
|
|
134
|
+
const page = schedule.page ?? await this.svc(PageServiceInternal).findByInternalId(schedule.pageInternalId);
|
|
135
|
+
if (!page)
|
|
136
|
+
return false;
|
|
137
|
+
if (schedule.action === ScheduledPublishAction.UNPUBLISH) {
|
|
138
|
+
return await this.svc(PageService).mayScheduleUnpublish(page, schedule.internalId);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return await this.svc(PageService).maySchedulePublish(page, schedule.internalId);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
async mayCancel(schedule) {
|
|
145
|
+
return await this.mayEdit(schedule);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const maxRecurInterval = {
|
|
149
|
+
[ScheduledPublishRecurrence.DAY]: 365,
|
|
150
|
+
[ScheduledPublishRecurrence.WEEK]: 52,
|
|
151
|
+
[ScheduledPublishRecurrence.MONTH]: 12
|
|
152
|
+
};
|
|
153
|
+
function validate(response, args) {
|
|
154
|
+
if (args.targetDate <= DateTime.now().plus({ minutes: 5 })) {
|
|
155
|
+
response.addMessage('Target date must be at least 5 minutes in the future.', 'args.targetDate', MutationMessageType.error);
|
|
156
|
+
}
|
|
157
|
+
if (args.targetDate > DateTime.now().plus({ years: 1 })) {
|
|
158
|
+
response.addMessage('Target date may not be more than a year in the future.', 'args.targetDate', MutationMessageType.error);
|
|
159
|
+
}
|
|
160
|
+
if (args.recurrence) {
|
|
161
|
+
const interval = args.recurrence.interval ?? 1;
|
|
162
|
+
if (interval < 1) {
|
|
163
|
+
response.addMessage('Recurrence interval must be at least 1.', 'args.recurrence.interval', MutationMessageType.error);
|
|
164
|
+
}
|
|
165
|
+
else if (interval > maxRecurInterval[args.recurrence.type]) {
|
|
166
|
+
response.addMessage(`Recurrence interval may not exceed ${maxRecurInterval[args.recurrence.type]} for ${args.recurrence.type} recurrence.`, 'args.recurrence.interval', MutationMessageType.error);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=scheduledpublish.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduledpublish.service.js","sourceRoot":"","sources":["../../src/scheduledpublish/scheduledpublish.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EACL,cAAc,EAAsD,sBAAsB,EAC1F,sBAAsB,EAAE,0BAA0B,EAAE,wBAAwB,EAC1C,mBAAmB,EAAE,WAAW,EAClE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,sBAAsB,EAC9F,4BAA4B,EAC7B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,0BAA0B,GAAG,IAAI,gBAAgB,CAAC;IACtD,KAAK,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;QAC7B,OAAO,MAAM,qBAAqB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACzM,CAAC;IACD,SAAS,EAAE,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU;CACvD,CAAC,CAAA;AAEF,MAAM,sCAAsC,GAAG,IAAI,eAAe,CAAC;IACjE,KAAK,EAAE,KAAK,EAAE,eAAyB,EAAE,MAA+B,EAAE,EAAE;QAC1E,OAAO,MAAM,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,UAAU,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc;IACvD,QAAQ,EAAE,0BAA0B;CACrC,CAAC,CAAA;AAEF,MAAM,OAAO,+BAAgC,SAAQ,WAAW;IAC9D,KAAK,CAAC,IAAI,CAAE,MAA+B;QACzC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACrD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAE,cAAsB,EAAE,MAA+B;QACjF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACpG,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAA+B;QAC1C,OAAO,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAgC;IAC3E,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAE/C,KAAK,CAAC,IAAI,CAAE,MAA+B;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,EAAE;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAE,cAAsB,EAAE,MAA+B;QACjF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAC7E,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAA+B;QAC1C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAE,EAAoB;QAC3B,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAE,SAA6B;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YACzC,EAAE,CAAC,IAAI,KAAK,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAiC,EAAE,YAAsB;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAA;QACjL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC,CAAA;YACxK,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,QAAQ,CAAC,UAAU,CAAC,yIAAyI,EAAE,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC5O,CAAC;QACD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxB,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,YAAY;YAAE,OAAO,QAAQ,CAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;YAChC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,iBAAiB,EAAE;YAC1J,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,EAAE,GAAG,MAAM,sBAAsB,CACrC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CAAC,KAAK,EACV,UAAU,CACX,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC3C,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAA;QACnC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,kBAA0B,EAAE,IAAiC,EAAE,YAAsB;QACjG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC/G,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,CAAC;YAC5G,CAAC,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7G,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACnG,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxB,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,YAAY;YAAE,OAAO,QAAQ,CAAA;QACzD,MAAM,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE;YAChD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI;YACpC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;YACpG,SAAS,EAAE,IAAI,CAAC,KAAK;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC5D,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAA;QACnC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,kBAA0B;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnH,MAAM,4BAA4B,CAAC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACzF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO,IAAI,wBAAwB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,QAA0B;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC3G,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,QAA0B;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACF;AAED,MAAM,gBAAgB,GAA+C;IACnE,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,GAAG;IACrC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,EAAE;IACrC,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,EAAE;CACvC,CAAA;AAED,SAAS,QAAQ,CAAE,QAAkC,EAAE,IAA+D;IACpH,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3D,QAAQ,CAAC,UAAU,CAAC,uDAAuD,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC5H,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxD,QAAQ,CAAC,UAAU,CAAC,wDAAwD,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7H,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAA;QAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,QAAQ,CAAC,UAAU,CAAC,yCAAyC,EAAE,0BAA0B,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACvH,CAAC;aAAM,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,UAAU,CAAC,sCAAsC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,EAAE,0BAA0B,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACpM,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -37,6 +37,7 @@ let Template = class Template {
|
|
|
37
37
|
areas;
|
|
38
38
|
templateProperties;
|
|
39
39
|
displayCategory;
|
|
40
|
+
templateTheme;
|
|
40
41
|
_areasByName;
|
|
41
42
|
constructor(row) {
|
|
42
43
|
this.id = String(row.id);
|
|
@@ -52,6 +53,8 @@ let Template = class Template {
|
|
|
52
53
|
this.global = tmpl.type === 'data' ? tmpl.global : undefined;
|
|
53
54
|
if (tmpl.type === 'page')
|
|
54
55
|
this.templateProperties = tmpl.templateProperties;
|
|
56
|
+
if (tmpl.type === 'page')
|
|
57
|
+
this.templateTheme = tmpl.templateTheme;
|
|
55
58
|
this.nopublish = (tmpl.type === 'data') ? !!tmpl.nopublish : false;
|
|
56
59
|
}
|
|
57
60
|
};
|
|
@@ -95,6 +98,10 @@ __decorate([
|
|
|
95
98
|
Field({ nullable: true, description: 'Category underneath which this template should be displayed when asking a user to choose a template.' }),
|
|
96
99
|
__metadata("design:type", String)
|
|
97
100
|
], Template.prototype, "displayCategory", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
Field({ nullable: true, description: 'If this page template belongs to a certain theme, this will be the name of that theme. This is just informational and can be used by the front end to group templates by theme. It has no bearing on the actual rendering of the page.' }),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], Template.prototype, "templateTheme", void 0);
|
|
98
105
|
Template = __decorate([
|
|
99
106
|
ObjectType({
|
|
100
107
|
description: `Each page, component, and data entry has a template that defines its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../src/template/template.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE1E,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,uCAAuB,CAAA;IACvB,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AACD,gBAAgB,CAAC,YAAY,EAAE;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sEAAsE;IACnF,YAAY,EAAE;QACZ,IAAI,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE;QAC3D,SAAS,EAAE,EAAE,WAAW,EAAE,yCAAyC,EAAE;QACrE,IAAI,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE;KAC1D;CACF,CAAC,CAAA;AAUK,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACnB,EAAE,CAAQ;IAGV,GAAG,CAAQ;IAGX,IAAI,CAAQ;IAGZ,IAAI,CAAc;IAGlB,MAAM,CAAU;IAGhB,SAAS,CAAS;IAGlB,SAAS,CAAS;IAGlB,OAAO,CAAS;IAGhB,KAAK,CAAgB;IAGrB,kBAAkB,CAAM;IAGxB,eAAe,CAAS;
|
|
1
|
+
{"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../src/template/template.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,3 +20,4 @@ export declare abstract class DosGatoService<ObjType, RedactedType = ObjType> ex
|
|
|
20
20
|
}
|
|
21
21
|
export declare function getEnabledUser(ctx: DGContext): Promise<import("../internal.js").User>;
|
|
22
22
|
export declare function systemContext(): Promise<DGContext>;
|
|
23
|
+
export declare function userContext(login: string): Promise<DGContext>;
|
package/dist/util/authservice.js
CHANGED
|
@@ -80,4 +80,9 @@ export async function systemContext() {
|
|
|
80
80
|
await ctx.waitForAuth();
|
|
81
81
|
return ctx;
|
|
82
82
|
}
|
|
83
|
+
export async function userContext(login) {
|
|
84
|
+
const ctx = new DGMockContext({ sub: login });
|
|
85
|
+
await ctx.waitForAuth();
|
|
86
|
+
return ctx;
|
|
87
|
+
}
|
|
83
88
|
//# sourceMappingURL=authservice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authservice.js","sourceRoot":"","sources":["../../src/util/authservice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authservice.js","sourceRoot":"","sources":["../../src/util/authservice.ts"],"names":[],"mappings":"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"}
|
package/dist/util/context.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ interface AuthInfo {
|
|
|
17
17
|
export interface DGContext extends Context {
|
|
18
18
|
authInfo: AuthInfo;
|
|
19
19
|
login: string;
|
|
20
|
+
systemCtx: DGContext;
|
|
20
21
|
waitForAuth: () => Promise<void>;
|
|
21
22
|
executePaginated: <T>(queryType: string, paged: Pagination | undefined, work: (pageInfo: PaginationResponse) => Promise<T> | T) => Promise<T | undefined>;
|
|
22
23
|
getPaginationInfo: (queryType: string) => Promise<PaginationResponse | undefined>;
|
package/dist/util/context.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MockContext } from '@txstate-mws/graphql-server';
|
|
2
|
-
import { AssetRule, DataRule, PageRule, RoleServiceInternal, RulePathMode, SiteRule, getPageRules, getAssetRules, getDataRules, getSiteRules, getGlobalRules, getTemplateRules, getUsers, GroupServiceInternal, PaginationResponse, SiteServiceInternal } from '../internal.js';
|
|
2
|
+
import { AssetRule, DataRule, PageRule, RoleServiceInternal, RulePathMode, SiteRule, getPageRules, getAssetRules, getDataRules, getSiteRules, getGlobalRules, getTemplateRules, getUsers, GroupServiceInternal, PaginationResponse, SiteServiceInternal, systemContext } from '../internal.js';
|
|
3
3
|
import { Cache, isNotNull, keyby, sleep, unique } from 'txstate-utils';
|
|
4
4
|
async function fetchPageRules(netid, roleIds) {
|
|
5
5
|
if (netid === 'anonymous')
|
|
@@ -96,12 +96,15 @@ const authCache = new Cache(async (login, ctx) => {
|
|
|
96
96
|
export function dgContextMixin(Ctx) {
|
|
97
97
|
return class extends Ctx {
|
|
98
98
|
authInfo;
|
|
99
|
+
systemCtx;
|
|
99
100
|
get login() {
|
|
100
101
|
return this.auth?.sub ?? this.auth?.client_id ?? 'anonymous';
|
|
101
102
|
}
|
|
102
103
|
async waitForAuth() {
|
|
103
104
|
await super.waitForAuth();
|
|
105
|
+
const systemCtxPromise = this.login === 'system' ? undefined : systemContext();
|
|
104
106
|
this.authInfo = await authCache.get(this.login, this);
|
|
107
|
+
this.systemCtx = systemCtxPromise ? await systemCtxPromise : this;
|
|
105
108
|
}
|
|
106
109
|
paginationPromises = {};
|
|
107
110
|
allPaginationPromises = {};
|
package/dist/util/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/util/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EACN,SAAS,EAAE,QAAQ,EAAmB,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EACvH,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAuD,QAAQ,EAC3H,oBAAoB,EAAE,kBAAkB,EAA0C,mBAAmB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/util/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,7 +97,7 @@ export declare class VersionedService extends BaseService {
|
|
|
97
97
|
comment?: string;
|
|
98
98
|
version?: number;
|
|
99
99
|
date?: Date;
|
|
100
|
-
}, tdb?: Queryable): Promise<
|
|
100
|
+
}, tdb?: Queryable): Promise<number>;
|
|
101
101
|
/**
|
|
102
102
|
* Restore a previous version of the object. Creates a new version. You could do
|
|
103
103
|
* this with a .get and subsequent .update, but this is here for convenience.
|
|
@@ -196,6 +196,12 @@ export declare class VersionedService extends BaseService {
|
|
|
196
196
|
* and greater will be retained. Make sure any tags you use are managed carefully.
|
|
197
197
|
*/
|
|
198
198
|
static deleteOldVersions(olderThan: Date): Promise<void>;
|
|
199
|
+
/**
|
|
200
|
+
* Delete all index rows for an object except those belonging to the specified versions.
|
|
201
|
+
* This is useful for pruning indexes that will never be queried again, e.g. intermediate
|
|
202
|
+
* draft versions between the published version and the latest version.
|
|
203
|
+
*/
|
|
204
|
+
deleteOtherIndexes(id: number, keepVersions: number[], tdb?: Queryable): Promise<void>;
|
|
199
205
|
/**
|
|
200
206
|
* internal method to defragment and optimize the database tables
|
|
201
207
|
*/
|