@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,144 @@
|
|
|
1
|
+
import db from 'mysql2-async/db';
|
|
2
|
+
import { DataRule } from '../internal.js';
|
|
3
|
+
import { isNotNull } from 'txstate-utils';
|
|
4
|
+
function processFilters(filter) {
|
|
5
|
+
const where = [];
|
|
6
|
+
const binds = [];
|
|
7
|
+
if (filter?.ids?.length) {
|
|
8
|
+
where.push(`datarules.id IN (${db.in(binds, filter.ids)})`);
|
|
9
|
+
}
|
|
10
|
+
if (filter?.roleIds?.length) {
|
|
11
|
+
where.push(`datarules.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('datarules.siteId IS NULL');
|
|
17
|
+
const siteIds = filter.siteIds.filter(isNotNull);
|
|
18
|
+
if (siteIds.length)
|
|
19
|
+
ors.push(`datarules.siteId IN (${db.in(binds, siteIds)})`);
|
|
20
|
+
where.push(ors.join('OR'));
|
|
21
|
+
}
|
|
22
|
+
if (filter?.templateIds?.length) {
|
|
23
|
+
const ors = [];
|
|
24
|
+
if (filter.templateIds.some(id => !id))
|
|
25
|
+
ors.push('datarules.templateID IS NULL');
|
|
26
|
+
const templateIds = filter.templateIds.filter(isNotNull);
|
|
27
|
+
if (templateIds.length)
|
|
28
|
+
ors.push(`datarules.templateId IN (${db.in(binds, templateIds)})`);
|
|
29
|
+
where.push(ors.join('OR'));
|
|
30
|
+
}
|
|
31
|
+
return { binds, where };
|
|
32
|
+
}
|
|
33
|
+
export async function getDataRules(filter) {
|
|
34
|
+
const { binds, where } = processFilters(filter);
|
|
35
|
+
const rules = await db.getall(`SELECT * FROM datarules
|
|
36
|
+
WHERE (${where.join(') AND (')})
|
|
37
|
+
ORDER BY siteId, path`, binds);
|
|
38
|
+
return rules.map(row => new DataRule(row));
|
|
39
|
+
}
|
|
40
|
+
export async function createDataRule(args) {
|
|
41
|
+
const columns = ['roleId'];
|
|
42
|
+
const binds = [];
|
|
43
|
+
if (!args.roleId) {
|
|
44
|
+
throw new Error('Must include a role ID when creating an asset rule');
|
|
45
|
+
}
|
|
46
|
+
binds.push(args.roleId);
|
|
47
|
+
if (args.siteId) {
|
|
48
|
+
columns.push('siteId');
|
|
49
|
+
binds.push(args.siteId);
|
|
50
|
+
}
|
|
51
|
+
if (args.templateId) {
|
|
52
|
+
columns.push('templateId');
|
|
53
|
+
binds.push(args.templateId);
|
|
54
|
+
}
|
|
55
|
+
if (args.path) {
|
|
56
|
+
columns.push('path');
|
|
57
|
+
binds.push(args.path);
|
|
58
|
+
}
|
|
59
|
+
if (args.grants) {
|
|
60
|
+
if (args.grants.create) {
|
|
61
|
+
columns.push('`create`');
|
|
62
|
+
binds.push(args.grants.create);
|
|
63
|
+
}
|
|
64
|
+
if (args.grants.update) {
|
|
65
|
+
columns.push('`update`');
|
|
66
|
+
binds.push(args.grants.update);
|
|
67
|
+
}
|
|
68
|
+
if (args.grants.move) {
|
|
69
|
+
columns.push('`move`');
|
|
70
|
+
binds.push(args.grants.move);
|
|
71
|
+
}
|
|
72
|
+
if (args.grants.publish) {
|
|
73
|
+
columns.push('`publish`');
|
|
74
|
+
binds.push(args.grants.publish);
|
|
75
|
+
}
|
|
76
|
+
if (args.grants.unpublish) {
|
|
77
|
+
columns.push('`unpublish`');
|
|
78
|
+
binds.push(args.grants.unpublish);
|
|
79
|
+
}
|
|
80
|
+
if (args.grants.delete) {
|
|
81
|
+
columns.push('`delete`');
|
|
82
|
+
binds.push(args.grants.delete);
|
|
83
|
+
}
|
|
84
|
+
if (args.grants.undelete) {
|
|
85
|
+
columns.push('`undelete`');
|
|
86
|
+
binds.push(args.grants.undelete);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return await db.insert(`INSERT INTO datarules (${columns.join(',')}) VALUES(${columns.map((c) => '?').join(',')})`, binds);
|
|
90
|
+
}
|
|
91
|
+
export async function updateDataRule(args) {
|
|
92
|
+
const updates = [];
|
|
93
|
+
const binds = [];
|
|
94
|
+
if (args.siteId) {
|
|
95
|
+
updates.push('siteId = ?');
|
|
96
|
+
binds.push(args.siteId);
|
|
97
|
+
}
|
|
98
|
+
if (args.templateId) {
|
|
99
|
+
updates.push('templateId = ?');
|
|
100
|
+
binds.push(args.templateId);
|
|
101
|
+
}
|
|
102
|
+
if (args.path) {
|
|
103
|
+
updates.push('path = ?');
|
|
104
|
+
binds.push(args.path);
|
|
105
|
+
}
|
|
106
|
+
if (args.grants) {
|
|
107
|
+
if (isNotNull(args.grants.create)) {
|
|
108
|
+
updates.push('`create` = ?');
|
|
109
|
+
binds.push(args.grants.create);
|
|
110
|
+
}
|
|
111
|
+
if (isNotNull(args.grants.update)) {
|
|
112
|
+
updates.push('`update` = ?');
|
|
113
|
+
binds.push(args.grants.update);
|
|
114
|
+
}
|
|
115
|
+
if (isNotNull(args.grants.move)) {
|
|
116
|
+
updates.push('`move` = ?');
|
|
117
|
+
binds.push(args.grants.move);
|
|
118
|
+
}
|
|
119
|
+
if (isNotNull(args.grants.publish)) {
|
|
120
|
+
updates.push('`publish` = ?');
|
|
121
|
+
binds.push(args.grants.publish);
|
|
122
|
+
}
|
|
123
|
+
if (isNotNull(args.grants.unpublish)) {
|
|
124
|
+
updates.push('`unpublish` = ?');
|
|
125
|
+
binds.push(args.grants.unpublish);
|
|
126
|
+
}
|
|
127
|
+
if (isNotNull(args.grants.delete)) {
|
|
128
|
+
updates.push('`delete` = ?');
|
|
129
|
+
binds.push(args.grants.delete);
|
|
130
|
+
}
|
|
131
|
+
if (isNotNull(args.grants.undelete)) {
|
|
132
|
+
updates.push('`undelete` = ?');
|
|
133
|
+
binds.push(args.grants.undelete);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
binds.push(String(args.ruleId));
|
|
137
|
+
return await db.update(`UPDATE datarules
|
|
138
|
+
SET ${updates.join(', ')}
|
|
139
|
+
WHERE id = ?`, binds);
|
|
140
|
+
}
|
|
141
|
+
export async function deleteDataRule(ruleId) {
|
|
142
|
+
return await db.delete('DELETE FROM datarules WHERE id = ?', [ruleId]);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=datarule.database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datarule.database.js","sourceRoot":"","sources":["../../src/datarule/datarule.database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ValidatedResponse, ValidatedResponseArgs } from '@txstate-mws/graphql-server';
|
|
2
|
+
export declare class DataRuleGrantsBase {
|
|
3
|
+
create: boolean;
|
|
4
|
+
update: boolean;
|
|
5
|
+
move: boolean;
|
|
6
|
+
publish: boolean;
|
|
7
|
+
unpublish: boolean;
|
|
8
|
+
delete: boolean;
|
|
9
|
+
undelete: boolean;
|
|
10
|
+
constructor(row?: any);
|
|
11
|
+
}
|
|
12
|
+
export declare class DataRuleGrants extends DataRuleGrantsBase {
|
|
13
|
+
view: boolean;
|
|
14
|
+
viewlatest: boolean;
|
|
15
|
+
viewForEdit: boolean;
|
|
16
|
+
constructor(row?: any);
|
|
17
|
+
}
|
|
18
|
+
export declare class DataRule {
|
|
19
|
+
id: string;
|
|
20
|
+
type: string;
|
|
21
|
+
grants: DataRuleGrants;
|
|
22
|
+
path: string;
|
|
23
|
+
templateId?: number;
|
|
24
|
+
roleId: string;
|
|
25
|
+
siteId?: string;
|
|
26
|
+
constructor(row: any);
|
|
27
|
+
}
|
|
28
|
+
export declare class DataRuleFilter {
|
|
29
|
+
ids?: string[];
|
|
30
|
+
roleIds?: string[];
|
|
31
|
+
siteIds?: (string | null)[];
|
|
32
|
+
templateIds?: (string | null)[];
|
|
33
|
+
}
|
|
34
|
+
export declare class CreateDataRuleInput {
|
|
35
|
+
roleId: string;
|
|
36
|
+
siteId?: string;
|
|
37
|
+
templateId?: string;
|
|
38
|
+
path?: string;
|
|
39
|
+
grants?: DataRuleGrantsBase;
|
|
40
|
+
}
|
|
41
|
+
export declare class UpdateDataRuleInput {
|
|
42
|
+
ruleId: string;
|
|
43
|
+
siteId?: string;
|
|
44
|
+
templateId?: string;
|
|
45
|
+
path?: string;
|
|
46
|
+
grants?: DataRuleGrantsBase;
|
|
47
|
+
}
|
|
48
|
+
export declare class DataRuleResponse extends ValidatedResponse {
|
|
49
|
+
dataRule?: DataRule;
|
|
50
|
+
constructor(config: ValidatedResponseArgs & {
|
|
51
|
+
dataRule?: DataRule;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export declare class DataRulePermissions {
|
|
55
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
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 DataRuleGrantsBase = class DataRuleGrantsBase {
|
|
15
|
+
constructor(row) {
|
|
16
|
+
if (row) {
|
|
17
|
+
this.create = !!row.create;
|
|
18
|
+
this.update = !!row.update;
|
|
19
|
+
this.move = !!row.move;
|
|
20
|
+
this.publish = !!row.publish;
|
|
21
|
+
this.unpublish = !!row.unpublish;
|
|
22
|
+
this.delete = !!row.delete;
|
|
23
|
+
this.undelete = !!row.undelete;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
Field({ description: 'Grants ability to create data entries of this type in the specified site or folder.' }),
|
|
29
|
+
__metadata("design:type", Boolean)
|
|
30
|
+
], DataRuleGrantsBase.prototype, "create", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
Field({ description: 'Grants ability to update data entries of this type in the specified site or folder.' }),
|
|
33
|
+
__metadata("design:type", Boolean)
|
|
34
|
+
], DataRuleGrantsBase.prototype, "update", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
Field({ description: 'Grants ability to move or rename the data entries impacted by this rule. Note that user must have the `create` permission for the target folder.' }),
|
|
37
|
+
__metadata("design:type", Boolean)
|
|
38
|
+
], DataRuleGrantsBase.prototype, "move", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
Field({ description: 'Grants ability to publish data entries of this type in the specified site or folder.' }),
|
|
41
|
+
__metadata("design:type", Boolean)
|
|
42
|
+
], DataRuleGrantsBase.prototype, "publish", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
Field({ description: 'Grants ability to unpublish entries of this type in the specified site or folder.' }),
|
|
45
|
+
__metadata("design:type", Boolean)
|
|
46
|
+
], DataRuleGrantsBase.prototype, "unpublish", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
Field({ description: 'Grants ability to delete data entries of this type in the specified site or folder.' }),
|
|
49
|
+
__metadata("design:type", Boolean)
|
|
50
|
+
], DataRuleGrantsBase.prototype, "delete", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
Field({ description: 'Grants ability to undelete entries of this type in the specified site or folder.' }),
|
|
53
|
+
__metadata("design:type", Boolean)
|
|
54
|
+
], DataRuleGrantsBase.prototype, "undelete", void 0);
|
|
55
|
+
DataRuleGrantsBase = __decorate([
|
|
56
|
+
ObjectType(),
|
|
57
|
+
InputType(),
|
|
58
|
+
__metadata("design:paramtypes", [Object])
|
|
59
|
+
], DataRuleGrantsBase);
|
|
60
|
+
export { DataRuleGrantsBase };
|
|
61
|
+
let DataRuleGrants = class DataRuleGrants extends DataRuleGrantsBase {
|
|
62
|
+
constructor(row) {
|
|
63
|
+
super(row);
|
|
64
|
+
if (row) {
|
|
65
|
+
this.view = true;
|
|
66
|
+
this.viewlatest = this.update || this.publish;
|
|
67
|
+
this.viewForEdit = this.create || this.update || this.move || this.delete || this.undelete || this.publish || this.unpublish;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
__decorate([
|
|
72
|
+
Field({ description: 'Grants ability to view the published version of data. Always true on every rule since having any other grant implies this one. Do not try to set this in mutations.' }),
|
|
73
|
+
__metadata("design:type", Boolean)
|
|
74
|
+
], DataRuleGrants.prototype, "view", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
Field({ description: 'Grants ability to view unpublished versions of data. Required for data to show up in Admin UI.' }),
|
|
77
|
+
__metadata("design:type", Boolean)
|
|
78
|
+
], DataRuleGrants.prototype, "viewlatest", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
Field({ description: 'Grants ability to view this data in the data editing UI. Admins do NOT set this directly - it is implied by having other grants.' }),
|
|
81
|
+
__metadata("design:type", Boolean)
|
|
82
|
+
], DataRuleGrants.prototype, "viewForEdit", void 0);
|
|
83
|
+
DataRuleGrants = __decorate([
|
|
84
|
+
ObjectType(),
|
|
85
|
+
InputType('DataRuleGrantsInput'),
|
|
86
|
+
__metadata("design:paramtypes", [Object])
|
|
87
|
+
], DataRuleGrants);
|
|
88
|
+
export { DataRuleGrants };
|
|
89
|
+
let DataRule = class DataRule {
|
|
90
|
+
constructor(row) {
|
|
91
|
+
this.type = RuleType.DATA;
|
|
92
|
+
this.id = String(row.id);
|
|
93
|
+
this.roleId = String(row.roleId);
|
|
94
|
+
this.siteId = optionalString(row.siteId);
|
|
95
|
+
this.templateId = row.templateId;
|
|
96
|
+
this.grants = new DataRuleGrants(row);
|
|
97
|
+
this.path = row.path;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
__decorate([
|
|
101
|
+
Field(type => ID),
|
|
102
|
+
__metadata("design:type", String)
|
|
103
|
+
], DataRule.prototype, "id", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
Field(type => RuleType, { description: 'The rule type as needed by the Role.rules types argument.' }),
|
|
106
|
+
__metadata("design:type", String)
|
|
107
|
+
], DataRule.prototype, "type", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
Field({ description: 'Permissions granted by this rule.' }),
|
|
110
|
+
__metadata("design:type", DataRuleGrants)
|
|
111
|
+
], DataRule.prototype, "grants", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
Field({ description: 'Folder to which this rule should apply. We take a path so that it could apply to the same folder name in multiple sites or multiple template types, if site or template is left null.' }),
|
|
114
|
+
__metadata("design:type", String)
|
|
115
|
+
], DataRule.prototype, "path", void 0);
|
|
116
|
+
DataRule = __decorate([
|
|
117
|
+
ObjectType({ description: 'A rule that grants data-related privileges. Each role has multiple rules, each rule belonging only to that role.' }),
|
|
118
|
+
__metadata("design:paramtypes", [Object])
|
|
119
|
+
], DataRule);
|
|
120
|
+
export { DataRule };
|
|
121
|
+
let DataRuleFilter = class DataRuleFilter {
|
|
122
|
+
};
|
|
123
|
+
DataRuleFilter = __decorate([
|
|
124
|
+
InputType()
|
|
125
|
+
], DataRuleFilter);
|
|
126
|
+
export { DataRuleFilter };
|
|
127
|
+
let CreateDataRuleInput = class CreateDataRuleInput {
|
|
128
|
+
};
|
|
129
|
+
__decorate([
|
|
130
|
+
Field(),
|
|
131
|
+
__metadata("design:type", String)
|
|
132
|
+
], CreateDataRuleInput.prototype, "roleId", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
Field({ nullable: true }),
|
|
135
|
+
__metadata("design:type", String)
|
|
136
|
+
], CreateDataRuleInput.prototype, "siteId", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
Field({ nullable: true }),
|
|
139
|
+
__metadata("design:type", String)
|
|
140
|
+
], CreateDataRuleInput.prototype, "templateId", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
Field({ nullable: true }),
|
|
143
|
+
__metadata("design:type", String)
|
|
144
|
+
], CreateDataRuleInput.prototype, "path", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
Field(type => DataRuleGrantsBase, { nullable: true }),
|
|
147
|
+
__metadata("design:type", DataRuleGrantsBase)
|
|
148
|
+
], CreateDataRuleInput.prototype, "grants", void 0);
|
|
149
|
+
CreateDataRuleInput = __decorate([
|
|
150
|
+
InputType()
|
|
151
|
+
], CreateDataRuleInput);
|
|
152
|
+
export { CreateDataRuleInput };
|
|
153
|
+
let UpdateDataRuleInput = class UpdateDataRuleInput {
|
|
154
|
+
};
|
|
155
|
+
__decorate([
|
|
156
|
+
Field(),
|
|
157
|
+
__metadata("design:type", String)
|
|
158
|
+
], UpdateDataRuleInput.prototype, "ruleId", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
Field({ nullable: true }),
|
|
161
|
+
__metadata("design:type", String)
|
|
162
|
+
], UpdateDataRuleInput.prototype, "siteId", void 0);
|
|
163
|
+
__decorate([
|
|
164
|
+
Field({ nullable: true }),
|
|
165
|
+
__metadata("design:type", String)
|
|
166
|
+
], UpdateDataRuleInput.prototype, "templateId", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
Field({ nullable: true }),
|
|
169
|
+
__metadata("design:type", String)
|
|
170
|
+
], UpdateDataRuleInput.prototype, "path", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
Field(type => DataRuleGrantsBase, { nullable: true }),
|
|
173
|
+
__metadata("design:type", DataRuleGrantsBase)
|
|
174
|
+
], UpdateDataRuleInput.prototype, "grants", void 0);
|
|
175
|
+
UpdateDataRuleInput = __decorate([
|
|
176
|
+
InputType()
|
|
177
|
+
], UpdateDataRuleInput);
|
|
178
|
+
export { UpdateDataRuleInput };
|
|
179
|
+
let DataRuleResponse = class DataRuleResponse extends ValidatedResponse {
|
|
180
|
+
constructor(config) {
|
|
181
|
+
super(config);
|
|
182
|
+
this.dataRule = config.dataRule;
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
__decorate([
|
|
186
|
+
Field({ nullable: true }),
|
|
187
|
+
__metadata("design:type", DataRule)
|
|
188
|
+
], DataRuleResponse.prototype, "dataRule", void 0);
|
|
189
|
+
DataRuleResponse = __decorate([
|
|
190
|
+
ObjectType(),
|
|
191
|
+
__metadata("design:paramtypes", [Object])
|
|
192
|
+
], DataRuleResponse);
|
|
193
|
+
export { DataRuleResponse };
|
|
194
|
+
let DataRulePermissions = class DataRulePermissions {
|
|
195
|
+
};
|
|
196
|
+
DataRulePermissions = __decorate([
|
|
197
|
+
ObjectType()
|
|
198
|
+
], DataRulePermissions);
|
|
199
|
+
export { DataRulePermissions };
|
|
200
|
+
//# sourceMappingURL=datarule.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datarule.model.js","sourceRoot":"","sources":["../../src/datarule/datarule.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Context } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { Role, Site, Template, CreateDataRuleInput, DataRule, UpdateDataRuleInput } from '../internal.js';
|
|
3
|
+
export declare class DataRuleResolver {
|
|
4
|
+
role(ctx: Context, datarule: DataRule): Promise<Role | undefined>;
|
|
5
|
+
site(ctx: Context, datarule: DataRule): Promise<Site | null | undefined>;
|
|
6
|
+
template(ctx: Context, datarule: DataRule): Promise<Template | null | undefined>;
|
|
7
|
+
permissions(datarule: DataRule): DataRule;
|
|
8
|
+
createDataRule(ctx: Context, args: CreateDataRuleInput): Promise<import("@txstate-mws/graphql-server").ValidatedResponse>;
|
|
9
|
+
updateDataRule(ctx: Context, args: UpdateDataRuleInput): Promise<import("@txstate-mws/graphql-server").ValidatedResponse>;
|
|
10
|
+
}
|
|
11
|
+
export declare class DataRulePermissionsResolver {
|
|
12
|
+
write(ctx: Context, rule: DataRule): Promise<boolean>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Context } from '@txstate-mws/graphql-server';
|
|
14
|
+
import { Arg, Resolver, Ctx, Mutation, FieldResolver, Root } from 'type-graphql';
|
|
15
|
+
import { isNull } from 'txstate-utils';
|
|
16
|
+
import { Role, RoleService, Site, SiteService, Template, CreateDataRuleInput, DataRule, DataRulePermissions, DataRuleResponse, UpdateDataRuleInput, TemplateService, DataRuleService } from '../internal.js';
|
|
17
|
+
let DataRuleResolver = class DataRuleResolver {
|
|
18
|
+
async role(ctx, datarule) {
|
|
19
|
+
return await ctx.svc(RoleService).getRoleForRule(datarule.roleId);
|
|
20
|
+
}
|
|
21
|
+
async site(ctx, datarule) {
|
|
22
|
+
if (isNull(datarule.siteId))
|
|
23
|
+
return null;
|
|
24
|
+
else
|
|
25
|
+
return await ctx.svc(SiteService).findById(datarule.siteId);
|
|
26
|
+
}
|
|
27
|
+
async template(ctx, datarule) {
|
|
28
|
+
if (isNull(datarule.templateId))
|
|
29
|
+
return null;
|
|
30
|
+
else
|
|
31
|
+
return await ctx.svc(TemplateService).findById(datarule.templateId);
|
|
32
|
+
}
|
|
33
|
+
permissions(datarule) {
|
|
34
|
+
return datarule;
|
|
35
|
+
}
|
|
36
|
+
async createDataRule(ctx, args) {
|
|
37
|
+
return await ctx.svc(DataRuleService).create(args);
|
|
38
|
+
}
|
|
39
|
+
async updateDataRule(ctx, args) {
|
|
40
|
+
return await ctx.svc(DataRuleService).update(args);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
__decorate([
|
|
44
|
+
FieldResolver(returns => Role, { description: 'The role to which this rule belongs.' }),
|
|
45
|
+
__param(0, Ctx()),
|
|
46
|
+
__param(1, Root()),
|
|
47
|
+
__metadata("design:type", Function),
|
|
48
|
+
__metadata("design:paramtypes", [Context, DataRule]),
|
|
49
|
+
__metadata("design:returntype", Promise)
|
|
50
|
+
], DataRuleResolver.prototype, "role", null);
|
|
51
|
+
__decorate([
|
|
52
|
+
FieldResolver(returns => Site, { nullable: true, description: 'The site to which this rule applies. Null if it applies to all sites.' }),
|
|
53
|
+
__param(0, Ctx()),
|
|
54
|
+
__param(1, Root()),
|
|
55
|
+
__metadata("design:type", Function),
|
|
56
|
+
__metadata("design:paramtypes", [Context, DataRule]),
|
|
57
|
+
__metadata("design:returntype", Promise)
|
|
58
|
+
], DataRuleResolver.prototype, "site", null);
|
|
59
|
+
__decorate([
|
|
60
|
+
FieldResolver(returns => Template, { nullable: true, description: 'The data template to which this rule applies. Null if it applies to all data templates.' }),
|
|
61
|
+
__param(0, Ctx()),
|
|
62
|
+
__param(1, Root()),
|
|
63
|
+
__metadata("design:type", Function),
|
|
64
|
+
__metadata("design:paramtypes", [Context, DataRule]),
|
|
65
|
+
__metadata("design:returntype", Promise)
|
|
66
|
+
], DataRuleResolver.prototype, "template", null);
|
|
67
|
+
__decorate([
|
|
68
|
+
FieldResolver(returns => DataRulePermissions, {
|
|
69
|
+
description: `Reveal the simplified results after all authorization rules are taken into account
|
|
70
|
+
for the current user. Makes it easy to light up, disable, or hide buttons in the UI.`
|
|
71
|
+
}),
|
|
72
|
+
__param(0, Root()),
|
|
73
|
+
__metadata("design:type", Function),
|
|
74
|
+
__metadata("design:paramtypes", [DataRule]),
|
|
75
|
+
__metadata("design:returntype", void 0)
|
|
76
|
+
], DataRuleResolver.prototype, "permissions", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
Mutation(returns => DataRuleResponse),
|
|
79
|
+
__param(0, Ctx()),
|
|
80
|
+
__param(1, Arg('args', type => CreateDataRuleInput)),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [Context, CreateDataRuleInput]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], DataRuleResolver.prototype, "createDataRule", null);
|
|
85
|
+
__decorate([
|
|
86
|
+
Mutation(returns => DataRuleResponse),
|
|
87
|
+
__param(0, Ctx()),
|
|
88
|
+
__param(1, Arg('args', type => UpdateDataRuleInput)),
|
|
89
|
+
__metadata("design:type", Function),
|
|
90
|
+
__metadata("design:paramtypes", [Context, UpdateDataRuleInput]),
|
|
91
|
+
__metadata("design:returntype", Promise)
|
|
92
|
+
], DataRuleResolver.prototype, "updateDataRule", null);
|
|
93
|
+
DataRuleResolver = __decorate([
|
|
94
|
+
Resolver(of => DataRule)
|
|
95
|
+
], DataRuleResolver);
|
|
96
|
+
export { DataRuleResolver };
|
|
97
|
+
let DataRulePermissionsResolver = class DataRulePermissionsResolver {
|
|
98
|
+
async write(ctx, rule) {
|
|
99
|
+
return await ctx.svc(DataRuleService).mayWrite(rule);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
__decorate([
|
|
103
|
+
FieldResolver(returns => Boolean, { description: 'User may edit the grants on this rule.' }),
|
|
104
|
+
__param(0, Ctx()),
|
|
105
|
+
__param(1, Root()),
|
|
106
|
+
__metadata("design:type", Function),
|
|
107
|
+
__metadata("design:paramtypes", [Context, DataRule]),
|
|
108
|
+
__metadata("design:returntype", Promise)
|
|
109
|
+
], DataRulePermissionsResolver.prototype, "write", null);
|
|
110
|
+
DataRulePermissionsResolver = __decorate([
|
|
111
|
+
Resolver(of => DataRulePermissions)
|
|
112
|
+
], DataRulePermissionsResolver);
|
|
113
|
+
export { DataRulePermissionsResolver };
|
|
114
|
+
//# sourceMappingURL=datarule.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datarule.resolver.js","sourceRoot":"","sources":["../../src/datarule/datarule.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
2
|
+
import { DosGatoService, Data, DataFolder, DataRule, CreateDataRuleInput, UpdateDataRuleInput, DataRuleFilter } from '../internal.js';
|
|
3
|
+
export declare class DataRuleServiceInternal extends BaseService {
|
|
4
|
+
findById(ruleId: string): Promise<DataRule | undefined>;
|
|
5
|
+
findByRoleId(roleId: string, filter?: DataRuleFilter): Promise<DataRule[]>;
|
|
6
|
+
findBySiteId(siteId?: string): Promise<DataRule[]>;
|
|
7
|
+
findByTemplateId(templateId?: string): Promise<DataRule[]>;
|
|
8
|
+
findByDataEntry(data: Data): Promise<DataRule[]>;
|
|
9
|
+
findByDataFolder(folder: DataFolder): Promise<DataRule[]>;
|
|
10
|
+
}
|
|
11
|
+
export declare class DataRuleService extends DosGatoService<DataRule> {
|
|
12
|
+
raw: DataRuleServiceInternal;
|
|
13
|
+
findById(ruleId: string): Promise<DataRule | undefined>;
|
|
14
|
+
findByRoleId(roleId: string, filter?: DataRuleFilter): Promise<DataRule[]>;
|
|
15
|
+
findBySiteId(siteId?: string): Promise<DataRule[]>;
|
|
16
|
+
findByDataEntry(data: Data): Promise<DataRule[]>;
|
|
17
|
+
findByDataFolder(folder: DataFolder): Promise<DataRule[]>;
|
|
18
|
+
create(args: CreateDataRuleInput): Promise<ValidatedResponse>;
|
|
19
|
+
update(args: UpdateDataRuleInput): Promise<ValidatedResponse>;
|
|
20
|
+
delete(ruleId: string): Promise<ValidatedResponse>;
|
|
21
|
+
applies(rule: DataRule, item: Data): Promise<boolean>;
|
|
22
|
+
appliesToFolder(rule: DataRule, folder: DataFolder): Promise<boolean>;
|
|
23
|
+
asOrMorePowerful(ruleA: DataRule, ruleB: DataRule): boolean;
|
|
24
|
+
tooPowerful(rule: DataRule): Promise<boolean>;
|
|
25
|
+
mayWrite(rule: DataRule): Promise<boolean>;
|
|
26
|
+
mayView(rule: DataRule): Promise<boolean>;
|
|
27
|
+
}
|