@dosgato/api 1.2.4 → 1.3.0
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/access/access.resolver.d.ts +11 -11
- package/dist/access/access.resolver.js +33 -33
- package/dist/access/access.resolver.js.map +1 -1
- package/dist/asset/asset.database.js +26 -13
- package/dist/asset/asset.database.js.map +1 -1
- package/dist/asset/asset.model.d.ts +3 -0
- package/dist/asset/asset.model.js +1 -0
- package/dist/asset/asset.model.js.map +1 -1
- package/dist/asset/asset.resolver.d.ts +6 -6
- package/dist/asset/asset.resolver.js +18 -18
- package/dist/asset/asset.resolver.js.map +1 -1
- package/dist/asset/asset.routes.js +30 -35
- package/dist/asset/asset.routes.js.map +1 -1
- package/dist/asset/asset.service.d.ts +8 -8
- package/dist/asset/asset.service.js +52 -64
- package/dist/asset/asset.service.js.map +1 -1
- package/dist/assetfolder/assetfolder.database.js +23 -10
- package/dist/assetfolder/assetfolder.database.js.map +1 -1
- package/dist/assetfolder/assetfolder.model.d.ts +2 -0
- package/dist/assetfolder/assetfolder.model.js.map +1 -1
- package/dist/assetfolder/assetfolder.resolver.d.ts +6 -6
- package/dist/assetfolder/assetfolder.resolver.js +18 -18
- package/dist/assetfolder/assetfolder.resolver.js.map +1 -1
- package/dist/assetfolder/assetfolder.service.d.ts +9 -9
- package/dist/assetfolder/assetfolder.service.js +41 -52
- package/dist/assetfolder/assetfolder.service.js.map +1 -1
- package/dist/assetrule/assetrule.service.d.ts +2 -2
- package/dist/assetrule/assetrule.service.js +14 -16
- package/dist/assetrule/assetrule.service.js.map +1 -1
- package/dist/data/data.database.js +7 -7
- package/dist/data/data.database.js.map +1 -1
- package/dist/data/data.model.d.ts +3 -0
- package/dist/data/data.model.js +4 -1
- package/dist/data/data.model.js.map +1 -1
- package/dist/data/data.resolver.d.ts +8 -8
- package/dist/data/data.resolver.js +25 -25
- package/dist/data/data.resolver.js.map +1 -1
- package/dist/data/data.service.d.ts +11 -12
- package/dist/data/data.service.js +49 -62
- package/dist/data/data.service.js.map +1 -1
- package/dist/datafolder/datafolder.database.js +2 -1
- package/dist/datafolder/datafolder.database.js.map +1 -1
- package/dist/datafolder/datafolder.model.d.ts +2 -0
- package/dist/datafolder/datafolder.model.js +2 -0
- package/dist/datafolder/datafolder.model.js.map +1 -1
- package/dist/datafolder/datafolder.resolver.d.ts +6 -6
- package/dist/datafolder/datafolder.resolver.js +18 -18
- package/dist/datafolder/datafolder.resolver.js.map +1 -1
- package/dist/datafolder/datafolder.service.d.ts +7 -7
- package/dist/datafolder/datafolder.service.js +41 -45
- package/dist/datafolder/datafolder.service.js.map +1 -1
- package/dist/dataroot/dataroot.resolver.d.ts +1 -1
- package/dist/dataroot/dataroot.resolver.js +3 -3
- package/dist/dataroot/dataroot.resolver.js.map +1 -1
- package/dist/dataroot/dataroot.service.d.ts +3 -3
- package/dist/dataroot/dataroot.service.js +8 -8
- package/dist/dataroot/dataroot.service.js.map +1 -1
- package/dist/datarule/datarule.model.d.ts +1 -0
- package/dist/datarule/datarule.model.js +2 -1
- package/dist/datarule/datarule.model.js.map +1 -1
- package/dist/datarule/datarule.service.d.ts +4 -4
- package/dist/datarule/datarule.service.js +18 -21
- package/dist/datarule/datarule.service.js.map +1 -1
- package/dist/globalrule/globalrule.service.d.ts +3 -3
- package/dist/globalrule/globalrule.service.js +13 -21
- package/dist/globalrule/globalrule.service.js.map +1 -1
- package/dist/group/group.resolver.d.ts +2 -2
- package/dist/group/group.resolver.js +6 -6
- package/dist/group/group.resolver.js.map +1 -1
- package/dist/group/group.service.d.ts +7 -7
- package/dist/group/group.service.js +46 -49
- package/dist/group/group.service.js.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/organization/organization.service.d.ts +2 -2
- package/dist/organization/organization.service.js +7 -7
- package/dist/organization/organization.service.js.map +1 -1
- package/dist/page/page.bootstrap.js +3 -3
- package/dist/page/page.bootstrap.js.map +1 -1
- package/dist/page/page.database.js +28 -14
- package/dist/page/page.database.js.map +1 -1
- package/dist/page/page.model.d.ts +2 -0
- package/dist/page/page.model.js.map +1 -1
- package/dist/page/page.resolver.d.ts +8 -8
- package/dist/page/page.resolver.js +24 -24
- package/dist/page/page.resolver.js.map +1 -1
- package/dist/page/page.routes.js +34 -40
- package/dist/page/page.routes.js.map +1 -1
- package/dist/page/page.service.d.ts +20 -16
- package/dist/page/page.service.js +79 -95
- package/dist/page/page.service.js.map +1 -1
- package/dist/pagerule/pagerule.service.d.ts +2 -2
- package/dist/pagerule/pagerule.service.js +15 -18
- package/dist/pagerule/pagerule.service.js.map +1 -1
- package/dist/pagetree/pagetree.resolver.d.ts +5 -5
- package/dist/pagetree/pagetree.resolver.js +18 -18
- package/dist/pagetree/pagetree.resolver.js.map +1 -1
- package/dist/pagetree/pagetree.service.d.ts +5 -7
- package/dist/pagetree/pagetree.service.js +26 -72
- package/dist/pagetree/pagetree.service.js.map +1 -1
- package/dist/role/role.resolver.d.ts +3 -3
- package/dist/role/role.resolver.js +9 -9
- package/dist/role/role.resolver.js.map +1 -1
- package/dist/role/role.service.d.ts +6 -7
- package/dist/role/role.service.js +32 -32
- package/dist/role/role.service.js.map +1 -1
- package/dist/site/site.database.js +3 -7
- package/dist/site/site.database.js.map +1 -1
- package/dist/site/site.resolver.d.ts +7 -7
- package/dist/site/site.resolver.js +30 -30
- package/dist/site/site.resolver.js.map +1 -1
- package/dist/site/site.service.d.ts +13 -11
- package/dist/site/site.service.js +50 -57
- package/dist/site/site.service.js.map +1 -1
- package/dist/sitecomment/sitecomment.routes.js +3 -4
- package/dist/sitecomment/sitecomment.routes.js.map +1 -1
- package/dist/sitecomment/sitecomment.service.d.ts +1 -1
- package/dist/sitecomment/sitecomment.service.js +5 -9
- package/dist/sitecomment/sitecomment.service.js.map +1 -1
- package/dist/siterule/siterule.service.d.ts +2 -2
- package/dist/siterule/siterule.service.js +13 -15
- package/dist/siterule/siterule.service.js.map +1 -1
- package/dist/template/template.resolver.d.ts +2 -2
- package/dist/template/template.resolver.js +6 -6
- package/dist/template/template.resolver.js.map +1 -1
- package/dist/template/template.service.d.ts +4 -4
- package/dist/template/template.service.js +21 -25
- package/dist/template/template.service.js.map +1 -1
- package/dist/templaterule/templaterule.service.d.ts +2 -2
- package/dist/templaterule/templaterule.service.js +11 -13
- package/dist/templaterule/templaterule.service.js.map +1 -1
- package/dist/user/user.service.d.ts +6 -6
- package/dist/user/user.service.js +30 -31
- package/dist/user/user.service.js.map +1 -1
- package/dist/util/authservice.d.ts +18 -28
- package/dist/util/authservice.js +29 -155
- package/dist/util/authservice.js.map +1 -1
- package/dist/util/context.d.ts +24 -0
- package/dist/util/context.js +105 -0
- package/dist/util/context.js.map +1 -0
- package/dist/util/index.d.ts +2 -0
- package/dist/util/index.js +4 -0
- package/dist/util/index.js.map +1 -1
- package/dist/version/version.resolver.js +3 -3
- package/dist/version/version.resolver.js.map +1 -1
- package/package.json +2 -2
|
@@ -29,11 +29,11 @@ export declare class GroupService extends DosGatoService<Group> {
|
|
|
29
29
|
setGroupUsers(groupId: string, userIds: string[]): Promise<ValidatedResponse>;
|
|
30
30
|
addSubgroup(parentId: string, childId: string): Promise<ValidatedResponse>;
|
|
31
31
|
removeSubgroup(parentId: string, childId: string): Promise<ValidatedResponse>;
|
|
32
|
-
mayView(group: Group):
|
|
33
|
-
mayViewManagerUI():
|
|
34
|
-
mayCreate():
|
|
35
|
-
mayUpdate(group: Group):
|
|
36
|
-
mayDelete(group: Group):
|
|
37
|
-
mayManageUsers(group: Group):
|
|
38
|
-
mayManageGroups(group: Group):
|
|
32
|
+
mayView(group: Group): boolean;
|
|
33
|
+
mayViewManagerUI(): boolean;
|
|
34
|
+
mayCreate(): boolean;
|
|
35
|
+
mayUpdate(group: Group): boolean;
|
|
36
|
+
mayDelete(group: Group): boolean;
|
|
37
|
+
mayManageUsers(group: Group): boolean;
|
|
38
|
+
mayManageGroups(group: Group): boolean;
|
|
39
39
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
2
2
|
import { ManyJoinedLoader, PrimaryKeyLoader } from 'dataloader-factory';
|
|
3
|
-
import { unique, isNotNull,
|
|
3
|
+
import { unique, isNotNull, mapConcurrent } from 'txstate-utils';
|
|
4
4
|
import { GroupResponse, getGroups, getGroupsWithUser, getGroupsWithRole, groupHierarchyCache, createGroup, updateGroup, deleteGroup, addUserToGroups, removeUserFromGroups, removeSubgroup, addSubgroup, groupNameIsUnique, UserService, DosGatoService, setUserGroups, setGroupUsers } from '../internal.js';
|
|
5
5
|
const groupsByIdLoader = new PrimaryKeyLoader({
|
|
6
6
|
fetch: async (ids) => {
|
|
@@ -94,28 +94,28 @@ export class GroupService extends DosGatoService {
|
|
|
94
94
|
this.raw = this.svc(GroupServiceInternal);
|
|
95
95
|
}
|
|
96
96
|
async find(filter) {
|
|
97
|
-
return
|
|
97
|
+
return this.removeUnauthorized(await this.raw.find(filter));
|
|
98
98
|
}
|
|
99
99
|
async findById(id) {
|
|
100
|
-
return
|
|
100
|
+
return this.removeUnauthorized(await this.raw.findById(id));
|
|
101
101
|
}
|
|
102
102
|
async findByUserId(userId, direct) {
|
|
103
|
-
return
|
|
103
|
+
return this.removeUnauthorized(await this.raw.findByUserId(userId, direct));
|
|
104
104
|
}
|
|
105
105
|
async getSubgroups(groupId, recursive = true) {
|
|
106
|
-
return
|
|
106
|
+
return this.removeUnauthorized(await this.raw.getSubgroups(groupId, recursive));
|
|
107
107
|
}
|
|
108
108
|
async getAllSubs(groupIds) {
|
|
109
|
-
return
|
|
109
|
+
return this.removeUnauthorized(await this.raw.getAllSubs(groupIds));
|
|
110
110
|
}
|
|
111
111
|
async getSuperGroups(groupId, recursive = true) {
|
|
112
|
-
return
|
|
112
|
+
return this.removeUnauthorized(await this.raw.getSuperGroups(groupId, recursive));
|
|
113
113
|
}
|
|
114
114
|
async getAllSupers(groupIds) {
|
|
115
|
-
return
|
|
115
|
+
return this.removeUnauthorized(await this.raw.getAllSupers(groupIds));
|
|
116
116
|
}
|
|
117
117
|
async findByRoleId(roleId, direct, filter) {
|
|
118
|
-
return
|
|
118
|
+
return this.removeUnauthorized(await this.raw.findByRoleId(roleId, direct, filter));
|
|
119
119
|
}
|
|
120
120
|
async create(name, parentId, validateOnly) {
|
|
121
121
|
let parentGroup;
|
|
@@ -124,8 +124,8 @@ export class GroupService extends DosGatoService {
|
|
|
124
124
|
if (!parentGroup)
|
|
125
125
|
throw new Error('Parent group does not exist.');
|
|
126
126
|
}
|
|
127
|
-
if (!
|
|
128
|
-
throw new Error('
|
|
127
|
+
if (!this.mayCreate())
|
|
128
|
+
throw new Error('You are not permitted to create groups.');
|
|
129
129
|
if (!(await groupNameIsUnique(name))) {
|
|
130
130
|
const response = new GroupResponse({});
|
|
131
131
|
response.addMessage(`Group ${name} already exists.`, 'name');
|
|
@@ -147,8 +147,8 @@ export class GroupService extends DosGatoService {
|
|
|
147
147
|
const group = await this.findById(id);
|
|
148
148
|
if (!group)
|
|
149
149
|
throw new Error('Group to be updated does not exist.');
|
|
150
|
-
if (!
|
|
151
|
-
throw new Error('
|
|
150
|
+
if (!this.mayUpdate(group))
|
|
151
|
+
throw new Error('You are not permitted to update group names.');
|
|
152
152
|
const response = new GroupResponse({ success: true });
|
|
153
153
|
if (name !== group.name && !(await groupNameIsUnique(name))) {
|
|
154
154
|
response.addMessage(`Group ${name} already exists.`, 'name');
|
|
@@ -165,8 +165,8 @@ export class GroupService extends DosGatoService {
|
|
|
165
165
|
const group = await this.findById(id);
|
|
166
166
|
if (!group)
|
|
167
167
|
throw new Error('Group to be deleted does not exist.');
|
|
168
|
-
if (!
|
|
169
|
-
throw new Error('
|
|
168
|
+
if (!this.mayDelete(group))
|
|
169
|
+
throw new Error('You are not permitted to delete groups.');
|
|
170
170
|
try {
|
|
171
171
|
await deleteGroup(id);
|
|
172
172
|
await groupHierarchyCache.clear();
|
|
@@ -179,42 +179,42 @@ export class GroupService extends DosGatoService {
|
|
|
179
179
|
}
|
|
180
180
|
async addUserToGroups(groupIds, userId) {
|
|
181
181
|
const groups = (await Promise.all(groupIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
182
|
-
if (
|
|
183
|
-
throw new Error('
|
|
182
|
+
if (groups.some(g => !this.mayManageUsers(g))) {
|
|
183
|
+
throw new Error('You are not permitted to add user to one or more groups.');
|
|
184
184
|
}
|
|
185
185
|
const user = await this.svc(UserService).findById(userId);
|
|
186
186
|
if (!user)
|
|
187
|
-
throw new Error('Cannot add user who does not exist');
|
|
187
|
+
throw new Error('Cannot add user who does not exist.');
|
|
188
188
|
try {
|
|
189
189
|
await addUserToGroups(groups.map(g => g.id), user.internalId);
|
|
190
190
|
return new ValidatedResponse({ success: true });
|
|
191
191
|
}
|
|
192
192
|
catch (err) {
|
|
193
193
|
console.error(err);
|
|
194
|
-
throw new Error('Unable to add user to one or more groups');
|
|
194
|
+
throw new Error('Unable to add user to one or more groups.');
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
async removeUserFromGroup(groupIds, userId) {
|
|
198
198
|
const groups = (await Promise.all(groupIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
199
|
-
if (
|
|
200
|
-
throw new Error('
|
|
199
|
+
if (groups.some(g => !this.mayManageUsers(g))) {
|
|
200
|
+
throw new Error('You are not permitted to remove user from one or more groups.');
|
|
201
201
|
}
|
|
202
202
|
const user = await this.svc(UserService).findById(userId);
|
|
203
203
|
if (!user)
|
|
204
|
-
throw new Error('Cannot add user who does not exist');
|
|
204
|
+
throw new Error('Cannot add user who does not exist.');
|
|
205
205
|
try {
|
|
206
206
|
const removed = await removeUserFromGroups(groupIds, user.internalId);
|
|
207
207
|
return new ValidatedResponse({ success: true });
|
|
208
208
|
}
|
|
209
209
|
catch (err) {
|
|
210
210
|
console.error(err);
|
|
211
|
-
throw new Error('Unable to remove user from one or more groups');
|
|
211
|
+
throw new Error('Unable to remove user from one or more groups.');
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
async setUserGroups(userId, groupIds) {
|
|
215
215
|
const groups = (await Promise.all(groupIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
216
|
-
if (
|
|
217
|
-
throw new Error('
|
|
216
|
+
if (groups.some(g => !this.mayManageUsers(g))) {
|
|
217
|
+
throw new Error('You are not permitted to manage users for one or more groups.');
|
|
218
218
|
}
|
|
219
219
|
const user = await this.svc(UserService).findById(userId);
|
|
220
220
|
if (!user)
|
|
@@ -232,8 +232,8 @@ export class GroupService extends DosGatoService {
|
|
|
232
232
|
const group = await this.findById(groupId);
|
|
233
233
|
if (!group)
|
|
234
234
|
throw new Error('Group to be deleted does not exist.');
|
|
235
|
-
if (!
|
|
236
|
-
throw new Error('
|
|
235
|
+
if (!this.mayManageUsers(group)) {
|
|
236
|
+
throw new Error('You are not permitted to manage users for this group.');
|
|
237
237
|
}
|
|
238
238
|
const users = (await mapConcurrent(userIds, async (id) => await this.svc(UserService).findById(id))).filter(isNotNull);
|
|
239
239
|
if (!users.length)
|
|
@@ -250,8 +250,8 @@ export class GroupService extends DosGatoService {
|
|
|
250
250
|
throw new Error('Group to be updated does not exist.');
|
|
251
251
|
if (!childGroup)
|
|
252
252
|
throw new Error('Group to be added as a subgroup does not exist.');
|
|
253
|
-
if (!
|
|
254
|
-
throw new Error(`
|
|
253
|
+
if (!this.mayManageGroups(parentGroup))
|
|
254
|
+
throw new Error(`You are not permitted add a subgroup to group ${parentGroup.name}.`);
|
|
255
255
|
try {
|
|
256
256
|
await addSubgroup(parentId, childId);
|
|
257
257
|
await groupHierarchyCache.clear();
|
|
@@ -271,8 +271,8 @@ export class GroupService extends DosGatoService {
|
|
|
271
271
|
throw new Error('Group to be updated does not exist.');
|
|
272
272
|
if (!childGroup)
|
|
273
273
|
throw new Error('Group to be added as a subgroup does not exist.');
|
|
274
|
-
if (!
|
|
275
|
-
throw new Error(`
|
|
274
|
+
if (!this.mayManageGroups(parentGroup))
|
|
275
|
+
throw new Error(`You are not permitted remove subgroups from group ${parentGroup.name}.`);
|
|
276
276
|
try {
|
|
277
277
|
const removed = await removeSubgroup(parentId, childId);
|
|
278
278
|
if (removed) {
|
|
@@ -290,31 +290,28 @@ export class GroupService extends DosGatoService {
|
|
|
290
290
|
throw new Error(`An unknown error occurred while removing subgroup ${childGroup.name} from group ${parentGroup.name}.`);
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
-
|
|
294
|
-
if (
|
|
293
|
+
mayView(group) {
|
|
294
|
+
if (this.haveGlobalPerm('manageAccess'))
|
|
295
295
|
return true;
|
|
296
|
-
return !!
|
|
296
|
+
return !!this.ctx.authInfo.groupsById[group.id];
|
|
297
297
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (!user)
|
|
301
|
-
return false;
|
|
302
|
-
return await this.haveGlobalPerm('manageAccess');
|
|
298
|
+
mayViewManagerUI() {
|
|
299
|
+
return this.haveGlobalPerm('manageAccess');
|
|
303
300
|
}
|
|
304
|
-
|
|
305
|
-
return
|
|
301
|
+
mayCreate() {
|
|
302
|
+
return this.haveGlobalPerm('manageAccess');
|
|
306
303
|
}
|
|
307
|
-
|
|
308
|
-
return
|
|
304
|
+
mayUpdate(group) {
|
|
305
|
+
return this.haveGlobalPerm('manageAccess');
|
|
309
306
|
}
|
|
310
|
-
|
|
311
|
-
return
|
|
307
|
+
mayDelete(group) {
|
|
308
|
+
return this.haveGlobalPerm('manageAccess');
|
|
312
309
|
}
|
|
313
|
-
|
|
314
|
-
return
|
|
310
|
+
mayManageUsers(group) {
|
|
311
|
+
return this.haveGlobalPerm('manageAccess');
|
|
315
312
|
}
|
|
316
|
-
|
|
317
|
-
return
|
|
313
|
+
mayManageGroups(group) {
|
|
314
|
+
return this.haveGlobalPerm('manageAccess');
|
|
318
315
|
}
|
|
319
316
|
}
|
|
320
317
|
//# sourceMappingURL=group.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.service.js","sourceRoot":"","sources":["../../src/group/group.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"group.service.js","sourceRoot":"","sources":["../../src/group/group.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GQLServer, gqlDevLogger } from '@txstate-mws/graphql-server';
|
|
2
2
|
import { prodLogger } from 'fastify-txstate';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
4
|
import { Cache, isBlank, isNotBlank, omit } from 'txstate-utils';
|
|
5
5
|
import { migrations, resetdb } from './migrations.js';
|
|
6
|
-
import { DateTimeScalar, UrlSafeString, UrlSafeStringScalar, AssetPermissionsResolver, AssetResolver, AssetRuleResolver, AssetRulePermissionsResolver, DataPermissionsResolver, DataResolver, DataRuleResolver, DataRulePermissionsResolver, AssetFolderResolver, AssetFolderPermissionsResolver, PagePermissionsResolver, PageResolver, PageRulePermissionsResolver, PageRuleResolver, PagetreePermissionsResolver, PagetreeResolver, RolePermissionsResolver, RoleResolver, SitePermissionsResolver, SiteResolver, SiteCommentResolver, SiteRulePermissionsResolver, SiteRuleResolver, TemplateAreaResolver, TemplatePermissionsResolver, TemplateResolver, UserPermissionsResolver, UserResolver, DataFolderPermissionsResolver, DataFolderResolver, GroupPermissionsResolver, GroupResolver, GlobalRulePermissionsResolver, GlobalRuleResolver, VersionResolver, OrganizationResolver, AccessResolver, TemplateRulePermissionsResolver, TemplateRuleResolver, logMutation, templateRegistry, syncRegistryWithDB, UserServiceInternal, DataRootResolver, DataRootPermissionsResolver, updateLastLogin, createAssetRoutes, UrlSafePath, UrlSafePathScalar, AssetResizeResolver, compressDownloads, scheduler, DayOfWeek, createPageRoutes, bootstrap, fileHandler, FilenameSafeString, FilenameSafeStringScalar, FilenameSafePath, FilenameSafePathScalar, createCommentRoutes, SiteServiceInternal, createRole, createPageRule, createAssetRule, addRolesToUser, VersionedService, duplicateSite, createUser, systemContext, UserService,
|
|
6
|
+
import { DateTimeScalar, UrlSafeString, UrlSafeStringScalar, AssetPermissionsResolver, AssetResolver, AssetRuleResolver, AssetRulePermissionsResolver, DataPermissionsResolver, DataResolver, DataRuleResolver, DataRulePermissionsResolver, AssetFolderResolver, AssetFolderPermissionsResolver, PagePermissionsResolver, PageResolver, PageRulePermissionsResolver, PageRuleResolver, PagetreePermissionsResolver, PagetreeResolver, RolePermissionsResolver, RoleResolver, SitePermissionsResolver, SiteResolver, SiteCommentResolver, SiteRulePermissionsResolver, SiteRuleResolver, TemplateAreaResolver, TemplatePermissionsResolver, TemplateResolver, UserPermissionsResolver, UserResolver, DataFolderPermissionsResolver, DataFolderResolver, GroupPermissionsResolver, GroupResolver, GlobalRulePermissionsResolver, GlobalRuleResolver, VersionResolver, OrganizationResolver, AccessResolver, TemplateRulePermissionsResolver, TemplateRuleResolver, logMutation, templateRegistry, syncRegistryWithDB, UserServiceInternal, DataRootResolver, DataRootPermissionsResolver, updateLastLogin, createAssetRoutes, UrlSafePath, UrlSafePathScalar, AssetResizeResolver, compressDownloads, scheduler, DayOfWeek, createPageRoutes, bootstrap, fileHandler, FilenameSafeString, FilenameSafeStringScalar, FilenameSafePath, FilenameSafePathScalar, createCommentRoutes, SiteServiceInternal, createRole, createPageRule, createAssetRule, addRolesToUser, VersionedService, duplicateSite, createUser, systemContext, UserService, DGContext } from './internal.js';
|
|
7
7
|
const loginCache = new Cache(async (userId, tokenIssuedAt) => {
|
|
8
8
|
await updateLastLogin(userId, tokenIssuedAt);
|
|
9
9
|
});
|
|
@@ -91,9 +91,8 @@ export class DGServer {
|
|
|
91
91
|
}
|
|
92
92
|
}, { freshseconds: 12 * 3600 });
|
|
93
93
|
this.app.addHook('onRequest', async (req) => {
|
|
94
|
-
const ctx = new
|
|
94
|
+
const ctx = new DGContext(req);
|
|
95
95
|
await ctx.waitForAuth();
|
|
96
|
-
await ctx.svc(PageService).loadRoles();
|
|
97
96
|
await createTrainingSite.get(ctx.svc(UserService).login);
|
|
98
97
|
});
|
|
99
98
|
}
|
|
@@ -158,14 +157,17 @@ export class DGServer {
|
|
|
158
157
|
]);
|
|
159
158
|
};
|
|
160
159
|
await scheduler.schedule('compressDownloads', compressDownloads, { duringHour: 5, duringDayOfWeek: DayOfWeek.TUESDAY });
|
|
160
|
+
if (opts.customContext && !(opts.customContext.prototype instanceof DGContext || opts.customContext === DGContext))
|
|
161
|
+
throw new Error('Custom context must extend DGContext from dosgato-api, not just Context from graphql-server.');
|
|
161
162
|
await this.gqlServer.start({
|
|
162
163
|
...opts,
|
|
164
|
+
customContext: opts.customContext ?? DGContext,
|
|
163
165
|
send401: true,
|
|
164
166
|
send403: async (ctx) => {
|
|
165
|
-
const
|
|
166
|
-
if (['anonymous', 'render'].includes(
|
|
167
|
+
const dgCtx = ctx;
|
|
168
|
+
if (['anonymous', 'render'].includes(dgCtx.login))
|
|
167
169
|
return false;
|
|
168
|
-
const user =
|
|
170
|
+
const user = dgCtx.authInfo.user;
|
|
169
171
|
return (!user || user.disabled);
|
|
170
172
|
},
|
|
171
173
|
resolvers,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class OrganizationService extends DosGatoService<Organization> {
|
|
|
8
8
|
raw: OrganizationServiceInternal;
|
|
9
9
|
find(filter?: OrganizationFilter): Promise<Organization[]>;
|
|
10
10
|
findById(id: string): Promise<Organization | undefined>;
|
|
11
|
-
mayView(org: Organization):
|
|
12
|
-
mayCreate():
|
|
11
|
+
mayView(org: Organization): boolean;
|
|
12
|
+
mayCreate(): boolean;
|
|
13
13
|
create(name: string, externalId?: string): Promise<OrganizationResponse>;
|
|
14
14
|
}
|
|
@@ -25,19 +25,19 @@ export class OrganizationService extends DosGatoService {
|
|
|
25
25
|
this.raw = this.svc(OrganizationServiceInternal);
|
|
26
26
|
}
|
|
27
27
|
async find(filter) {
|
|
28
|
-
return
|
|
28
|
+
return this.removeUnauthorized(await this.raw.find(filter));
|
|
29
29
|
}
|
|
30
30
|
async findById(id) {
|
|
31
|
-
return
|
|
31
|
+
return this.removeUnauthorized(await this.raw.findById(id));
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
return
|
|
33
|
+
mayView(org) {
|
|
34
|
+
return this.svc(SiteService).mayViewManagerUI();
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
return
|
|
36
|
+
mayCreate() {
|
|
37
|
+
return this.ctx.authInfo.siteRules.some(r => r.grants.governance);
|
|
38
38
|
}
|
|
39
39
|
async create(name, externalId) {
|
|
40
|
-
if (!
|
|
40
|
+
if (!this.mayCreate())
|
|
41
41
|
throw new Error('You are not permitted to create organizations.');
|
|
42
42
|
const internalId = await createOrganization(name, externalId);
|
|
43
43
|
return new OrganizationResponse({ success: true, organization: await this.raw.findById(String(internalId)) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.service.js","sourceRoot":"","sources":["../../src/organization/organization.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAA8C,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEpK,MAAM,uBAAuB,GAAG,IAAI,gBAAgB,CAAC;IACnD,KAAK,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;QAC7B,OAAO,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;CACzB,CAAC,CAAA;AAEF,MAAM,OAAO,2BAA4B,SAAQ,WAAW;IAC1D,KAAK,CAAC,IAAI,CAAE,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAC/D,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjE,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAA4B;IAArE;;QACE,QAAG,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAuB7C,CAAC;IArBC,KAAK,CAAC,IAAI,CAAE,MAA2B;QACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"organization.service.js","sourceRoot":"","sources":["../../src/organization/organization.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAA8C,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEpK,MAAM,uBAAuB,GAAG,IAAI,gBAAgB,CAAC;IACnD,KAAK,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;QAC7B,OAAO,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;CACzB,CAAC,CAAA;AAEF,MAAM,OAAO,2BAA4B,SAAQ,WAAW;IAC1D,KAAK,CAAC,IAAI,CAAE,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAC/D,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjE,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAA4B;IAArE;;QACE,QAAG,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAuB7C,CAAC;IArBC,KAAK,CAAC,IAAI,CAAE,MAA2B;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,CAAE,GAAiB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACjD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAY,EAAE,UAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACxF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC7D,OAAO,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;IAC/G,CAAC;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { MockContext } from '@txstate-mws/graphql-server';
|
|
2
1
|
import { readdir, readFile } from 'fs/promises';
|
|
3
2
|
import { createReadStream } from 'fs';
|
|
4
3
|
import { groupby, rescue, sortby } from 'txstate-utils';
|
|
5
|
-
import { SiteService, PageService, PageServiceInternal, createAsset, placeFile, VersionedService, AssetFolderServiceInternal, requestResizes } from '../internal.js';
|
|
4
|
+
import { SiteService, PageService, PageServiceInternal, createAsset, placeFile, VersionedService, AssetFolderServiceInternal, requestResizes, DGMockContext } from '../internal.js';
|
|
6
5
|
import { lookup } from 'mime-types';
|
|
7
6
|
async function gatherFiles(path) {
|
|
8
7
|
const files = (await rescue(readdir(path, { withFileTypes: true }))) ?? [];
|
|
@@ -22,7 +21,8 @@ export async function bootstrap() {
|
|
|
22
21
|
for (let i = 2; i < 100 && filesByLength[String(i)]; i++) {
|
|
23
22
|
await Promise.all(sortby(filesByLength[i], 'name').map(async (file) => {
|
|
24
23
|
try {
|
|
25
|
-
const ctx = new
|
|
24
|
+
const ctx = new DGMockContext({ sub: 'su01' });
|
|
25
|
+
await ctx.waitForAuth();
|
|
26
26
|
if (file.name.endsWith('.json')) {
|
|
27
27
|
const path = file.name.split('.').slice(0, -1);
|
|
28
28
|
const pageRecord = JSON.parse(await readFile(file.fpath, { encoding: 'utf8' }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.bootstrap.js","sourceRoot":"","sources":["../../src/page/page.bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"page.bootstrap.js","sourceRoot":"","sources":["../../src/page/page.bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import db from 'mysql2-async/db';
|
|
3
3
|
import { nanoid } from 'nanoid';
|
|
4
4
|
import { isNotBlank, isNotNull, keyby, unique, sortby } from 'txstate-utils';
|
|
5
|
-
import { Page, normalizePath, getPageIndexes, DeleteState, numerate, DeleteStateAll, DeleteStateInput, DeleteStateDefault, systemContext, migratePage, collectComponents, templateRegistry, appendPath } from '../internal.js';
|
|
5
|
+
import { Page, normalizePath, getPageIndexes, DeleteState, numerate, DeleteStateAll, DeleteStateInput, DeleteStateDefault, systemContext, migratePage, collectComponents, templateRegistry, appendPath, shiftPath } from '../internal.js';
|
|
6
6
|
import { DateTime } from 'luxon';
|
|
7
|
-
async function convertPathsToIDPaths(pathstrings) {
|
|
7
|
+
async function convertPathsToIDPaths(pathstrings, tdb = db) {
|
|
8
8
|
var _a;
|
|
9
9
|
const paths = pathstrings.map(normalizePath).map(p => p.split(/\//).filter(isNotBlank));
|
|
10
10
|
const names = new Set(paths.flat());
|
|
11
11
|
const binds = [];
|
|
12
|
-
const rows = names.size ? await
|
|
12
|
+
const rows = names.size ? await tdb.getall(`SELECT id, name, path FROM pages WHERE name IN (${db.in(binds, Array.from(names))})`, binds) : [];
|
|
13
13
|
const rowsByNameAndIDPath = {};
|
|
14
14
|
for (const row of rows) {
|
|
15
15
|
rowsByNameAndIDPath[_a = row.name] ?? (rowsByNameAndIDPath[_a] = {});
|
|
@@ -92,7 +92,7 @@ export function processDeletedFilters(filter, tableName, orphansJoins, excludeOr
|
|
|
92
92
|
}
|
|
93
93
|
return { binds, where, joins };
|
|
94
94
|
}
|
|
95
|
-
async function processFilters(filter) {
|
|
95
|
+
async function processFilters(filter, tdb = db) {
|
|
96
96
|
const { binds, where, joins } = processDeletedFilters(filter, 'pages', new Map(), ' AND sites.deletedAt IS NULL AND pagetrees.deletedAt IS NULL', ' AND (sites.deletedAt IS NOT NULL OR pagetrees.deletedAt IS NOT NULL)');
|
|
97
97
|
if (filter == null)
|
|
98
98
|
return { binds, joins, where };
|
|
@@ -134,7 +134,7 @@ async function processFilters(filter) {
|
|
|
134
134
|
(async () => {
|
|
135
135
|
// named paths e.g. /site1/about
|
|
136
136
|
if (filter.paths?.length) {
|
|
137
|
-
const idpaths = await convertPathsToIDPaths(filter.paths);
|
|
137
|
+
const idpaths = await convertPathsToIDPaths(filter.paths, tdb);
|
|
138
138
|
const ids = ['-1', ...idpaths.map(p => p.split(/\//).slice(-1)[0]).filter(isNotBlank)];
|
|
139
139
|
where.push(`pages.id IN (${db.in(binds, ids)})`);
|
|
140
140
|
}
|
|
@@ -142,7 +142,7 @@ async function processFilters(filter) {
|
|
|
142
142
|
(async () => {
|
|
143
143
|
// beneath a named path e.g. /site1/about
|
|
144
144
|
if (filter.beneath?.length) {
|
|
145
|
-
const idpaths = await convertPathsToIDPaths(filter.beneath);
|
|
145
|
+
const idpaths = await convertPathsToIDPaths(filter.beneath, tdb);
|
|
146
146
|
const ors = idpaths.flatMap(p => ['pages.path LIKE ?', 'pages.path = ?']);
|
|
147
147
|
if (ors.length) {
|
|
148
148
|
binds.push(...idpaths.flatMap(p => [`${p}/%`, p]));
|
|
@@ -155,7 +155,7 @@ async function processFilters(filter) {
|
|
|
155
155
|
(async () => {
|
|
156
156
|
// direct children of a named path e.g. /site1/about
|
|
157
157
|
if (filter.parentPaths?.length) {
|
|
158
|
-
const idpaths = await convertPathsToIDPaths(filter.parentPaths);
|
|
158
|
+
const idpaths = await convertPathsToIDPaths(filter.parentPaths, tdb);
|
|
159
159
|
where.push(`pages.path IN (${db.in(binds, ['-1', ...idpaths])})`);
|
|
160
160
|
}
|
|
161
161
|
})()
|
|
@@ -180,10 +180,10 @@ async function processFilters(filter) {
|
|
|
180
180
|
return { binds, where, joins };
|
|
181
181
|
}
|
|
182
182
|
export async function getPages(filter, tdb = db) {
|
|
183
|
-
const { binds, where, joins } = await processFilters(filter);
|
|
183
|
+
const { binds, where, joins } = await processFilters(filter, tdb);
|
|
184
184
|
if (filter.noresults)
|
|
185
185
|
return [];
|
|
186
|
-
const
|
|
186
|
+
const pagerows = await tdb.getall(`
|
|
187
187
|
SELECT pages.*, pagetrees.type as pagetreeType, sites.deletedAt IS NOT NULL OR pagetrees.deletedAt IS NOT NULL as orphaned, tags.tag IS NOT NULL as published
|
|
188
188
|
FROM pages
|
|
189
189
|
INNER JOIN pagetrees ON pages.pagetreeId = pagetrees.id
|
|
@@ -192,7 +192,20 @@ export async function getPages(filter, tdb = db) {
|
|
|
192
192
|
${joins.size ? Array.from(joins.values()).join('\n') : ''}
|
|
193
193
|
${where.length ? `WHERE (${where.join(') AND (')})` : ''}
|
|
194
194
|
ORDER BY pages.\`path\`, pages.displayOrder, pages.name`, binds);
|
|
195
|
-
|
|
195
|
+
const pages = pagerows.map(p => new Page(p));
|
|
196
|
+
const ancestorIds = new Set();
|
|
197
|
+
for (const p of pages) {
|
|
198
|
+
for (const id of p.pathSplit)
|
|
199
|
+
ancestorIds.add(id);
|
|
200
|
+
}
|
|
201
|
+
const abinds = [];
|
|
202
|
+
const ancestorrows = ancestorIds.size ? await tdb.getall(`SELECT id, name FROM pages WHERE id IN (${db.in(abinds, Array.from(ancestorIds))})`, abinds) : [];
|
|
203
|
+
const namesById = keyby(ancestorrows, 'id');
|
|
204
|
+
for (const p of pages) {
|
|
205
|
+
p.resolvedPath = `/${p.pathSplit.map(id => namesById[id].name).join('/')}${p.pathSplit.length ? '/' : ''}${p.name}`;
|
|
206
|
+
p.resolvedPathWithoutSitename = shiftPath(p.resolvedPath);
|
|
207
|
+
}
|
|
208
|
+
return pages;
|
|
196
209
|
}
|
|
197
210
|
export async function getPagesByPath(paths, filter) {
|
|
198
211
|
const pages = await getPages({ ...filter, paths });
|
|
@@ -311,10 +324,11 @@ export async function movePages(pages, parent, aboveTarget) {
|
|
|
311
324
|
await Promise.all(filteredPages.map(async (page, index) => await db.update('UPDATE pages SET displayOrder = ? WHERE id = ?', [displayOrder + index, page.internalId])));
|
|
312
325
|
// correct the path column for pages and all their descendants
|
|
313
326
|
for (const p of filteredPages) {
|
|
314
|
-
const descendants =
|
|
327
|
+
const descendants = await db.getall('SELECT dataId as id, name, id as internalId, path FROM pages WHERE id=? OR path LIKE ?', [p.internalId, p.pathAsParent + '%']);
|
|
315
328
|
const pathsize = p.pathSplit.length;
|
|
316
329
|
for (const d of descendants) {
|
|
317
|
-
const
|
|
330
|
+
const dpathSplit = d.path.split(/\//).filter(isNotBlank);
|
|
331
|
+
const newPath = `/${[...parent.pathSplit, parent.internalId, ...dpathSplit.slice(pathsize)].join('/')}`;
|
|
318
332
|
await db.update('UPDATE pages SET name=?, path=? WHERE id=?', [newnames.get(d.id) ?? d.name, newPath, d.internalId]);
|
|
319
333
|
}
|
|
320
334
|
}
|
|
@@ -354,8 +368,8 @@ async function handleCopy(db, versionedService, userId, page, parent, parentPath
|
|
|
354
368
|
INSERT INTO pages (name, pagetreeId, dataId, linkId, path, displayOrder, siteId, title, templateKey)
|
|
355
369
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [newPageName, parent.pagetreeId, newDataId, newLinkId, parent.pathAsParent, displayOrder, parent.siteInternalId, migrated.title, migrated.templateKey]);
|
|
356
370
|
if (includeChildren) {
|
|
357
|
-
const children =
|
|
358
|
-
const newParent =
|
|
371
|
+
const children = await getPages({ internalIdPaths: [page.pathAsParent], deleteStates: [DeleteStateInput.NOTDELETED] }, db);
|
|
372
|
+
const newParent = (await getPages({ internalIds: [newInternalId] }, db))[0];
|
|
359
373
|
for (const child of children) {
|
|
360
374
|
await handleCopy(db, versionedService, userId, child, newParent, newPagePath, child.displayOrder, true);
|
|
361
375
|
}
|