@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.
Files changed (53) hide show
  1. package/dist/index.js +5 -2
  2. package/dist/index.js.map +1 -1
  3. package/dist/internal.d.ts +5 -0
  4. package/dist/internal.js +5 -0
  5. package/dist/internal.js.map +1 -1
  6. package/dist/migrations.js +40 -2
  7. package/dist/migrations.js.map +1 -1
  8. package/dist/page/page.database.js +2 -1
  9. package/dist/page/page.database.js.map +1 -1
  10. package/dist/page/page.indexing.d.ts +1 -0
  11. package/dist/page/page.indexing.js +19 -6
  12. package/dist/page/page.indexing.js.map +1 -1
  13. package/dist/page/page.model.d.ts +6 -0
  14. package/dist/page/page.model.js +26 -0
  15. package/dist/page/page.model.js.map +1 -1
  16. package/dist/page/page.resolver.d.ts +5 -1
  17. package/dist/page/page.resolver.js +48 -1
  18. package/dist/page/page.resolver.js.map +1 -1
  19. package/dist/page/page.routes.js +31 -21
  20. package/dist/page/page.routes.js.map +1 -1
  21. package/dist/page/page.service.d.ts +4 -1
  22. package/dist/page/page.service.js +128 -19
  23. package/dist/page/page.service.js.map +1 -1
  24. package/dist/scheduledpublish/scheduledpublish.cron.d.ts +1 -0
  25. package/dist/scheduledpublish/scheduledpublish.cron.js +40 -0
  26. package/dist/scheduledpublish/scheduledpublish.cron.js.map +1 -0
  27. package/dist/scheduledpublish/scheduledpublish.database.d.ts +38 -0
  28. package/dist/scheduledpublish/scheduledpublish.database.js +86 -0
  29. package/dist/scheduledpublish/scheduledpublish.database.js.map +1 -0
  30. package/dist/scheduledpublish/scheduledpublish.model.d.ts +76 -0
  31. package/dist/scheduledpublish/scheduledpublish.model.js +283 -0
  32. package/dist/scheduledpublish/scheduledpublish.model.js.map +1 -0
  33. package/dist/scheduledpublish/scheduledpublish.resolver.d.ts +16 -0
  34. package/dist/scheduledpublish/scheduledpublish.resolver.js +143 -0
  35. package/dist/scheduledpublish/scheduledpublish.resolver.js.map +1 -0
  36. package/dist/scheduledpublish/scheduledpublish.service.d.ts +22 -0
  37. package/dist/scheduledpublish/scheduledpublish.service.js +170 -0
  38. package/dist/scheduledpublish/scheduledpublish.service.js.map +1 -0
  39. package/dist/template/template.model.d.ts +1 -0
  40. package/dist/template/template.model.js +7 -0
  41. package/dist/template/template.model.js.map +1 -1
  42. package/dist/util/authservice.d.ts +1 -0
  43. package/dist/util/authservice.js +5 -0
  44. package/dist/util/authservice.js.map +1 -1
  45. package/dist/util/context.d.ts +1 -0
  46. package/dist/util/context.js +4 -1
  47. package/dist/util/context.js.map +1 -1
  48. package/dist/versionedservice/service.d.ts +7 -1
  49. package/dist/versionedservice/service.js +67 -17
  50. package/dist/versionedservice/service.js.map +1 -1
  51. package/dist/versionedservice/types.d.ts +4 -1
  52. package/dist/versionedservice/types.js.map +1 -1
  53. 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":"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"}
@@ -16,6 +16,7 @@ export declare class Template {
16
16
  areas: TemplateArea[];
17
17
  templateProperties?: any;
18
18
  displayCategory?: string;
19
+ templateTheme?: string;
19
20
  _areasByName: Record<string, TemplateArea | undefined>;
20
21
  constructor(row: any);
21
22
  }
@@ -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":"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"}
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>;
@@ -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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"}
@@ -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>;
@@ -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 = {};
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/util/context.ts"],"names":[],"mappings":"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"}
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<void>;
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
  */