@dosgato/api 0.0.2
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/LICENSE +21 -0
- package/README.md +74 -0
- package/dist/access/access.model.d.ts +2 -0
- package/dist/access/access.model.js +14 -0
- package/dist/access/access.model.js.map +1 -0
- package/dist/access/access.resolver.d.ts +15 -0
- package/dist/access/access.resolver.js +133 -0
- package/dist/access/access.resolver.js.map +1 -0
- package/dist/asset/asset.database.d.ts +12 -0
- package/dist/asset/asset.database.js +116 -0
- package/dist/asset/asset.database.js.map +1 -0
- package/dist/asset/asset.model.d.ts +81 -0
- package/dist/asset/asset.model.js +271 -0
- package/dist/asset/asset.model.js.map +1 -0
- package/dist/asset/asset.resolver.d.ts +32 -0
- package/dist/asset/asset.resolver.js +325 -0
- package/dist/asset/asset.resolver.js.map +1 -0
- package/dist/asset/asset.service.d.ts +35 -0
- package/dist/asset/asset.service.js +225 -0
- package/dist/asset/asset.service.js.map +1 -0
- package/dist/assetfolder/assetfolder.database.d.ts +7 -0
- package/dist/assetfolder/assetfolder.database.js +85 -0
- package/dist/assetfolder/assetfolder.database.js.map +1 -0
- package/dist/assetfolder/assetfolder.model.d.ts +56 -0
- package/dist/assetfolder/assetfolder.model.js +160 -0
- package/dist/assetfolder/assetfolder.model.js.map +1 -0
- package/dist/assetfolder/assetfolder.resolver.d.ts +25 -0
- package/dist/assetfolder/assetfolder.resolver.js +255 -0
- package/dist/assetfolder/assetfolder.resolver.js.map +1 -0
- package/dist/assetfolder/assetfolder.service.d.ts +39 -0
- package/dist/assetfolder/assetfolder.service.js +355 -0
- package/dist/assetfolder/assetfolder.service.js.map +1 -0
- package/dist/assetrule/assetrule.database.d.ts +5 -0
- package/dist/assetrule/assetrule.database.js +161 -0
- package/dist/assetrule/assetrule.database.js.map +1 -0
- package/dist/assetrule/assetrule.model.d.ts +71 -0
- package/dist/assetrule/assetrule.model.js +221 -0
- package/dist/assetrule/assetrule.model.js.map +1 -0
- package/dist/assetrule/assetrule.resolver.d.ts +12 -0
- package/dist/assetrule/assetrule.resolver.js +100 -0
- package/dist/assetrule/assetrule.resolver.js.map +1 -0
- package/dist/assetrule/assetrule.service.d.ts +26 -0
- package/dist/assetrule/assetrule.service.js +184 -0
- package/dist/assetrule/assetrule.service.js.map +1 -0
- package/dist/createdb.d.ts +2 -0
- package/dist/createdb.js +541 -0
- package/dist/createdb.js.map +1 -0
- package/dist/data/data.database.d.ts +7 -0
- package/dist/data/data.database.js +265 -0
- package/dist/data/data.database.js.map +1 -0
- package/dist/data/data.indexing.d.ts +2 -0
- package/dist/data/data.indexing.js +23 -0
- package/dist/data/data.indexing.js.map +1 -0
- package/dist/data/data.model.d.ts +69 -0
- package/dist/data/data.model.js +206 -0
- package/dist/data/data.model.js.map +1 -0
- package/dist/data/data.resolver.d.ts +36 -0
- package/dist/data/data.resolver.js +384 -0
- package/dist/data/data.resolver.js.map +1 -0
- package/dist/data/data.service.d.ts +41 -0
- package/dist/data/data.service.js +374 -0
- package/dist/data/data.service.js.map +1 -0
- package/dist/datafolder/datafolder.database.d.ts +7 -0
- package/dist/datafolder/datafolder.database.js +72 -0
- package/dist/datafolder/datafolder.database.js.map +1 -0
- package/dist/datafolder/datafolder.model.d.ts +48 -0
- package/dist/datafolder/datafolder.model.js +139 -0
- package/dist/datafolder/datafolder.model.js.map +1 -0
- package/dist/datafolder/datafolder.resolver.d.ts +24 -0
- package/dist/datafolder/datafolder.resolver.js +243 -0
- package/dist/datafolder/datafolder.resolver.js.map +1 -0
- package/dist/datafolder/datafolder.service.d.ts +32 -0
- package/dist/datafolder/datafolder.service.js +223 -0
- package/dist/datafolder/datafolder.service.js.map +1 -0
- package/dist/dataroot/dataroot.model.d.ts +19 -0
- package/dist/dataroot/dataroot.model.js +72 -0
- package/dist/dataroot/dataroot.model.js.map +1 -0
- package/dist/dataroot/dataroot.resolver.d.ts +11 -0
- package/dist/dataroot/dataroot.resolver.js +87 -0
- package/dist/dataroot/dataroot.resolver.js.map +1 -0
- package/dist/dataroot/dataroot.service.d.ts +12 -0
- package/dist/dataroot/dataroot.service.js +62 -0
- package/dist/dataroot/dataroot.service.js.map +1 -0
- package/dist/datarule/datarule.database.d.ts +5 -0
- package/dist/datarule/datarule.database.js +144 -0
- package/dist/datarule/datarule.database.js.map +1 -0
- package/dist/datarule/datarule.model.d.ts +55 -0
- package/dist/datarule/datarule.model.js +200 -0
- package/dist/datarule/datarule.model.js.map +1 -0
- package/dist/datarule/datarule.resolver.d.ts +13 -0
- package/dist/datarule/datarule.resolver.js +114 -0
- package/dist/datarule/datarule.resolver.js.map +1 -0
- package/dist/datarule/datarule.service.d.ts +27 -0
- package/dist/datarule/datarule.service.js +191 -0
- package/dist/datarule/datarule.service.js.map +1 -0
- package/dist/fixtures.d.ts +1 -0
- package/dist/fixtures.js +697 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/fixturetemplates.d.ts +110 -0
- package/dist/fixturetemplates.js +178 -0
- package/dist/fixturetemplates.js.map +1 -0
- package/dist/globalrule/globalrule.database.d.ts +5 -0
- package/dist/globalrule/globalrule.database.js +65 -0
- package/dist/globalrule/globalrule.database.js.map +1 -0
- package/dist/globalrule/globalrule.model.d.ts +34 -0
- package/dist/globalrule/globalrule.model.js +120 -0
- package/dist/globalrule/globalrule.model.js.map +1 -0
- package/dist/globalrule/globalrule.resolver.d.ts +11 -0
- package/dist/globalrule/globalrule.resolver.js +85 -0
- package/dist/globalrule/globalrule.resolver.js.map +1 -0
- package/dist/globalrule/globalrule.service.d.ts +18 -0
- package/dist/globalrule/globalrule.service.js +111 -0
- package/dist/globalrule/globalrule.service.js.map +1 -0
- package/dist/group/group.database.d.ts +41 -0
- package/dist/group/group.database.js +190 -0
- package/dist/group/group.database.js.map +1 -0
- package/dist/group/group.model.d.ts +19 -0
- package/dist/group/group.model.js +70 -0
- package/dist/group/group.model.js.map +1 -0
- package/dist/group/group.resolver.d.ts +27 -0
- package/dist/group/group.resolver.js +275 -0
- package/dist/group/group.resolver.js.map +1 -0
- package/dist/group/group.service.d.ts +46 -0
- package/dist/group/group.service.js +384 -0
- package/dist/group/group.service.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +88 -0
- package/dist/internal.js +89 -0
- package/dist/internal.js.map +1 -0
- package/dist/migrations.d.ts +2 -0
- package/dist/migrations.js +41 -0
- package/dist/migrations.js.map +1 -0
- package/dist/organization/organization.database.d.ts +2 -0
- package/dist/organization/organization.database.js +16 -0
- package/dist/organization/organization.database.js.map +1 -0
- package/dist/organization/organization.model.d.ts +5 -0
- package/dist/organization/organization.model.js +35 -0
- package/dist/organization/organization.model.js.map +1 -0
- package/dist/organization/organization.resolver.d.ts +6 -0
- package/dist/organization/organization.resolver.js +43 -0
- package/dist/organization/organization.resolver.js.map +1 -0
- package/dist/organization/organization.service.d.ts +12 -0
- package/dist/organization/organization.service.js +35 -0
- package/dist/organization/organization.service.js.map +1 -0
- package/dist/page/page.database.d.ts +10 -0
- package/dist/page/page.database.js +269 -0
- package/dist/page/page.database.js.map +1 -0
- package/dist/page/page.indexing.d.ts +3 -0
- package/dist/page/page.indexing.js +26 -0
- package/dist/page/page.indexing.js.map +1 -0
- package/dist/page/page.migrations.d.ts +13 -0
- package/dist/page/page.migrations.js +55 -0
- package/dist/page/page.migrations.js.map +1 -0
- package/dist/page/page.model.d.ts +88 -0
- package/dist/page/page.model.js +272 -0
- package/dist/page/page.model.js.map +1 -0
- package/dist/page/page.resolver.d.ts +48 -0
- package/dist/page/page.resolver.js +542 -0
- package/dist/page/page.resolver.js.map +1 -0
- package/dist/page/page.service.d.ts +59 -0
- package/dist/page/page.service.js +399 -0
- package/dist/page/page.service.js.map +1 -0
- package/dist/page/page.util.d.ts +3 -0
- package/dist/page/page.util.js +16 -0
- package/dist/page/page.util.js.map +1 -0
- package/dist/page/page.validation.d.ts +2 -0
- package/dist/page/page.validation.js +21 -0
- package/dist/page/page.validation.js.map +1 -0
- package/dist/pagerule/pagerule.database.d.ts +5 -0
- package/dist/pagerule/pagerule.database.js +212 -0
- package/dist/pagerule/pagerule.database.js.map +1 -0
- package/dist/pagerule/pagerule.model.d.ts +71 -0
- package/dist/pagerule/pagerule.model.js +272 -0
- package/dist/pagerule/pagerule.model.js.map +1 -0
- package/dist/pagerule/pagerule.resolver.d.ts +13 -0
- package/dist/pagerule/pagerule.resolver.js +114 -0
- package/dist/pagerule/pagerule.resolver.js.map +1 -0
- package/dist/pagerule/pagerule.service.d.ts +23 -0
- package/dist/pagerule/pagerule.service.js +180 -0
- package/dist/pagerule/pagerule.service.js.map +1 -0
- package/dist/pagetree/pagetree.database.d.ts +13 -0
- package/dist/pagetree/pagetree.database.js +84 -0
- package/dist/pagetree/pagetree.database.js.map +1 -0
- package/dist/pagetree/pagetree.model.d.ts +43 -0
- package/dist/pagetree/pagetree.model.js +146 -0
- package/dist/pagetree/pagetree.model.js.map +1 -0
- package/dist/pagetree/pagetree.resolver.d.ts +23 -0
- package/dist/pagetree/pagetree.resolver.js +238 -0
- package/dist/pagetree/pagetree.resolver.js.map +1 -0
- package/dist/pagetree/pagetree.service.d.ts +25 -0
- package/dist/pagetree/pagetree.service.js +221 -0
- package/dist/pagetree/pagetree.service.js.map +1 -0
- package/dist/role/role.database.d.ts +17 -0
- package/dist/role/role.database.js +74 -0
- package/dist/role/role.database.js.map +1 -0
- package/dist/role/role.model.d.ts +26 -0
- package/dist/role/role.model.js +84 -0
- package/dist/role/role.model.js.map +1 -0
- package/dist/role/role.resolver.d.ts +27 -0
- package/dist/role/role.resolver.js +294 -0
- package/dist/role/role.resolver.js.map +1 -0
- package/dist/role/role.service.d.ts +33 -0
- package/dist/role/role.service.js +265 -0
- package/dist/role/role.service.js.map +1 -0
- package/dist/run.d.ts +1 -0
- package/dist/run.js +29 -0
- package/dist/run.js.map +1 -0
- package/dist/scalars/datetime.d.ts +2 -0
- package/dist/scalars/datetime.js +19 -0
- package/dist/scalars/datetime.js.map +1 -0
- package/dist/scalars/index.d.ts +3 -0
- package/dist/scalars/index.js +4 -0
- package/dist/scalars/index.js.map +1 -0
- package/dist/scalars/jsondata.d.ts +2 -0
- package/dist/scalars/jsondata.js +15 -0
- package/dist/scalars/jsondata.js.map +1 -0
- package/dist/scalars/urlsafestring.d.ts +4 -0
- package/dist/scalars/urlsafestring.js +28 -0
- package/dist/scalars/urlsafestring.js.map +1 -0
- package/dist/site/site.database.d.ts +15 -0
- package/dist/site/site.database.js +164 -0
- package/dist/site/site.database.js.map +1 -0
- package/dist/site/site.model.d.ts +62 -0
- package/dist/site/site.model.js +197 -0
- package/dist/site/site.model.js.map +1 -0
- package/dist/site/site.resolver.d.ts +30 -0
- package/dist/site/site.resolver.js +326 -0
- package/dist/site/site.resolver.js.map +1 -0
- package/dist/site/site.service.d.ts +35 -0
- package/dist/site/site.service.js +199 -0
- package/dist/site/site.service.js.map +1 -0
- package/dist/siterule/siterule.database.d.ts +5 -0
- package/dist/siterule/siterule.database.js +139 -0
- package/dist/siterule/siterule.database.js.map +1 -0
- package/dist/siterule/siterule.model.d.ts +53 -0
- package/dist/siterule/siterule.model.js +203 -0
- package/dist/siterule/siterule.model.js.map +1 -0
- package/dist/siterule/siterule.resolver.d.ts +12 -0
- package/dist/siterule/siterule.resolver.js +100 -0
- package/dist/siterule/siterule.resolver.js.map +1 -0
- package/dist/siterule/siterule.service.d.ts +23 -0
- package/dist/siterule/siterule.service.js +148 -0
- package/dist/siterule/siterule.service.js.map +1 -0
- package/dist/template/template.database.d.ts +15 -0
- package/dist/template/template.database.js +61 -0
- package/dist/template/template.database.js.map +1 -0
- package/dist/template/template.model.d.ts +32 -0
- package/dist/template/template.model.js +124 -0
- package/dist/template/template.model.js.map +1 -0
- package/dist/template/template.resolver.d.ts +22 -0
- package/dist/template/template.resolver.js +216 -0
- package/dist/template/template.resolver.js.map +1 -0
- package/dist/template/template.service.d.ts +27 -0
- package/dist/template/template.service.js +192 -0
- package/dist/template/template.service.js.map +1 -0
- package/dist/templaterule/templaterule.database.d.ts +5 -0
- package/dist/templaterule/templaterule.database.js +80 -0
- package/dist/templaterule/templaterule.database.js.map +1 -0
- package/dist/templaterule/templaterule.model.d.ts +38 -0
- package/dist/templaterule/templaterule.model.js +136 -0
- package/dist/templaterule/templaterule.model.js.map +1 -0
- package/dist/templaterule/templaterule.resolver.d.ts +12 -0
- package/dist/templaterule/templaterule.resolver.js +100 -0
- package/dist/templaterule/templaterule.resolver.js.map +1 -0
- package/dist/templaterule/templaterule.service.d.ts +19 -0
- package/dist/templaterule/templaterule.service.js +123 -0
- package/dist/templaterule/templaterule.service.js.map +1 -0
- package/dist/user/user.database.d.ts +22 -0
- package/dist/user/user.database.js +116 -0
- package/dist/user/user.database.js.map +1 -0
- package/dist/user/user.model.d.ts +42 -0
- package/dist/user/user.model.js +122 -0
- package/dist/user/user.model.js.map +1 -0
- package/dist/user/user.resolver.d.ts +16 -0
- package/dist/user/user.resolver.js +140 -0
- package/dist/user/user.resolver.js.map +1 -0
- package/dist/user/user.service.d.ts +29 -0
- package/dist/user/user.service.js +195 -0
- package/dist/user/user.service.js.map +1 -0
- package/dist/util/authservice.d.ts +28 -0
- package/dist/util/authservice.js +131 -0
- package/dist/util/authservice.js.map +1 -0
- package/dist/util/dates.d.ts +2 -0
- package/dist/util/dates.js +4 -0
- package/dist/util/dates.js.map +1 -0
- package/dist/util/filehandler.d.ts +15 -0
- package/dist/util/filehandler.js +48 -0
- package/dist/util/filehandler.js.map +1 -0
- package/dist/util/index.d.ts +13 -0
- package/dist/util/index.js +26 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/indexing.d.ts +12 -0
- package/dist/util/indexing.js +74 -0
- package/dist/util/indexing.js.map +1 -0
- package/dist/util/migrations.d.ts +15 -0
- package/dist/util/migrations.js +2 -0
- package/dist/util/migrations.js.map +1 -0
- package/dist/util/mutationlogger.d.ts +1 -0
- package/dist/util/mutationlogger.js +9 -0
- package/dist/util/mutationlogger.js.map +1 -0
- package/dist/util/registry.d.ts +25 -0
- package/dist/util/registry.js +66 -0
- package/dist/util/registry.js.map +1 -0
- package/dist/util/rules.d.ts +6 -0
- package/dist/util/rules.js +31 -0
- package/dist/util/rules.js.map +1 -0
- package/dist/util/sharedtypes.d.ts +3 -0
- package/dist/util/sharedtypes.js +2 -0
- package/dist/util/sharedtypes.js.map +1 -0
- package/dist/util/stopwords.d.ts +1 -0
- package/dist/util/stopwords.js +152 -0
- package/dist/util/stopwords.js.map +1 -0
- package/dist/version/version.model.d.ts +11 -0
- package/dist/version/version.model.js +46 -0
- package/dist/version/version.model.js.map +1 -0
- package/dist/version/version.resolver.d.ts +6 -0
- package/dist/version/version.resolver.js +45 -0
- package/dist/version/version.resolver.js.map +1 -0
- package/dist/versionedservice/service.d.ts +148 -0
- package/dist/versionedservice/service.js +547 -0
- package/dist/versionedservice/service.js.map +1 -0
- package/dist/versionedservice/types.d.ts +87 -0
- package/dist/versionedservice/types.js +11 -0
- package/dist/versionedservice/types.js.map +1 -0
- package/package.json +50 -0
- package/readme/DosGato.mwb +0 -0
- package/readme/DosGato.mwb.bak +0 -0
- package/readme/upgradeflow2.png +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseService } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { Site, SiteFilter, DosGatoService, CreateSiteInput, SiteResponse, UpdateSiteInput, Group } from '../internal.js';
|
|
3
|
+
export declare class SiteServiceInternal extends BaseService {
|
|
4
|
+
find(filter?: SiteFilter): Promise<Site[]>;
|
|
5
|
+
findById(siteId: string): Promise<Site | undefined>;
|
|
6
|
+
findByOrganization(orgId: string): Promise<Site[]>;
|
|
7
|
+
findByTemplateId(templateId: number, atLeastOneTree?: boolean): Promise<Site[]>;
|
|
8
|
+
findByGroup(group: Group): Promise<Site[]>;
|
|
9
|
+
findByPagetreeId(pagetreeId: string): Promise<Site | undefined>;
|
|
10
|
+
findByAssetRootId(assetFolderId: number): Promise<Site | undefined>;
|
|
11
|
+
}
|
|
12
|
+
export declare class SiteService extends DosGatoService<Site> {
|
|
13
|
+
raw: SiteServiceInternal;
|
|
14
|
+
find(filter?: SiteFilter): Promise<Site[]>;
|
|
15
|
+
findById(siteId: string): Promise<Site | undefined>;
|
|
16
|
+
findByOrganization(orgId: string): Promise<Site[]>;
|
|
17
|
+
findByTemplateId(templateId: number, atLeastOneTree?: boolean): Promise<Site[]>;
|
|
18
|
+
findByGroup(group: Group): Promise<Site[]>;
|
|
19
|
+
findByPagetreeId(pagetreeId: string): Promise<Site | undefined>;
|
|
20
|
+
findByAssetRootId(assetFolderId: number): Promise<Site | undefined>;
|
|
21
|
+
create(args: CreateSiteInput): Promise<SiteResponse>;
|
|
22
|
+
update(siteId: string, args: UpdateSiteInput): Promise<SiteResponse>;
|
|
23
|
+
delete(siteId: string): Promise<SiteResponse>;
|
|
24
|
+
undelete(siteId: string): Promise<SiteResponse>;
|
|
25
|
+
mayView(site: Site): Promise<boolean>;
|
|
26
|
+
mayViewManagerUI(): Promise<boolean>;
|
|
27
|
+
mayCreate(): Promise<boolean>;
|
|
28
|
+
mayLaunch(site: Site): Promise<boolean>;
|
|
29
|
+
mayRename(site: Site): Promise<boolean>;
|
|
30
|
+
mayManageOwners(site: Site): Promise<boolean>;
|
|
31
|
+
mayManagePagetrees(site: Site): Promise<boolean>;
|
|
32
|
+
mayPromotePagetree(site: Site): Promise<boolean>;
|
|
33
|
+
mayDelete(site: Site): Promise<boolean>;
|
|
34
|
+
mayUndelete(site: Site): Promise<boolean>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { BaseService } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { OneToManyLoader, PrimaryKeyLoader, ManyJoinedLoader } from 'dataloader-factory';
|
|
3
|
+
import { getSites, getSitesByOrganization, getSitesByTemplate, getSitesByGroupIds, undeleteSite, PagetreeService, DosGatoService, createSite, VersionedService, SiteResponse, updateSite, deleteSite, PageService } from '../internal.js';
|
|
4
|
+
const sitesByIdLoader = new PrimaryKeyLoader({
|
|
5
|
+
fetch: async (ids) => {
|
|
6
|
+
return await getSites({ ids });
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
const siteByOrganizationIdLoader = new OneToManyLoader({
|
|
10
|
+
fetch: async (orgIds) => {
|
|
11
|
+
return await getSitesByOrganization(orgIds);
|
|
12
|
+
},
|
|
13
|
+
extractKey: (item) => item.organizationId,
|
|
14
|
+
idLoader: sitesByIdLoader
|
|
15
|
+
});
|
|
16
|
+
const sitesByAssetRootLoader = new PrimaryKeyLoader({
|
|
17
|
+
fetch: async (assetRootIds) => {
|
|
18
|
+
return await getSites({ assetRootIds });
|
|
19
|
+
},
|
|
20
|
+
extractId: site => site.rootAssetFolderInternalId,
|
|
21
|
+
idLoader: sitesByIdLoader
|
|
22
|
+
});
|
|
23
|
+
const sitesByTemplateIdLoader = new ManyJoinedLoader({
|
|
24
|
+
fetch: async (templateIds, atLeastOneTree) => {
|
|
25
|
+
return await getSitesByTemplate(templateIds, atLeastOneTree);
|
|
26
|
+
},
|
|
27
|
+
idLoader: sitesByIdLoader
|
|
28
|
+
});
|
|
29
|
+
const sitesByGroupLoader = new ManyJoinedLoader({
|
|
30
|
+
fetch: async (groupIds) => {
|
|
31
|
+
return await getSitesByGroupIds(groupIds);
|
|
32
|
+
},
|
|
33
|
+
idLoader: sitesByIdLoader
|
|
34
|
+
});
|
|
35
|
+
export class SiteServiceInternal extends BaseService {
|
|
36
|
+
async find(filter) {
|
|
37
|
+
const sites = await getSites(filter);
|
|
38
|
+
for (const site of sites) {
|
|
39
|
+
this.loaders.get(sitesByIdLoader).prime(site.id, site);
|
|
40
|
+
}
|
|
41
|
+
return sites;
|
|
42
|
+
}
|
|
43
|
+
async findById(siteId) {
|
|
44
|
+
return await this.loaders.get(sitesByIdLoader).load(siteId);
|
|
45
|
+
}
|
|
46
|
+
async findByOrganization(orgId) {
|
|
47
|
+
return await this.loaders.get(siteByOrganizationIdLoader).load(orgId);
|
|
48
|
+
}
|
|
49
|
+
async findByTemplateId(templateId, atLeastOneTree) {
|
|
50
|
+
return await this.loaders.get(sitesByTemplateIdLoader, atLeastOneTree).load(templateId);
|
|
51
|
+
}
|
|
52
|
+
async findByGroup(group) {
|
|
53
|
+
return await this.loaders.get(sitesByGroupLoader).load(group.id);
|
|
54
|
+
}
|
|
55
|
+
async findByPagetreeId(pagetreeId) {
|
|
56
|
+
const pagetree = await this.svc(PagetreeService).findById(pagetreeId);
|
|
57
|
+
if (!pagetree)
|
|
58
|
+
return undefined;
|
|
59
|
+
return await this.findById(pagetree.siteId);
|
|
60
|
+
}
|
|
61
|
+
async findByAssetRootId(assetFolderId) {
|
|
62
|
+
return await this.loaders.get(sitesByAssetRootLoader).load(assetFolderId);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export class SiteService extends DosGatoService {
|
|
66
|
+
constructor() {
|
|
67
|
+
super(...arguments);
|
|
68
|
+
this.raw = this.svc(SiteServiceInternal);
|
|
69
|
+
}
|
|
70
|
+
async find(filter) {
|
|
71
|
+
return await this.removeUnauthorized(await this.raw.find(filter));
|
|
72
|
+
}
|
|
73
|
+
async findById(siteId) {
|
|
74
|
+
return await this.removeUnauthorized(await this.raw.findById(siteId));
|
|
75
|
+
}
|
|
76
|
+
async findByOrganization(orgId) {
|
|
77
|
+
return await this.removeUnauthorized(await this.raw.findByOrganization(orgId));
|
|
78
|
+
}
|
|
79
|
+
async findByTemplateId(templateId, atLeastOneTree) {
|
|
80
|
+
return await this.removeUnauthorized(await this.raw.findByTemplateId(templateId, atLeastOneTree));
|
|
81
|
+
}
|
|
82
|
+
async findByGroup(group) {
|
|
83
|
+
return await this.removeUnauthorized(await this.raw.findByGroup(group));
|
|
84
|
+
}
|
|
85
|
+
async findByPagetreeId(pagetreeId) {
|
|
86
|
+
return await this.removeUnauthorized(await this.raw.findByPagetreeId(pagetreeId));
|
|
87
|
+
}
|
|
88
|
+
async findByAssetRootId(assetFolderId) {
|
|
89
|
+
return await this.removeUnauthorized(await this.raw.findByAssetRootId(assetFolderId));
|
|
90
|
+
}
|
|
91
|
+
async create(args) {
|
|
92
|
+
if (!(await this.mayCreate()))
|
|
93
|
+
throw new Error('Current user is not permitted to create sites.');
|
|
94
|
+
try {
|
|
95
|
+
const versionedService = this.svc(VersionedService);
|
|
96
|
+
const site = await createSite(versionedService, this.login, args);
|
|
97
|
+
return new SiteResponse({ success: true, site });
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
console.error(err);
|
|
101
|
+
if (err.code === 'ER_DUP_ENTRY') {
|
|
102
|
+
const response = new SiteResponse({});
|
|
103
|
+
response.addMessage(`Site ${args.name} already exists.`, 'name');
|
|
104
|
+
return response;
|
|
105
|
+
}
|
|
106
|
+
throw new Error('An unknown error occurred while creating the site.');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async update(siteId, args) {
|
|
110
|
+
const site = await this.raw.findById(siteId);
|
|
111
|
+
if (!site)
|
|
112
|
+
throw new Error('Site to be updated does not exist.');
|
|
113
|
+
if (args.name && !(await this.mayRename(site)))
|
|
114
|
+
throw new Error('Current user is not authorized to rename this site');
|
|
115
|
+
if ((args.ownerId ?? args.organizationId ?? args.managerIds?.length) && !(await this.mayManageOwners(site)))
|
|
116
|
+
throw new Error('Current user is not authorized to update the organization, owner, or managers for this site');
|
|
117
|
+
if ((args.launchHost ?? args.launchPath) && !(await this.mayLaunch(site)))
|
|
118
|
+
throw new Error('Current user is not authorized to update the public URL for this site');
|
|
119
|
+
try {
|
|
120
|
+
await updateSite(site, args);
|
|
121
|
+
this.loaders.clear();
|
|
122
|
+
const updatedSite = await this.raw.findById(siteId);
|
|
123
|
+
return new SiteResponse({ success: true, site: updatedSite });
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.error(err);
|
|
127
|
+
throw new Error('An error occurred while updating the site');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async delete(siteId) {
|
|
131
|
+
const site = await this.raw.findById(siteId);
|
|
132
|
+
if (!site)
|
|
133
|
+
throw new Error('Site to be deleted does not exist.');
|
|
134
|
+
if (!(await this.mayDelete(site)))
|
|
135
|
+
throw new Error('Current user is not permitted to delete this site.');
|
|
136
|
+
const currentUser = await this.currentUser();
|
|
137
|
+
try {
|
|
138
|
+
await deleteSite(site, currentUser.internalId);
|
|
139
|
+
this.loaders.clear();
|
|
140
|
+
const deletedSite = await this.raw.findById(siteId);
|
|
141
|
+
return new SiteResponse({ success: true, site: deletedSite });
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error(err);
|
|
145
|
+
throw new Error('An error occurred while deleting the site');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async undelete(siteId) {
|
|
149
|
+
const site = await this.raw.findById(siteId);
|
|
150
|
+
if (!site)
|
|
151
|
+
throw new Error('Site to be restored does not exist.');
|
|
152
|
+
if (!(await this.mayUndelete(site)))
|
|
153
|
+
throw new Error('Current user is not permitted to restore this site.');
|
|
154
|
+
try {
|
|
155
|
+
await undeleteSite(site);
|
|
156
|
+
this.loaders.clear();
|
|
157
|
+
const restoredSite = await this.raw.findById(siteId);
|
|
158
|
+
return new SiteResponse({ success: true, site: restoredSite });
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
console.error(err);
|
|
162
|
+
throw new Error('An error occurred while restoring the site');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async mayView(site) {
|
|
166
|
+
// if site is launched then any authenticated user may view it, along with anonymous renders
|
|
167
|
+
if (site.url != null)
|
|
168
|
+
return this.isRenderServer() || await this.svc(PageService).mayViewManagerUI();
|
|
169
|
+
return await this.haveSitePerm(site, 'viewForEdit');
|
|
170
|
+
}
|
|
171
|
+
async mayViewManagerUI() {
|
|
172
|
+
return (await this.currentSiteRules()).some(r => r.grants.viewForEdit);
|
|
173
|
+
}
|
|
174
|
+
async mayCreate() {
|
|
175
|
+
return await this.haveGlobalPerm('createSites');
|
|
176
|
+
}
|
|
177
|
+
async mayLaunch(site) {
|
|
178
|
+
return await this.haveSitePerm(site, 'launch');
|
|
179
|
+
}
|
|
180
|
+
async mayRename(site) {
|
|
181
|
+
return await this.haveSitePerm(site, 'rename');
|
|
182
|
+
}
|
|
183
|
+
async mayManageOwners(site) {
|
|
184
|
+
return await this.haveSitePerm(site, 'manageOwners');
|
|
185
|
+
}
|
|
186
|
+
async mayManagePagetrees(site) {
|
|
187
|
+
return await this.haveSitePerm(site, 'managePagetrees');
|
|
188
|
+
}
|
|
189
|
+
async mayPromotePagetree(site) {
|
|
190
|
+
return await this.haveSitePerm(site, 'promotePagetree');
|
|
191
|
+
}
|
|
192
|
+
async mayDelete(site) {
|
|
193
|
+
return await this.haveSitePerm(site, 'delete');
|
|
194
|
+
}
|
|
195
|
+
async mayUndelete(site) {
|
|
196
|
+
return await this.haveSitePerm(site, 'undelete');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=site.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.service.js","sourceRoot":"","sources":["../../src/site/site.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SiteRule, SiteRuleFilter, CreateSiteRuleInput, UpdateSiteRuleInput } from '../internal.js';
|
|
2
|
+
export declare function getSiteRules(filter: SiteRuleFilter): Promise<SiteRule[]>;
|
|
3
|
+
export declare function createSiteRule(args: CreateSiteRuleInput): Promise<number>;
|
|
4
|
+
export declare function updateSiteRule(args: UpdateSiteRuleInput): Promise<number>;
|
|
5
|
+
export declare function deleteSiteRule(ruleId: string): Promise<number>;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import db from 'mysql2-async/db';
|
|
2
|
+
import { isNotNull } from 'txstate-utils';
|
|
3
|
+
import { SiteRule } from '../internal.js';
|
|
4
|
+
function processFilters(filter) {
|
|
5
|
+
const binds = [];
|
|
6
|
+
const where = [];
|
|
7
|
+
if (filter.ids?.length) {
|
|
8
|
+
where.push(`id IN (${db.in(binds, filter.ids)})`);
|
|
9
|
+
}
|
|
10
|
+
if (filter.roleIds?.length) {
|
|
11
|
+
where.push(`roleId IN (${db.in(binds, filter.roleIds)})`);
|
|
12
|
+
}
|
|
13
|
+
if (filter.siteIds?.length) {
|
|
14
|
+
const ors = [];
|
|
15
|
+
if (filter.siteIds.some(id => !id))
|
|
16
|
+
ors.push('siterules.siteId IS NULL');
|
|
17
|
+
const siteIds = filter.siteIds.filter(isNotNull);
|
|
18
|
+
if (siteIds.length)
|
|
19
|
+
ors.push(`siterules.siteId IN (${db.in(binds, siteIds)})`);
|
|
20
|
+
where.push(ors.join('OR'));
|
|
21
|
+
}
|
|
22
|
+
if (filter.launch) {
|
|
23
|
+
where.push('launch IS TRUE');
|
|
24
|
+
}
|
|
25
|
+
if (filter.rename) {
|
|
26
|
+
where.push('`rename` IS TRUE');
|
|
27
|
+
}
|
|
28
|
+
if (filter.manageOwners) {
|
|
29
|
+
where.push('manageOwners IS TRUE');
|
|
30
|
+
}
|
|
31
|
+
if (filter.managePagetrees) {
|
|
32
|
+
where.push('managePagetrees IS TRUE');
|
|
33
|
+
}
|
|
34
|
+
if (filter.promotePagetree) {
|
|
35
|
+
where.push('promotePagetree IS TRUE');
|
|
36
|
+
}
|
|
37
|
+
if (filter.delete) {
|
|
38
|
+
where.push('`delete` IS TRUE');
|
|
39
|
+
}
|
|
40
|
+
if (filter.undelete) {
|
|
41
|
+
where.push('undelete IS TRUE');
|
|
42
|
+
}
|
|
43
|
+
return { binds, where };
|
|
44
|
+
}
|
|
45
|
+
export async function getSiteRules(filter) {
|
|
46
|
+
const { binds, where } = processFilters(filter);
|
|
47
|
+
const rules = await db.getall(`SELECT * FROM siterules
|
|
48
|
+
WHERE (${where.join(') AND (')})`, binds);
|
|
49
|
+
return rules.map(row => new SiteRule(row));
|
|
50
|
+
}
|
|
51
|
+
export async function createSiteRule(args) {
|
|
52
|
+
const columns = ['roleId'];
|
|
53
|
+
const binds = [];
|
|
54
|
+
if (!args.roleId) {
|
|
55
|
+
throw new Error('Must include a role ID when creating a site rule');
|
|
56
|
+
}
|
|
57
|
+
binds.push(args.roleId);
|
|
58
|
+
if (args.siteId) {
|
|
59
|
+
columns.push('siteId');
|
|
60
|
+
binds.push(args.siteId);
|
|
61
|
+
}
|
|
62
|
+
if (args.grants) {
|
|
63
|
+
if (args.grants.launch) {
|
|
64
|
+
columns.push('`launch`');
|
|
65
|
+
binds.push(args.grants.launch);
|
|
66
|
+
}
|
|
67
|
+
if (args.grants.rename) {
|
|
68
|
+
columns.push('`rename`');
|
|
69
|
+
binds.push(args.grants.rename);
|
|
70
|
+
}
|
|
71
|
+
if (args.grants.managePagetrees) {
|
|
72
|
+
columns.push('`managePagetrees`');
|
|
73
|
+
binds.push(args.grants.managePagetrees);
|
|
74
|
+
}
|
|
75
|
+
if (args.grants.promotePagetree) {
|
|
76
|
+
columns.push('`promotePagetree`');
|
|
77
|
+
binds.push(args.grants.promotePagetree);
|
|
78
|
+
}
|
|
79
|
+
if (args.grants.manageOwners) {
|
|
80
|
+
columns.push('`manageOwners`');
|
|
81
|
+
binds.push(args.grants.manageOwners);
|
|
82
|
+
}
|
|
83
|
+
if (args.grants.delete) {
|
|
84
|
+
columns.push('`delete`');
|
|
85
|
+
binds.push(args.grants.delete);
|
|
86
|
+
}
|
|
87
|
+
if (args.grants.undelete) {
|
|
88
|
+
columns.push('`undelete`');
|
|
89
|
+
binds.push(args.grants.undelete);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return await db.insert(`INSERT INTO siterules (${columns.join(',')}) VALUES(${columns.map((c) => '?').join(',')})`, binds);
|
|
93
|
+
}
|
|
94
|
+
export async function updateSiteRule(args) {
|
|
95
|
+
const updates = [];
|
|
96
|
+
const binds = [];
|
|
97
|
+
if (typeof args.siteId !== 'undefined') {
|
|
98
|
+
updates.push('siteId = ?');
|
|
99
|
+
binds.push(args.siteId);
|
|
100
|
+
}
|
|
101
|
+
if (args.grants) {
|
|
102
|
+
if (isNotNull(args.grants.launch)) {
|
|
103
|
+
updates.push('`launch` = ?');
|
|
104
|
+
binds.push(args.grants.launch);
|
|
105
|
+
}
|
|
106
|
+
if (isNotNull(args.grants.rename)) {
|
|
107
|
+
updates.push('`rename` = ?');
|
|
108
|
+
binds.push(args.grants.rename);
|
|
109
|
+
}
|
|
110
|
+
if (isNotNull(args.grants.managePagetrees)) {
|
|
111
|
+
updates.push('`managePagetrees` = ?');
|
|
112
|
+
binds.push(args.grants.managePagetrees);
|
|
113
|
+
}
|
|
114
|
+
if (isNotNull(args.grants.promotePagetree)) {
|
|
115
|
+
updates.push('`promotePagetree` = ?');
|
|
116
|
+
binds.push(args.grants.promotePagetree);
|
|
117
|
+
}
|
|
118
|
+
if (isNotNull(args.grants.manageOwners)) {
|
|
119
|
+
updates.push('`manageOwners` = ?');
|
|
120
|
+
binds.push(args.grants.manageOwners);
|
|
121
|
+
}
|
|
122
|
+
if (isNotNull(args.grants.delete)) {
|
|
123
|
+
updates.push('`delete` = ?');
|
|
124
|
+
binds.push(args.grants.delete);
|
|
125
|
+
}
|
|
126
|
+
if (isNotNull(args.grants.undelete)) {
|
|
127
|
+
updates.push('`undelete` = ?');
|
|
128
|
+
binds.push(args.grants.undelete);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
binds.push(String(args.ruleId));
|
|
132
|
+
return await db.update(`UPDATE siterules
|
|
133
|
+
SET ${updates.join(', ')}
|
|
134
|
+
WHERE id = ?`, binds);
|
|
135
|
+
}
|
|
136
|
+
export async function deleteSiteRule(ruleId) {
|
|
137
|
+
return await db.delete('DELETE FROM siterules WHERE id = ?', [ruleId]);
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=siterule.database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siterule.database.js","sourceRoot":"","sources":["../../src/siterule/siterule.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,QAAQ,EAA4D,MAAM,gBAAgB,CAAA;AAEnG,SAAS,cAAc,CAAE,MAAsB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAClD;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;KAC1D;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,IAAI,CAAC,CAAC,CAAA;KAC3B;IACD,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;KAC7B;IACD,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;KAC/B;IACD,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;KACnC;IACD,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;KACtC;IACD,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;KACtC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;KAC/B;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;KAC/B;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,MAAsB;IACxD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;0CACU,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACxE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,IAAyB;IAC7D,MAAM,OAAO,GAAa,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,KAAK,GAAuB,EAAE,CAAA;IACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACxB;IACD,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SACxC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SACxC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;SACrC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACjC;KACF;IACD,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,0BAA0B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAC5H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,IAAyB;IAC7D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAuB,EAAE,CAAA;IACpC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACxB;IACD,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SACxC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SACxC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;SACrC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACjC;KACF;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC;gCACO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;uCACX,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,MAAc;IAClD,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,oCAAoC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ValidatedResponse, ValidatedResponseArgs } from '@txstate-mws/graphql-server';
|
|
2
|
+
export declare class SiteRuleGrantsInput {
|
|
3
|
+
launch: boolean;
|
|
4
|
+
rename: boolean;
|
|
5
|
+
manageOwners: boolean;
|
|
6
|
+
managePagetrees: boolean;
|
|
7
|
+
promotePagetree: boolean;
|
|
8
|
+
delete: boolean;
|
|
9
|
+
undelete: boolean;
|
|
10
|
+
constructor(row?: any);
|
|
11
|
+
}
|
|
12
|
+
export declare class SiteRuleGrants extends SiteRuleGrantsInput {
|
|
13
|
+
viewForEdit: boolean;
|
|
14
|
+
constructor(row?: any);
|
|
15
|
+
}
|
|
16
|
+
export declare class SiteRule {
|
|
17
|
+
id: string;
|
|
18
|
+
type: string;
|
|
19
|
+
grants: SiteRuleGrants;
|
|
20
|
+
roleId: string;
|
|
21
|
+
siteId?: string;
|
|
22
|
+
constructor(row: any);
|
|
23
|
+
}
|
|
24
|
+
export declare class SiteRuleFilter {
|
|
25
|
+
ids?: string[];
|
|
26
|
+
roleIds?: string[];
|
|
27
|
+
siteIds?: (string | null)[];
|
|
28
|
+
launch?: boolean;
|
|
29
|
+
rename?: boolean;
|
|
30
|
+
manageOwners?: boolean;
|
|
31
|
+
managePagetrees?: boolean;
|
|
32
|
+
promotePagetree?: boolean;
|
|
33
|
+
delete?: boolean;
|
|
34
|
+
undelete?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare class CreateSiteRuleInput {
|
|
37
|
+
roleId: string;
|
|
38
|
+
siteId?: string;
|
|
39
|
+
grants?: SiteRuleGrantsInput;
|
|
40
|
+
}
|
|
41
|
+
export declare class UpdateSiteRuleInput {
|
|
42
|
+
ruleId: string;
|
|
43
|
+
siteId?: string;
|
|
44
|
+
grants?: SiteRuleGrantsInput;
|
|
45
|
+
}
|
|
46
|
+
export declare class SiteRuleResponse extends ValidatedResponse {
|
|
47
|
+
siteRule?: SiteRule;
|
|
48
|
+
constructor(config: ValidatedResponseArgs & {
|
|
49
|
+
siteRule?: SiteRule;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export declare class SiteRulePermissions {
|
|
53
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
11
|
+
import { optionalString } from 'txstate-utils';
|
|
12
|
+
import { Field, ID, InputType, ObjectType } from 'type-graphql';
|
|
13
|
+
import { RuleType } from '../internal.js';
|
|
14
|
+
let SiteRuleGrantsInput = class SiteRuleGrantsInput {
|
|
15
|
+
constructor(row) {
|
|
16
|
+
if (row) {
|
|
17
|
+
this.launch = !!row.launch;
|
|
18
|
+
this.rename = !!row.rename;
|
|
19
|
+
this.manageOwners = !!row.manageOwners;
|
|
20
|
+
this.managePagetrees = !!row.managePagetrees;
|
|
21
|
+
this.promotePagetree = !!row.promotePagetree;
|
|
22
|
+
this.delete = !!row.delete;
|
|
23
|
+
this.undelete = !!row.undelete;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
Field({ description: 'Grants ability to set or update the public URL for affected sites.' }),
|
|
29
|
+
__metadata("design:type", Boolean)
|
|
30
|
+
], SiteRuleGrantsInput.prototype, "launch", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
Field({ description: 'Grants ability to rename the site.' }),
|
|
33
|
+
__metadata("design:type", Boolean)
|
|
34
|
+
], SiteRuleGrantsInput.prototype, "rename", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
Field({ description: 'Grants ability to set owner, managers, and organization for affected sites.' }),
|
|
37
|
+
__metadata("design:type", Boolean)
|
|
38
|
+
], SiteRuleGrantsInput.prototype, "manageOwners", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
Field({ description: 'Grants ability to create, rename, delete, and undelete pagetrees in affected sites.' }),
|
|
41
|
+
__metadata("design:type", Boolean)
|
|
42
|
+
], SiteRuleGrantsInput.prototype, "managePagetrees", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
Field({ description: 'Grants ability to promote a pagetree to be the active pagetree for the site; i.e. promote the sandbox to be live.' }),
|
|
45
|
+
__metadata("design:type", Boolean)
|
|
46
|
+
], SiteRuleGrantsInput.prototype, "promotePagetree", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
Field({ description: 'Grants ability to delete the site.' }),
|
|
49
|
+
__metadata("design:type", Boolean)
|
|
50
|
+
], SiteRuleGrantsInput.prototype, "delete", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
Field({ description: 'Grants ability to undelete the site.' }),
|
|
53
|
+
__metadata("design:type", Boolean)
|
|
54
|
+
], SiteRuleGrantsInput.prototype, "undelete", void 0);
|
|
55
|
+
SiteRuleGrantsInput = __decorate([
|
|
56
|
+
ObjectType(),
|
|
57
|
+
InputType(),
|
|
58
|
+
__metadata("design:paramtypes", [Object])
|
|
59
|
+
], SiteRuleGrantsInput);
|
|
60
|
+
export { SiteRuleGrantsInput };
|
|
61
|
+
let SiteRuleGrants = class SiteRuleGrants extends SiteRuleGrantsInput {
|
|
62
|
+
constructor(row) {
|
|
63
|
+
super(row);
|
|
64
|
+
if (row) {
|
|
65
|
+
this.viewForEdit = true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
__decorate([
|
|
70
|
+
Field({ description: 'Grants ability to view site in the site manager UI. Any siterule automatically grants this as it is implied by the other grants.' }),
|
|
71
|
+
__metadata("design:type", Boolean)
|
|
72
|
+
], SiteRuleGrants.prototype, "viewForEdit", void 0);
|
|
73
|
+
SiteRuleGrants = __decorate([
|
|
74
|
+
ObjectType(),
|
|
75
|
+
__metadata("design:paramtypes", [Object])
|
|
76
|
+
], SiteRuleGrants);
|
|
77
|
+
export { SiteRuleGrants };
|
|
78
|
+
let SiteRule = class SiteRule {
|
|
79
|
+
constructor(row) {
|
|
80
|
+
this.type = RuleType.SITE;
|
|
81
|
+
this.id = String(row.id);
|
|
82
|
+
this.roleId = String(row.roleId);
|
|
83
|
+
this.siteId = optionalString(row.siteId);
|
|
84
|
+
this.grants = new SiteRuleGrants(row);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
__decorate([
|
|
88
|
+
Field(type => ID),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], SiteRule.prototype, "id", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
Field(type => RuleType, { description: 'The rule type as needed by the Role.rules types argument.' }),
|
|
93
|
+
__metadata("design:type", String)
|
|
94
|
+
], SiteRule.prototype, "type", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
Field({ description: 'Permissions granted by this rule.' }),
|
|
97
|
+
__metadata("design:type", SiteRuleGrants)
|
|
98
|
+
], SiteRule.prototype, "grants", void 0);
|
|
99
|
+
SiteRule = __decorate([
|
|
100
|
+
ObjectType({ description: 'A site rule grants permissions applicable to a site itself, like the ability to launch the site on a particular subdomain. It can also grant permissions on all sites by leaving the siteId null. Granting access to multiple sites requires multiple rules, one per site.' }),
|
|
101
|
+
__metadata("design:paramtypes", [Object])
|
|
102
|
+
], SiteRule);
|
|
103
|
+
export { SiteRule };
|
|
104
|
+
let SiteRuleFilter = class SiteRuleFilter {
|
|
105
|
+
};
|
|
106
|
+
__decorate([
|
|
107
|
+
Field(type => [ID], { nullable: true }),
|
|
108
|
+
__metadata("design:type", Array)
|
|
109
|
+
], SiteRuleFilter.prototype, "roleIds", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
Field(type => [ID], { nullable: true }),
|
|
112
|
+
__metadata("design:type", Array)
|
|
113
|
+
], SiteRuleFilter.prototype, "siteIds", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
Field({ nullable: true, description: 'Return rules that grant the launch permission.' }),
|
|
116
|
+
__metadata("design:type", Boolean)
|
|
117
|
+
], SiteRuleFilter.prototype, "launch", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
Field({ nullable: true, description: 'Return rules that grant the rename permission.' }),
|
|
120
|
+
__metadata("design:type", Boolean)
|
|
121
|
+
], SiteRuleFilter.prototype, "rename", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
Field({ nullable: true, description: 'Return rules that grant the manageOwners permission.' }),
|
|
124
|
+
__metadata("design:type", Boolean)
|
|
125
|
+
], SiteRuleFilter.prototype, "manageOwners", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
Field({ nullable: true, description: 'Return rules that grant the managePagetrees permission.' }),
|
|
128
|
+
__metadata("design:type", Boolean)
|
|
129
|
+
], SiteRuleFilter.prototype, "managePagetrees", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
Field({ nullable: true, description: 'Return rules that grant the promotePagetree permission.' }),
|
|
132
|
+
__metadata("design:type", Boolean)
|
|
133
|
+
], SiteRuleFilter.prototype, "promotePagetree", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
Field({ nullable: true, description: 'Return rules that grant the delete permission.' }),
|
|
136
|
+
__metadata("design:type", Boolean)
|
|
137
|
+
], SiteRuleFilter.prototype, "delete", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
Field({ nullable: true, description: 'Return rules that grant the undelete permission.' }),
|
|
140
|
+
__metadata("design:type", Boolean)
|
|
141
|
+
], SiteRuleFilter.prototype, "undelete", void 0);
|
|
142
|
+
SiteRuleFilter = __decorate([
|
|
143
|
+
InputType()
|
|
144
|
+
], SiteRuleFilter);
|
|
145
|
+
export { SiteRuleFilter };
|
|
146
|
+
let CreateSiteRuleInput = class CreateSiteRuleInput {
|
|
147
|
+
};
|
|
148
|
+
__decorate([
|
|
149
|
+
Field(),
|
|
150
|
+
__metadata("design:type", String)
|
|
151
|
+
], CreateSiteRuleInput.prototype, "roleId", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
Field({ nullable: true }),
|
|
154
|
+
__metadata("design:type", String)
|
|
155
|
+
], CreateSiteRuleInput.prototype, "siteId", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
Field(type => SiteRuleGrantsInput, { nullable: true }),
|
|
158
|
+
__metadata("design:type", SiteRuleGrantsInput)
|
|
159
|
+
], CreateSiteRuleInput.prototype, "grants", void 0);
|
|
160
|
+
CreateSiteRuleInput = __decorate([
|
|
161
|
+
InputType()
|
|
162
|
+
], CreateSiteRuleInput);
|
|
163
|
+
export { CreateSiteRuleInput };
|
|
164
|
+
let UpdateSiteRuleInput = class UpdateSiteRuleInput {
|
|
165
|
+
};
|
|
166
|
+
__decorate([
|
|
167
|
+
Field(),
|
|
168
|
+
__metadata("design:type", String)
|
|
169
|
+
], UpdateSiteRuleInput.prototype, "ruleId", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
Field({ nullable: true }),
|
|
172
|
+
__metadata("design:type", String)
|
|
173
|
+
], UpdateSiteRuleInput.prototype, "siteId", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
Field(type => SiteRuleGrantsInput, { nullable: true }),
|
|
176
|
+
__metadata("design:type", SiteRuleGrantsInput)
|
|
177
|
+
], UpdateSiteRuleInput.prototype, "grants", void 0);
|
|
178
|
+
UpdateSiteRuleInput = __decorate([
|
|
179
|
+
InputType()
|
|
180
|
+
], UpdateSiteRuleInput);
|
|
181
|
+
export { UpdateSiteRuleInput };
|
|
182
|
+
let SiteRuleResponse = class SiteRuleResponse extends ValidatedResponse {
|
|
183
|
+
constructor(config) {
|
|
184
|
+
super(config);
|
|
185
|
+
this.siteRule = config.siteRule;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
__decorate([
|
|
189
|
+
Field({ nullable: true }),
|
|
190
|
+
__metadata("design:type", SiteRule)
|
|
191
|
+
], SiteRuleResponse.prototype, "siteRule", void 0);
|
|
192
|
+
SiteRuleResponse = __decorate([
|
|
193
|
+
ObjectType(),
|
|
194
|
+
__metadata("design:paramtypes", [Object])
|
|
195
|
+
], SiteRuleResponse);
|
|
196
|
+
export { SiteRuleResponse };
|
|
197
|
+
let SiteRulePermissions = class SiteRulePermissions {
|
|
198
|
+
};
|
|
199
|
+
SiteRulePermissions = __decorate([
|
|
200
|
+
ObjectType()
|
|
201
|
+
], SiteRulePermissions);
|
|
202
|
+
export { SiteRulePermissions };
|
|
203
|
+
//# sourceMappingURL=siterule.model.js.map
|