@dosgato/api 0.0.2 → 0.0.3
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 +2 -0
- package/dist/access/access.resolver.js +21 -1
- package/dist/access/access.resolver.js.map +1 -1
- package/dist/asset/asset.database.js +5 -9
- package/dist/asset/asset.database.js.map +1 -1
- package/dist/asset/asset.model.d.ts +2 -0
- package/dist/asset/asset.model.js +17 -7
- package/dist/asset/asset.model.js.map +1 -1
- package/dist/asset/asset.resolver.js +1 -1
- package/dist/asset/asset.resolver.js.map +1 -1
- package/dist/asset/asset.service.js +2 -2
- package/dist/asset/asset.service.js.map +1 -1
- package/dist/assetfolder/assetfolder.database.js +0 -1
- package/dist/assetfolder/assetfolder.database.js.map +1 -1
- package/dist/assetfolder/assetfolder.service.js +0 -1
- package/dist/assetfolder/assetfolder.service.js.map +1 -1
- package/dist/assetrule/assetrule.resolver.d.ts +1 -1
- package/dist/assetrule/assetrule.resolver.js +4 -3
- package/dist/assetrule/assetrule.resolver.js.map +1 -1
- package/dist/assetrule/assetrule.service.d.ts +1 -1
- package/dist/assetrule/assetrule.service.js +36 -15
- package/dist/assetrule/assetrule.service.js.map +1 -1
- package/dist/createdb.js +33 -40
- package/dist/createdb.js.map +1 -1
- package/dist/data/data.database.js +5 -5
- package/dist/data/data.database.js.map +1 -1
- package/dist/data/data.indexing.d.ts +3 -2
- package/dist/data/data.indexing.js +2 -1
- package/dist/data/data.indexing.js.map +1 -1
- package/dist/data/data.migrations.d.ts +16 -0
- package/dist/data/data.migrations.js +34 -0
- package/dist/data/data.migrations.js.map +1 -0
- package/dist/data/data.model.d.ts +2 -4
- package/dist/data/data.model.js +1 -13
- package/dist/data/data.model.js.map +1 -1
- package/dist/data/data.service.js +50 -55
- package/dist/data/data.service.js.map +1 -1
- package/dist/datafolder/datafolder.database.d.ts +1 -0
- package/dist/datafolder/datafolder.database.js +10 -0
- package/dist/datafolder/datafolder.database.js.map +1 -1
- package/dist/datafolder/datafolder.resolver.d.ts +1 -1
- package/dist/datafolder/datafolder.resolver.js +4 -3
- package/dist/datafolder/datafolder.resolver.js.map +1 -1
- package/dist/datafolder/datafolder.service.d.ts +1 -1
- package/dist/datafolder/datafolder.service.js +21 -12
- package/dist/datafolder/datafolder.service.js.map +1 -1
- package/dist/datarule/datarule.database.js +2 -1
- package/dist/datarule/datarule.database.js.map +1 -1
- package/dist/datarule/datarule.resolver.d.ts +1 -1
- package/dist/datarule/datarule.resolver.js +4 -3
- package/dist/datarule/datarule.resolver.js.map +1 -1
- package/dist/datarule/datarule.service.d.ts +1 -1
- package/dist/datarule/datarule.service.js +5 -6
- package/dist/datarule/datarule.service.js.map +1 -1
- package/dist/fixtures.js +61 -56
- package/dist/fixtures.js.map +1 -1
- package/dist/fixturetemplates.d.ts +13 -110
- package/dist/fixturetemplates.js +64 -44
- package/dist/fixturetemplates.js.map +1 -1
- package/dist/globalrule/globalrule.database.js +30 -6
- package/dist/globalrule/globalrule.database.js.map +1 -1
- package/dist/globalrule/globalrule.model.d.ts +4 -1
- package/dist/globalrule/globalrule.model.js +18 -3
- package/dist/globalrule/globalrule.model.js.map +1 -1
- package/dist/globalrule/globalrule.service.js +1 -1
- package/dist/globalrule/globalrule.service.js.map +1 -1
- package/dist/group/group.database.d.ts +2 -12
- package/dist/group/group.database.js +13 -57
- package/dist/group/group.database.js.map +1 -1
- package/dist/group/group.model.d.ts +0 -1
- package/dist/group/group.model.js +0 -4
- package/dist/group/group.model.js.map +1 -1
- package/dist/group/group.resolver.d.ts +4 -9
- package/dist/group/group.resolver.js +15 -71
- package/dist/group/group.resolver.js.map +1 -1
- package/dist/group/group.service.d.ts +3 -11
- package/dist/group/group.service.js +46 -117
- package/dist/group/group.service.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +6 -1
- package/dist/internal.js +6 -1
- package/dist/internal.js.map +1 -1
- package/dist/page/page.database.d.ts +2 -2
- package/dist/page/page.database.js +5 -4
- package/dist/page/page.database.js.map +1 -1
- package/dist/page/page.indexing.js +8 -6
- package/dist/page/page.indexing.js.map +1 -1
- package/dist/page/page.migrations.d.ts +7 -5
- package/dist/page/page.migrations.js +39 -26
- package/dist/page/page.migrations.js.map +1 -1
- package/dist/page/page.model.d.ts +8 -16
- package/dist/page/page.model.js +21 -53
- package/dist/page/page.model.js.map +1 -1
- package/dist/page/page.resolver.d.ts +6 -4
- package/dist/page/page.resolver.js +46 -16
- package/dist/page/page.resolver.js.map +1 -1
- package/dist/page/page.service.d.ts +9 -4
- package/dist/page/page.service.js +134 -68
- package/dist/page/page.service.js.map +1 -1
- package/dist/page/page.util.js +4 -3
- package/dist/page/page.util.js.map +1 -1
- package/dist/page/page.validation.d.ts +2 -2
- package/dist/page/page.validation.js +19 -12
- package/dist/page/page.validation.js.map +1 -1
- package/dist/pagerule/pagerule.database.js +9 -15
- package/dist/pagerule/pagerule.database.js.map +1 -1
- package/dist/pagerule/pagerule.model.d.ts +5 -4
- package/dist/pagerule/pagerule.model.js +10 -6
- package/dist/pagerule/pagerule.model.js.map +1 -1
- package/dist/pagerule/pagerule.resolver.d.ts +1 -2
- package/dist/pagerule/pagerule.resolver.js +1 -15
- package/dist/pagerule/pagerule.resolver.js.map +1 -1
- package/dist/pagerule/pagerule.service.js +9 -16
- package/dist/pagerule/pagerule.service.js.map +1 -1
- package/dist/pagetree/pagetree.resolver.js +1 -13
- package/dist/pagetree/pagetree.resolver.js.map +1 -1
- package/dist/pagetree/pagetree.service.js +6 -6
- package/dist/pagetree/pagetree.service.js.map +1 -1
- package/dist/role/role.database.d.ts +6 -0
- package/dist/role/role.database.js +36 -3
- package/dist/role/role.database.js.map +1 -1
- package/dist/role/role.model.d.ts +3 -0
- package/dist/role/role.model.js +15 -1
- package/dist/role/role.model.js.map +1 -1
- package/dist/role/role.resolver.d.ts +3 -1
- package/dist/role/role.resolver.js +29 -1
- package/dist/role/role.resolver.js.map +1 -1
- package/dist/role/role.service.d.ts +4 -0
- package/dist/role/role.service.js +47 -10
- package/dist/role/role.service.js.map +1 -1
- package/dist/run.js +0 -3
- package/dist/run.js.map +1 -1
- package/dist/scalars/urlsafestring.js +1 -1
- package/dist/scalars/urlsafestring.js.map +1 -1
- package/dist/site/site.database.d.ts +10 -2
- package/dist/site/site.database.js +93 -54
- package/dist/site/site.database.js.map +1 -1
- package/dist/site/site.model.d.ts +5 -9
- package/dist/site/site.model.js +17 -26
- package/dist/site/site.model.js.map +1 -1
- package/dist/site/site.resolver.d.ts +9 -7
- package/dist/site/site.resolver.js +70 -40
- package/dist/site/site.resolver.js.map +1 -1
- package/dist/site/site.service.d.ts +12 -6
- package/dist/site/site.service.js +90 -35
- package/dist/site/site.service.js.map +1 -1
- package/dist/sitecomment/sitecomment.database.d.ts +4 -0
- package/dist/sitecomment/sitecomment.database.js +29 -0
- package/dist/sitecomment/sitecomment.database.js.map +1 -0
- package/dist/sitecomment/sitecomment.model.d.ts +21 -0
- package/dist/sitecomment/sitecomment.model.js +68 -0
- package/dist/sitecomment/sitecomment.model.js.map +1 -0
- package/dist/sitecomment/sitecomment.resolver.d.ts +7 -0
- package/dist/sitecomment/sitecomment.resolver.js +56 -0
- package/dist/sitecomment/sitecomment.resolver.js.map +1 -0
- package/dist/sitecomment/sitecomment.service.d.ts +14 -0
- package/dist/sitecomment/sitecomment.service.js +57 -0
- package/dist/sitecomment/sitecomment.service.js.map +1 -0
- package/dist/siterule/siterule.database.js +16 -38
- package/dist/siterule/siterule.database.js.map +1 -1
- package/dist/siterule/siterule.model.d.ts +4 -8
- package/dist/siterule/siterule.model.js +11 -29
- package/dist/siterule/siterule.model.js.map +1 -1
- package/dist/siterule/siterule.service.js +1 -1
- package/dist/siterule/siterule.service.js.map +1 -1
- package/dist/template/template.database.d.ts +8 -0
- package/dist/template/template.database.js +46 -2
- package/dist/template/template.database.js.map +1 -1
- package/dist/template/template.model.js +4 -3
- package/dist/template/template.model.js.map +1 -1
- package/dist/template/template.resolver.d.ts +1 -0
- package/dist/template/template.resolver.js +14 -2
- package/dist/template/template.resolver.js.map +1 -1
- package/dist/template/template.service.d.ts +21 -1
- package/dist/template/template.service.js +67 -9
- package/dist/template/template.service.js.map +1 -1
- package/dist/templaterule/templaterule.service.js +1 -1
- package/dist/templaterule/templaterule.service.js.map +1 -1
- package/dist/user/user.database.d.ts +1 -1
- package/dist/user/user.database.js +21 -1
- package/dist/user/user.database.js.map +1 -1
- package/dist/user/user.model.d.ts +5 -0
- package/dist/user/user.model.js +22 -0
- package/dist/user/user.model.js.map +1 -1
- package/dist/user/user.resolver.d.ts +4 -2
- package/dist/user/user.resolver.js +28 -5
- package/dist/user/user.resolver.js.map +1 -1
- package/dist/user/user.service.d.ts +1 -1
- package/dist/user/user.service.js +23 -13
- package/dist/user/user.service.js.map +1 -1
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.js +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/indexing.d.ts +0 -4
- package/dist/util/indexing.js +0 -13
- package/dist/util/indexing.js.map +1 -1
- package/dist/util/login.d.ts +1 -0
- package/dist/util/login.js +8 -0
- package/dist/util/login.js.map +1 -0
- package/dist/util/migrations.d.ts +0 -4
- package/dist/util/registry.d.ts +22 -12
- package/dist/util/registry.js +23 -41
- package/dist/util/registry.js.map +1 -1
- package/dist/versionedservice/service.d.ts +7 -1
- package/dist/versionedservice/service.js +22 -5
- package/dist/versionedservice/service.js.map +1 -1
- package/package.json +5 -6
- package/readme/DosGato.mwb +0 -0
- package/dist/util/sharedtypes.d.ts +0 -3
- package/dist/util/sharedtypes.js +0 -2
- package/dist/util/sharedtypes.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PageData } from '@dosgato/templating';
|
|
2
2
|
import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
3
|
+
import { DosGatoService, Page, PageFilter, PageResponse, PagesResponse, TemplateFilter, Pagetree } from '../internal.js';
|
|
3
4
|
export declare class PageServiceInternal extends BaseService {
|
|
4
5
|
find(filter: PageFilter): Promise<Page[]>;
|
|
5
6
|
findById(id: string): Promise<Page | undefined>;
|
|
@@ -11,6 +12,7 @@ export declare class PageServiceInternal extends BaseService {
|
|
|
11
12
|
getPageAncestors(page: Page): Promise<Page[]>;
|
|
12
13
|
getRootPage(page: Page): Promise<Page | undefined>;
|
|
13
14
|
getPath(page: Page): Promise<string>;
|
|
15
|
+
getData(page: Page, version?: number, published?: boolean, toSchemaVersion?: import("luxon").DateTime): Promise<PageData>;
|
|
14
16
|
processFilters(filter: PageFilter): Promise<PageFilter>;
|
|
15
17
|
}
|
|
16
18
|
export declare class PageService extends DosGatoService<Page> {
|
|
@@ -23,9 +25,10 @@ export declare class PageService extends DosGatoService<Page> {
|
|
|
23
25
|
findByTemplate(key: string, filter?: PageFilter): Promise<Page[]>;
|
|
24
26
|
getPageChildren(page: Page, recursive?: boolean, filter?: PageFilter): Promise<Page[]>;
|
|
25
27
|
getPageAncestors(page: Page): Promise<Page[]>;
|
|
26
|
-
getApprovedTemplates(page: Page, filter?: TemplateFilter): Promise<Template[]>;
|
|
28
|
+
getApprovedTemplates(page: Page, filter?: TemplateFilter): Promise<import("../internal.js").Template[]>;
|
|
27
29
|
getRootPage(page: Page): Promise<Page | undefined>;
|
|
28
30
|
getPath(page: Page): Promise<string>;
|
|
31
|
+
getData(page: Page, version?: number, published?: boolean, toSchemaVersion?: import("luxon").DateTime): Promise<PageData>;
|
|
29
32
|
mayView(page: Page): Promise<boolean>;
|
|
30
33
|
mayViewForEdit(page: Page): Promise<boolean>;
|
|
31
34
|
mayViewLatest(page: Page): Promise<boolean>;
|
|
@@ -42,8 +45,10 @@ export declare class PageService extends DosGatoService<Page> {
|
|
|
42
45
|
*/
|
|
43
46
|
movePages(dataIds: string[], targetId: string, above?: boolean): Promise<PagesResponse>;
|
|
44
47
|
copyPages(dataIds: string[], targetId: string, above?: boolean, includeChildren?: boolean): Promise<PageResponse>;
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
validatePageTemplates(page: Page, data: PageData, create: boolean): Promise<void>;
|
|
49
|
+
validatePageData(data: PageData, pagetree: Pagetree, parent: Page | undefined, name: string, linkId: string, pageId?: string): Promise<PageResponse>;
|
|
50
|
+
createPage(name: string, data: PageData, targetId: string, above?: boolean, validate?: boolean): Promise<PageResponse>;
|
|
51
|
+
updatePage(dataId: string, dataVersion: number, data: PageData, comment?: string, validate?: boolean): Promise<PageResponse>;
|
|
47
52
|
renamePage(dataId: string, name: string): Promise<PageResponse>;
|
|
48
53
|
deletePages(dataIds: string[]): Promise<PagesResponse>;
|
|
49
54
|
undeletePages(dataIds: string[], includeChildren?: boolean): Promise<PagesResponse>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
1
2
|
import { OneToManyLoader, PrimaryKeyLoader } from 'dataloader-factory';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { nanoid } from 'nanoid';
|
|
4
|
+
import { eachConcurrent, filterAsync, intersect, isNotNull, keyby, someAsync, stringify, unique } from 'txstate-utils';
|
|
5
|
+
import { VersionedService, templateRegistry, DosGatoService, PageResponse, PagesResponse, createPage, getPages, movePages, deletePages, renamePage, TemplateService, getPageIndexes, undeletePages, validatePage, DeletedFilter, copyPages, TemplateType, migratePage, PagetreeServiceInternal, collectTemplates, TemplateServiceInternal, PagetreeType } from '../internal.js';
|
|
5
6
|
const pagesByInternalIdLoader = new PrimaryKeyLoader({
|
|
6
7
|
fetch: async (internalIds) => {
|
|
7
8
|
return await getPages({ internalIds, deleted: DeletedFilter.SHOW });
|
|
@@ -38,6 +39,18 @@ const pagesByInternalIdPathRecursiveLoader = new OneToManyLoader({
|
|
|
38
39
|
matchKey: (path, p) => p.path.startsWith(path),
|
|
39
40
|
idLoader: [pagesByInternalIdLoader, pagesByDataIdLoader]
|
|
40
41
|
});
|
|
42
|
+
const pagesByLinkIdLoader = new OneToManyLoader({
|
|
43
|
+
fetch: async (linkIds, filters) => {
|
|
44
|
+
return await getPages({ ...filters, linkIds });
|
|
45
|
+
},
|
|
46
|
+
extractKey: p => p.linkId
|
|
47
|
+
});
|
|
48
|
+
const pagesByPathLoader = new OneToManyLoader({
|
|
49
|
+
fetch: async (paths, filters) => {
|
|
50
|
+
return await getPages({ ...filters, paths });
|
|
51
|
+
},
|
|
52
|
+
extractKey: p => p.path
|
|
53
|
+
});
|
|
41
54
|
export class PageServiceInternal extends BaseService {
|
|
42
55
|
async find(filter) {
|
|
43
56
|
filter = await this.processFilters(filter);
|
|
@@ -105,15 +118,62 @@ export class PageServiceInternal extends BaseService {
|
|
|
105
118
|
const ancestors = await this.getPageAncestors(page);
|
|
106
119
|
return `/${ancestors.map(a => a.name).join('/')}${ancestors.length ? '/' : ''}${page.name}`;
|
|
107
120
|
}
|
|
121
|
+
async getData(page, version, published, toSchemaVersion = templateRegistry.currentSchemaVersion) {
|
|
122
|
+
const [versioned, pagetree, parent, path] = await Promise.all([
|
|
123
|
+
this.svc(VersionedService).get(page.dataId, { tag: published ? 'published' : undefined, version }),
|
|
124
|
+
this.svc(PagetreeServiceInternal).findById(page.pagetreeId),
|
|
125
|
+
page.parentInternalId ? this.findByInternalId(page.parentInternalId) : undefined,
|
|
126
|
+
this.getPath(page)
|
|
127
|
+
]);
|
|
128
|
+
if (!versioned)
|
|
129
|
+
throw new Error('Asked for page data version that does not exist.');
|
|
130
|
+
return await migratePage(versioned.data, {
|
|
131
|
+
query: this.ctx.query,
|
|
132
|
+
siteId: pagetree.siteId,
|
|
133
|
+
pagetreeId: pagetree.id,
|
|
134
|
+
parentId: parent?.id,
|
|
135
|
+
pagePath: path,
|
|
136
|
+
pageId: page.id,
|
|
137
|
+
linkId: page.linkId,
|
|
138
|
+
name: page.name
|
|
139
|
+
}, toSchemaVersion);
|
|
140
|
+
}
|
|
108
141
|
async processFilters(filter) {
|
|
109
142
|
if (filter.referencedByPageIds?.length) {
|
|
143
|
+
// TODO: refactor this to use VersionedService indexes instead of rescanning the data
|
|
110
144
|
const verService = this.svc(VersionedService);
|
|
111
145
|
const pages = (await Promise.all(filter.referencedByPageIds.map(async (id) => await this.findById(id)))).filter(isNotNull);
|
|
112
146
|
const pagedata = (await Promise.all(pages.map(async (page) => await verService.get(page.dataId, { tag: filter.published ? 'published' : undefined })))).filter(isNotNull);
|
|
113
147
|
const links = pagedata.flatMap(d => templateRegistry.get(d.data.templateKey).getLinks(d.data)).filter(l => l.type === 'page');
|
|
114
|
-
filter.links = intersect({ skipEmpty: true, by: lnk => stringify({ ...lnk, type: 'page' }) }, links, filter.links);
|
|
148
|
+
filter.links = intersect({ skipEmpty: true, by: lnk => stringify({ ...lnk, type: 'page' }) }, links, filter.links?.map(l => ({ ...l, type: 'page' })));
|
|
149
|
+
}
|
|
150
|
+
if (filter.links?.length) {
|
|
151
|
+
const pagetreeSvc = this.svc(PagetreeServiceInternal);
|
|
152
|
+
const pages = await Promise.all(filter.links.map(async (l) => {
|
|
153
|
+
const lookups = [];
|
|
154
|
+
const contextPagetree = l.context && await pagetreeSvc.findById(l.context.pagetreeId);
|
|
155
|
+
if (contextPagetree?.siteId === l.siteId) {
|
|
156
|
+
// the link is targeting the same site as the context, so we need to look for the link in
|
|
157
|
+
// the same pagetree as the context
|
|
158
|
+
// if we don't find the link in our pagetree, we do NOT fall back to the primary page tree,
|
|
159
|
+
// we WANT the user to see a broken link in their sandbox because it will break when they go live
|
|
160
|
+
lookups.push(this.loaders.get(pagesByLinkIdLoader, { pagetreeIds: [contextPagetree.id] }).load(l.linkId), this.loaders.get(pagesByPathLoader, { pagetreeIds: [contextPagetree.id] }).load(l.path));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
// the link is cross-site, so we only look in the primary tree in the site the link was targeting
|
|
164
|
+
// we do NOT fall back to finding the linkId in other sites that the link did not originally
|
|
165
|
+
// point at
|
|
166
|
+
// this means that links will break when pages are moved between sites, which is unfortunate but
|
|
167
|
+
// ignoring the link's siteId leads to madness because we could have multiple sites that all have
|
|
168
|
+
// pages with the same linkId, and now I have to try to pick: do I prefer launched sites? published
|
|
169
|
+
// pages? etc
|
|
170
|
+
lookups.push(this.loaders.get(pagesByLinkIdLoader, { pagetreeTypes: [PagetreeType.PRIMARY], siteIds: [l.siteId] }).load(l.linkId), this.loaders.get(pagesByPathLoader, { pagetreeTypes: [PagetreeType.PRIMARY], siteIds: [l.siteId] }).load(l.path));
|
|
171
|
+
}
|
|
172
|
+
const pages = await Promise.all(lookups);
|
|
173
|
+
return pages.find(p => p.length > 1)?.[0];
|
|
174
|
+
}));
|
|
175
|
+
filter.internalIds = intersect({ skipEmpty: true }, filter.internalIds, pages.filter(isNotNull).map(p => p.internalId));
|
|
115
176
|
}
|
|
116
|
-
// TODO: add missing filters: `links`
|
|
117
177
|
return filter;
|
|
118
178
|
}
|
|
119
179
|
}
|
|
@@ -147,30 +207,8 @@ export class PageService extends DosGatoService {
|
|
|
147
207
|
return await this.removeUnauthorized(await this.raw.getPageAncestors(page));
|
|
148
208
|
}
|
|
149
209
|
async getApprovedTemplates(page, filter) {
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
const [pagetreeTemplates, siteTemplates] = await Promise.all([
|
|
153
|
-
this.svc(TemplateService).findByPagetreeId(page.pagetreeId, filter),
|
|
154
|
-
this.svc(TemplateService).findBySiteId(site.id, filter)
|
|
155
|
-
]);
|
|
156
|
-
let templatesAuthForUser = [];
|
|
157
|
-
const templateRules = await this.currentTemplateRules();
|
|
158
|
-
// If there is a template rule that applies to all templates, this user can use all templates anywhere
|
|
159
|
-
// TODO: Should this be filtered by template type too? It doesn't make sense to have page templates approved
|
|
160
|
-
// for use in a page, but this could return all three template types
|
|
161
|
-
if (templateRules.some(r => isNull(r.templateId) && r.grants.use)) {
|
|
162
|
-
templatesAuthForUser = await this.svc(TemplateService).find();
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
const rules = templateRules.filter(r => isNotNull(r.templateId) && r.grants.use);
|
|
166
|
-
let ids = rules.map(r => r.templateId);
|
|
167
|
-
if (filter?.ids?.length) {
|
|
168
|
-
ids = ids.filter(i => filter.ids?.includes(i));
|
|
169
|
-
}
|
|
170
|
-
if (ids)
|
|
171
|
-
templatesAuthForUser = await this.svc(TemplateService).find({ ids });
|
|
172
|
-
}
|
|
173
|
-
return unique([...pagetreeTemplates, ...siteTemplates, ...templatesAuthForUser], 'id');
|
|
210
|
+
const templates = await this.svc(TemplateService).find(filter);
|
|
211
|
+
return await filterAsync(templates, async (template) => await this.svc(TemplateService).mayUseOnPage(template, page.id));
|
|
174
212
|
}
|
|
175
213
|
async getRootPage(page) {
|
|
176
214
|
return await this.removeUnauthorized(await this.raw.getRootPage(page));
|
|
@@ -178,6 +216,11 @@ export class PageService extends DosGatoService {
|
|
|
178
216
|
async getPath(page) {
|
|
179
217
|
return await this.raw.getPath(page);
|
|
180
218
|
}
|
|
219
|
+
async getData(page, version, published, toSchemaVersion = templateRegistry.currentSchemaVersion) {
|
|
220
|
+
if (!published && !await this.mayViewLatest(page))
|
|
221
|
+
throw new Error('User is only permitted to see the published version of this page.');
|
|
222
|
+
return await this.raw.getData(page, version, published, toSchemaVersion);
|
|
223
|
+
}
|
|
181
224
|
async mayView(page) {
|
|
182
225
|
if (await this.havePagePerm(page, 'view'))
|
|
183
226
|
return true;
|
|
@@ -241,50 +284,73 @@ export class PageService extends DosGatoService {
|
|
|
241
284
|
const newPage = await copyPages(this.svc(VersionedService), this.login, pages, parent, aboveTarget, includeChildren);
|
|
242
285
|
return new PageResponse({ success: true, page: newPage });
|
|
243
286
|
}
|
|
244
|
-
async
|
|
245
|
-
const
|
|
287
|
+
async validatePageTemplates(page, data, create) {
|
|
288
|
+
const templateKeys = Array.from(collectTemplates(data));
|
|
289
|
+
const templates = await Promise.all(templateKeys.map(async (k) => await this.svc(TemplateServiceInternal).findByKey(k)));
|
|
290
|
+
const templateByKey = keyby(templates.filter(isNotNull), 'key');
|
|
291
|
+
const oldData = await this.raw.getData(page);
|
|
292
|
+
if (oldData.templateKey !== data.templateKey) {
|
|
293
|
+
if (!templateByKey[data.templateKey])
|
|
294
|
+
throw new Error('Tried to set page template to a non-existing template.');
|
|
295
|
+
if (templateByKey[data.templateKey].type !== TemplateType.PAGE)
|
|
296
|
+
throw new Error('Tried to set page template to a non-page template.');
|
|
297
|
+
}
|
|
298
|
+
const invalid = create
|
|
299
|
+
? await someAsync(templateKeys, async (templateKey) => !await this.svc(TemplateService).mayUseOnPage(templateByKey[templateKey], page.id))
|
|
300
|
+
: await someAsync(templateKeys, async (templateKey) => !await this.svc(TemplateService).mayKeepOnPage(templateKey, page, templateByKey[templateKey]));
|
|
301
|
+
if (invalid)
|
|
302
|
+
throw new Error('Template is not approved for use in this site or pagetree.');
|
|
303
|
+
}
|
|
304
|
+
async validatePageData(data, pagetree, parent, name, linkId, pageId) {
|
|
305
|
+
const response = new PageResponse({ success: true });
|
|
306
|
+
const extras = {
|
|
307
|
+
query: this.ctx.query,
|
|
308
|
+
siteId: pagetree.siteId,
|
|
309
|
+
pagetreeId: pagetree.id,
|
|
310
|
+
parentId: parent?.id,
|
|
311
|
+
pagePath: `${parent ? await this.getPath(parent) : ''}/${name}`,
|
|
312
|
+
pageId,
|
|
313
|
+
linkId,
|
|
314
|
+
name
|
|
315
|
+
};
|
|
316
|
+
const migrated = await migratePage(data, extras);
|
|
317
|
+
const messages = await validatePage(migrated, extras);
|
|
318
|
+
for (const message of messages) {
|
|
319
|
+
response.addMessage(message.message, message.path, message.type);
|
|
320
|
+
}
|
|
321
|
+
return response;
|
|
322
|
+
}
|
|
323
|
+
async createPage(name, data, targetId, above, validate) {
|
|
324
|
+
const { parent, aboveTarget } = await this.resolveTarget(targetId, above);
|
|
246
325
|
if (!(await this.mayCreate(parent)))
|
|
247
326
|
throw new Error('Current user is not permitted to create pages in the specified parent.');
|
|
248
|
-
|
|
249
|
-
if
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
const page = await createPage(this.svc(VersionedService), this.login, parent, aboveTarget,
|
|
327
|
+
// at the time of writing this comment, template usage is approved for an entire pagetree, so
|
|
328
|
+
// it should be safe to simply check if the targeted parent/sibling is allowed to use this template
|
|
329
|
+
await this.validatePageTemplates(parent, data, true);
|
|
330
|
+
const pagetree = (await this.svc(PagetreeServiceInternal).findById(parent.pagetreeId));
|
|
331
|
+
const linkId = nanoid(10);
|
|
332
|
+
const response = await this.validatePageData(data, pagetree, parent, name, linkId);
|
|
333
|
+
if (!response.success)
|
|
334
|
+
return response;
|
|
335
|
+
const page = await createPage(this.svc(VersionedService), this.login, parent, aboveTarget, name, data, linkId);
|
|
257
336
|
return new PageResponse({ success: true, page });
|
|
258
337
|
}
|
|
259
|
-
async updatePage(dataId,
|
|
260
|
-
const response = new PageResponse({});
|
|
338
|
+
async updatePage(dataId, dataVersion, data, comment, validate) {
|
|
261
339
|
const page = await this.raw.findById(dataId);
|
|
262
340
|
if (!page)
|
|
263
341
|
throw new Error('Cannot update a page that does not exist.');
|
|
264
342
|
if (!(await this.mayUpdate(page)))
|
|
265
343
|
throw new Error(`Current user is not permitted to update page ${String(page.name)}`);
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
const indexes = getPageIndexes(args.data);
|
|
277
|
-
await this.svc(VersionedService).update(dataId, args.data, indexes, { user: this.login, comment: args.comment, version: args.dataVersion });
|
|
278
|
-
this.loaders.clear();
|
|
279
|
-
const updated = await this.raw.findById(dataId);
|
|
280
|
-
response.success = true;
|
|
281
|
-
response.page = updated;
|
|
282
|
-
return response;
|
|
283
|
-
}
|
|
284
|
-
catch (err) {
|
|
285
|
-
console.error(err);
|
|
286
|
-
throw new Error(`Could not update page ${String(page.name)}`);
|
|
287
|
-
}
|
|
344
|
+
await this.validatePageTemplates(page, data, false);
|
|
345
|
+
const parent = page.parentInternalId ? await this.findByInternalId(page.parentInternalId) : undefined;
|
|
346
|
+
const pagetree = (await this.svc(PagetreeServiceInternal).findById(page.pagetreeId));
|
|
347
|
+
const response = await this.validatePageData(data, pagetree, parent, page.name, page.linkId);
|
|
348
|
+
const indexes = getPageIndexes(data);
|
|
349
|
+
await this.svc(VersionedService).update(dataId, data, indexes, { user: this.login, comment: comment, version: dataVersion });
|
|
350
|
+
this.loaders.clear();
|
|
351
|
+
const updated = await this.raw.findById(dataId);
|
|
352
|
+
response.page = updated;
|
|
353
|
+
return response;
|
|
288
354
|
}
|
|
289
355
|
async renamePage(dataId, name) {
|
|
290
356
|
const page = await this.raw.findById(dataId);
|
|
@@ -301,7 +367,7 @@ export class PageService extends DosGatoService {
|
|
|
301
367
|
return new PageResponse({ success: true, page: updated });
|
|
302
368
|
}
|
|
303
369
|
catch (err) {
|
|
304
|
-
console.
|
|
370
|
+
console.error(err);
|
|
305
371
|
throw new Error('An unknown error ocurred while trying to rename a page.');
|
|
306
372
|
}
|
|
307
373
|
}
|
|
@@ -326,7 +392,7 @@ export class PageService extends DosGatoService {
|
|
|
326
392
|
async undeletePages(dataIds, includeChildren) {
|
|
327
393
|
let pages = (await Promise.all(dataIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
328
394
|
if (includeChildren) {
|
|
329
|
-
const children = (await
|
|
395
|
+
const children = (await Promise.all(pages.map(async (page) => await this.getPageChildren(page, true)))).flat();
|
|
330
396
|
pages = [...pages, ...children];
|
|
331
397
|
}
|
|
332
398
|
if (await someAsync(pages, async (page) => !(await this.mayUndelete(page)))) {
|
|
@@ -346,7 +412,7 @@ export class PageService extends DosGatoService {
|
|
|
346
412
|
async publishPages(dataIds, includeChildren) {
|
|
347
413
|
let pages = (await Promise.all(dataIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
348
414
|
if (includeChildren) {
|
|
349
|
-
const children = (await
|
|
415
|
+
const children = (await Promise.all(pages.map(async (page) => await this.getPageChildren(page, true)))).flat();
|
|
350
416
|
pages = [...pages, ...children];
|
|
351
417
|
}
|
|
352
418
|
if (await someAsync(pages, async (page) => !(await this.mayPublish(page)))) {
|
|
@@ -365,7 +431,7 @@ export class PageService extends DosGatoService {
|
|
|
365
431
|
}
|
|
366
432
|
async unpublishPages(dataIds) {
|
|
367
433
|
let pages = (await Promise.all(dataIds.map(async (id) => await this.raw.findById(id)))).filter(isNotNull);
|
|
368
|
-
const children = (await
|
|
434
|
+
const children = (await Promise.all(pages.flatMap(async (page) => await this.getPageChildren(page, true)))).flat();
|
|
369
435
|
pages = [...pages, ...children];
|
|
370
436
|
if (await someAsync(pages, async (page) => !(await this.mayUnpublish(page)))) {
|
|
371
437
|
throw new Error('Current user is not permitted to unpublish one or more pages');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.service.js","sourceRoot":"","sources":["../../src/page/page.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.service.js","sourceRoot":"","sources":["../../src/page/page.service.ts"],"names":[],"mappings":"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"}
|
package/dist/page/page.util.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { isNotNull } from 'txstate-utils';
|
|
1
2
|
// array of templateKey strings in use on the page
|
|
2
3
|
export function collectTemplates(component) {
|
|
3
|
-
return new Set(collectComponents(component).map(c => c.templateKey));
|
|
4
|
+
return new Set(collectComponents(component).map(c => c.templateKey).filter(isNotNull));
|
|
4
5
|
}
|
|
5
6
|
// recursive helper function to traverse a hydrated page and return a flat array
|
|
6
|
-
// of Component instances
|
|
7
|
+
// of Component instances including the Page instance, which will be first
|
|
7
8
|
export function collectComponents(component) {
|
|
8
9
|
const ret = [component];
|
|
9
|
-
for (const areaList of Object.values(component.areas)) {
|
|
10
|
+
for (const areaList of Object.values(component.areas ?? {})) {
|
|
10
11
|
for (const component of areaList) {
|
|
11
12
|
ret.push(...collectComponents(component));
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.util.js","sourceRoot":"","sources":["../../src/page/page.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.util.js","sourceRoot":"","sources":["../../src/page/page.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAE,SAAwB;IACxD,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAE,SAAwB;IACzD,MAAM,GAAG,GAAG,CAAC,SAAS,CAAoB,CAAA;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QAC3D,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE;YAChC,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;SAC1C;KACF;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PageData } from '@dosgato/templating';
|
|
2
|
-
export declare function validatePage(page: PageData): Promise<
|
|
1
|
+
import { PageData, PageExtras } from '@dosgato/templating';
|
|
2
|
+
export declare function validatePage(page: PageData, extras: PageExtras): Promise<import("@dosgato/templating").ValidationFeedback[]>;
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import { templateRegistry } from '../internal.js';
|
|
2
|
-
async function validateRecurse(data, path) {
|
|
3
|
-
const validator = templateRegistry.
|
|
4
|
-
const messages = await validator(data);
|
|
5
|
-
|
|
6
|
-
for (const key of Object.keys(messages)) {
|
|
7
|
-
ret[[...path, key].join('.')] = messages[key];
|
|
8
|
-
}
|
|
9
|
-
for (const area of Object.keys(data.areas)) {
|
|
2
|
+
async function validateRecurse(extras, data, path) {
|
|
3
|
+
const validator = templateRegistry.getComponentTemplate(data.templateKey)?.validate;
|
|
4
|
+
const messages = (await validator?.(data, extras)) ?? [];
|
|
5
|
+
for (const area of Object.keys(data.areas ?? {})) {
|
|
10
6
|
const areaList = data.areas[area];
|
|
11
7
|
for (let i = 0; i < areaList.length; i++) {
|
|
12
8
|
const component = areaList[i];
|
|
13
|
-
|
|
9
|
+
const subpath = [...path, 'areas', area, String(i)];
|
|
10
|
+
messages.push(...await validateRecurse({ ...extras, path: subpath.join('.') }, component, subpath));
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
return
|
|
13
|
+
return messages;
|
|
17
14
|
}
|
|
18
|
-
export async function validatePage(page) {
|
|
19
|
-
|
|
15
|
+
export async function validatePage(page, extras) {
|
|
16
|
+
const tmpl = templateRegistry.getPageTemplate(page.templateKey);
|
|
17
|
+
const messages = (await tmpl.validate?.(page, extras)) ?? [];
|
|
18
|
+
for (const area of Object.keys(page.areas ?? {})) {
|
|
19
|
+
const areaList = page.areas[area];
|
|
20
|
+
for (let i = 0; i < areaList.length; i++) {
|
|
21
|
+
const component = areaList[i];
|
|
22
|
+
const path = ['areas', area, String(i)];
|
|
23
|
+
messages.push(...await validateRecurse({ ...extras, page, path: path.join('.') }, component, path));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return messages;
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=page.validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.validation.js","sourceRoot":"","sources":["../../src/page/page.validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,UAAU,eAAe,CAAE,IAAmB,EAAE,IAAc;
|
|
1
|
+
{"version":3,"file":"page.validation.js","sourceRoot":"","sources":["../../src/page/page.validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,UAAU,eAAe,CAAE,MAAuB,EAAE,IAAmB,EAAE,IAAc;IAC1F,MAAM,SAAS,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;IACnF,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACxD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,CAAA;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;SACpG;KACF;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,IAAc,EAAE,MAAkB;IACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,CAAA;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;SACpG;KACF;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -19,14 +19,8 @@ function processFilters(filter) {
|
|
|
19
19
|
ors.push(`pagerules.siteId IN (${db.in(binds, siteIds)})`);
|
|
20
20
|
where.push(ors.join(' OR '));
|
|
21
21
|
}
|
|
22
|
-
if (filter.
|
|
23
|
-
|
|
24
|
-
if (filter.pagetreeIds.some(id => !id))
|
|
25
|
-
ors.push('pagerules.pagetreeId IS NULL');
|
|
26
|
-
const pagetreeIds = filter.pagetreeIds.filter(isNotNull);
|
|
27
|
-
if (pagetreeIds.length)
|
|
28
|
-
ors.push(`pagerules.pagetreeId IN (${db.in(binds, pagetreeIds)})`);
|
|
29
|
-
where.push(ors.join(' OR '));
|
|
22
|
+
if (filter.pagetreeTypes?.length) {
|
|
23
|
+
where.push(`pagerules.pagetreeType IN (${db.in(binds, filter.pagetreeTypes)})`);
|
|
30
24
|
}
|
|
31
25
|
if (filter.paths?.length) {
|
|
32
26
|
where.push(`pagerules.path IN (${db.in(binds, filter.paths)})`);
|
|
@@ -93,7 +87,7 @@ export async function getPageRules(filter) {
|
|
|
93
87
|
const { binds, where } = processFilters(filter);
|
|
94
88
|
const rules = await db.getall(`SELECT * FROM pagerules
|
|
95
89
|
WHERE (${where.join(') AND (')})
|
|
96
|
-
ORDER BY siteId,
|
|
90
|
+
ORDER BY siteId, path`, binds);
|
|
97
91
|
return rules.map(row => new PageRule(row));
|
|
98
92
|
}
|
|
99
93
|
export async function createPageRule(args) {
|
|
@@ -107,9 +101,9 @@ export async function createPageRule(args) {
|
|
|
107
101
|
columns.push('`siteId`');
|
|
108
102
|
binds.push(args.siteId);
|
|
109
103
|
}
|
|
110
|
-
if (args.
|
|
111
|
-
columns.push('`
|
|
112
|
-
binds.push(args.
|
|
104
|
+
if (args.pagetreeType) {
|
|
105
|
+
columns.push('`pagetreeType');
|
|
106
|
+
binds.push(args.pagetreeType);
|
|
113
107
|
}
|
|
114
108
|
if (args.path) {
|
|
115
109
|
// TODO: the default path is /. If the specified a site and/or pagetree should it have a different default path?
|
|
@@ -159,9 +153,9 @@ export async function updatePageRule(args) {
|
|
|
159
153
|
updates.push('`siteId` = ?');
|
|
160
154
|
binds.push(args.siteId);
|
|
161
155
|
}
|
|
162
|
-
if (typeof args.
|
|
163
|
-
updates.push('`
|
|
164
|
-
binds.push(args.
|
|
156
|
+
if (typeof args.pagetreeType !== 'undefined') {
|
|
157
|
+
updates.push('`pagetreeType` = ?');
|
|
158
|
+
binds.push(args.pagetreeType);
|
|
165
159
|
}
|
|
166
160
|
if (typeof args.path !== 'undefined') {
|
|
167
161
|
updates.push('`path` = ?');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagerule.database.js","sourceRoot":"","sources":["../../src/pagerule/pagerule.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChC,OAAO,EAAE,QAAQ,EAA4D,MAAM,gBAAgB,CAAA;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,SAAS,cAAc,CAAE,MAAsB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAC5D;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;KACpE;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;QAC1B,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,OAAO,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;KAC7B;IACD,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pagerule.database.js","sourceRoot":"","sources":["../../src/pagerule/pagerule.database.ts"],"names":[],"mappings":"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"}
|