@dosgato/api 0.0.2 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access/access.resolver.d.ts +2 -0
- package/dist/access/access.resolver.js +21 -1
- package/dist/access/access.resolver.js.map +1 -1
- package/dist/asset/asset.database.js +5 -9
- package/dist/asset/asset.database.js.map +1 -1
- package/dist/asset/asset.model.d.ts +2 -0
- package/dist/asset/asset.model.js +17 -7
- package/dist/asset/asset.model.js.map +1 -1
- package/dist/asset/asset.resolver.js +1 -1
- package/dist/asset/asset.resolver.js.map +1 -1
- package/dist/asset/asset.service.js +2 -2
- package/dist/asset/asset.service.js.map +1 -1
- package/dist/assetfolder/assetfolder.database.js +0 -1
- package/dist/assetfolder/assetfolder.database.js.map +1 -1
- package/dist/assetfolder/assetfolder.service.js +0 -1
- package/dist/assetfolder/assetfolder.service.js.map +1 -1
- package/dist/assetrule/assetrule.resolver.d.ts +1 -1
- package/dist/assetrule/assetrule.resolver.js +4 -3
- package/dist/assetrule/assetrule.resolver.js.map +1 -1
- package/dist/assetrule/assetrule.service.d.ts +1 -1
- package/dist/assetrule/assetrule.service.js +36 -15
- package/dist/assetrule/assetrule.service.js.map +1 -1
- package/dist/createdb.js +33 -40
- package/dist/createdb.js.map +1 -1
- package/dist/data/data.database.js +5 -5
- package/dist/data/data.database.js.map +1 -1
- package/dist/data/data.indexing.d.ts +3 -2
- package/dist/data/data.indexing.js +4 -3
- package/dist/data/data.indexing.js.map +1 -1
- package/dist/data/data.migrations.d.ts +16 -0
- package/dist/data/data.migrations.js +34 -0
- package/dist/data/data.migrations.js.map +1 -0
- package/dist/data/data.model.d.ts +2 -4
- package/dist/data/data.model.js +1 -13
- package/dist/data/data.model.js.map +1 -1
- package/dist/data/data.service.js +50 -55
- package/dist/data/data.service.js.map +1 -1
- package/dist/datafolder/datafolder.database.d.ts +1 -0
- package/dist/datafolder/datafolder.database.js +10 -0
- package/dist/datafolder/datafolder.database.js.map +1 -1
- package/dist/datafolder/datafolder.resolver.d.ts +1 -1
- package/dist/datafolder/datafolder.resolver.js +4 -3
- package/dist/datafolder/datafolder.resolver.js.map +1 -1
- package/dist/datafolder/datafolder.service.d.ts +1 -1
- package/dist/datafolder/datafolder.service.js +21 -12
- package/dist/datafolder/datafolder.service.js.map +1 -1
- package/dist/datarule/datarule.database.js +2 -1
- package/dist/datarule/datarule.database.js.map +1 -1
- package/dist/datarule/datarule.resolver.d.ts +1 -1
- package/dist/datarule/datarule.resolver.js +4 -3
- package/dist/datarule/datarule.resolver.js.map +1 -1
- package/dist/datarule/datarule.service.d.ts +1 -1
- package/dist/datarule/datarule.service.js +5 -6
- package/dist/datarule/datarule.service.js.map +1 -1
- package/dist/fixtures.js +61 -56
- package/dist/fixtures.js.map +1 -1
- package/dist/fixturetemplates.d.ts +13 -110
- package/dist/fixturetemplates.js +64 -44
- package/dist/fixturetemplates.js.map +1 -1
- package/dist/globalrule/globalrule.database.js +30 -6
- package/dist/globalrule/globalrule.database.js.map +1 -1
- package/dist/globalrule/globalrule.model.d.ts +4 -1
- package/dist/globalrule/globalrule.model.js +18 -3
- package/dist/globalrule/globalrule.model.js.map +1 -1
- package/dist/globalrule/globalrule.service.js +1 -1
- package/dist/globalrule/globalrule.service.js.map +1 -1
- package/dist/group/group.database.d.ts +2 -12
- package/dist/group/group.database.js +13 -57
- package/dist/group/group.database.js.map +1 -1
- package/dist/group/group.model.d.ts +0 -1
- package/dist/group/group.model.js +0 -4
- package/dist/group/group.model.js.map +1 -1
- package/dist/group/group.resolver.d.ts +4 -9
- package/dist/group/group.resolver.js +15 -71
- package/dist/group/group.resolver.js.map +1 -1
- package/dist/group/group.service.d.ts +3 -11
- package/dist/group/group.service.js +46 -117
- package/dist/group/group.service.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +6 -1
- package/dist/internal.js +6 -1
- package/dist/internal.js.map +1 -1
- package/dist/page/page.database.d.ts +2 -2
- package/dist/page/page.database.js +5 -4
- package/dist/page/page.database.js.map +1 -1
- package/dist/page/page.indexing.js +8 -6
- package/dist/page/page.indexing.js.map +1 -1
- package/dist/page/page.migrations.d.ts +7 -5
- package/dist/page/page.migrations.js +39 -26
- package/dist/page/page.migrations.js.map +1 -1
- package/dist/page/page.model.d.ts +8 -16
- package/dist/page/page.model.js +21 -53
- package/dist/page/page.model.js.map +1 -1
- package/dist/page/page.resolver.d.ts +6 -4
- package/dist/page/page.resolver.js +46 -16
- package/dist/page/page.resolver.js.map +1 -1
- package/dist/page/page.service.d.ts +9 -4
- package/dist/page/page.service.js +135 -69
- package/dist/page/page.service.js.map +1 -1
- package/dist/page/page.util.js +4 -3
- package/dist/page/page.util.js.map +1 -1
- package/dist/page/page.validation.d.ts +2 -2
- package/dist/page/page.validation.js +19 -12
- package/dist/page/page.validation.js.map +1 -1
- package/dist/pagerule/pagerule.database.js +9 -15
- package/dist/pagerule/pagerule.database.js.map +1 -1
- package/dist/pagerule/pagerule.model.d.ts +5 -4
- package/dist/pagerule/pagerule.model.js +10 -6
- package/dist/pagerule/pagerule.model.js.map +1 -1
- package/dist/pagerule/pagerule.resolver.d.ts +1 -2
- package/dist/pagerule/pagerule.resolver.js +1 -15
- package/dist/pagerule/pagerule.resolver.js.map +1 -1
- package/dist/pagerule/pagerule.service.js +9 -16
- package/dist/pagerule/pagerule.service.js.map +1 -1
- package/dist/pagetree/pagetree.resolver.js +1 -13
- package/dist/pagetree/pagetree.resolver.js.map +1 -1
- package/dist/pagetree/pagetree.service.js +6 -6
- package/dist/pagetree/pagetree.service.js.map +1 -1
- package/dist/role/role.database.d.ts +6 -0
- package/dist/role/role.database.js +36 -3
- package/dist/role/role.database.js.map +1 -1
- package/dist/role/role.model.d.ts +3 -0
- package/dist/role/role.model.js +15 -1
- package/dist/role/role.model.js.map +1 -1
- package/dist/role/role.resolver.d.ts +3 -1
- package/dist/role/role.resolver.js +29 -1
- package/dist/role/role.resolver.js.map +1 -1
- package/dist/role/role.service.d.ts +4 -0
- package/dist/role/role.service.js +47 -10
- package/dist/role/role.service.js.map +1 -1
- package/dist/run.js +0 -3
- package/dist/run.js.map +1 -1
- package/dist/scalars/urlsafestring.js +1 -1
- package/dist/scalars/urlsafestring.js.map +1 -1
- package/dist/site/site.database.d.ts +10 -2
- package/dist/site/site.database.js +93 -54
- package/dist/site/site.database.js.map +1 -1
- package/dist/site/site.model.d.ts +5 -9
- package/dist/site/site.model.js +17 -26
- package/dist/site/site.model.js.map +1 -1
- package/dist/site/site.resolver.d.ts +9 -7
- package/dist/site/site.resolver.js +70 -40
- package/dist/site/site.resolver.js.map +1 -1
- package/dist/site/site.service.d.ts +12 -6
- package/dist/site/site.service.js +90 -35
- package/dist/site/site.service.js.map +1 -1
- package/dist/sitecomment/sitecomment.database.d.ts +4 -0
- package/dist/sitecomment/sitecomment.database.js +29 -0
- package/dist/sitecomment/sitecomment.database.js.map +1 -0
- package/dist/sitecomment/sitecomment.model.d.ts +21 -0
- package/dist/sitecomment/sitecomment.model.js +68 -0
- package/dist/sitecomment/sitecomment.model.js.map +1 -0
- package/dist/sitecomment/sitecomment.resolver.d.ts +7 -0
- package/dist/sitecomment/sitecomment.resolver.js +56 -0
- package/dist/sitecomment/sitecomment.resolver.js.map +1 -0
- package/dist/sitecomment/sitecomment.service.d.ts +14 -0
- package/dist/sitecomment/sitecomment.service.js +57 -0
- package/dist/sitecomment/sitecomment.service.js.map +1 -0
- package/dist/siterule/siterule.database.js +16 -38
- package/dist/siterule/siterule.database.js.map +1 -1
- package/dist/siterule/siterule.model.d.ts +4 -8
- package/dist/siterule/siterule.model.js +11 -29
- package/dist/siterule/siterule.model.js.map +1 -1
- package/dist/siterule/siterule.service.js +1 -1
- package/dist/siterule/siterule.service.js.map +1 -1
- package/dist/template/template.database.d.ts +8 -0
- package/dist/template/template.database.js +46 -2
- package/dist/template/template.database.js.map +1 -1
- package/dist/template/template.model.js +4 -3
- package/dist/template/template.model.js.map +1 -1
- package/dist/template/template.resolver.d.ts +1 -0
- package/dist/template/template.resolver.js +14 -2
- package/dist/template/template.resolver.js.map +1 -1
- package/dist/template/template.service.d.ts +21 -1
- package/dist/template/template.service.js +67 -9
- package/dist/template/template.service.js.map +1 -1
- package/dist/templaterule/templaterule.service.js +1 -1
- package/dist/templaterule/templaterule.service.js.map +1 -1
- package/dist/user/user.database.d.ts +1 -1
- package/dist/user/user.database.js +21 -1
- package/dist/user/user.database.js.map +1 -1
- package/dist/user/user.model.d.ts +5 -0
- package/dist/user/user.model.js +22 -0
- package/dist/user/user.model.js.map +1 -1
- package/dist/user/user.resolver.d.ts +4 -2
- package/dist/user/user.resolver.js +28 -5
- package/dist/user/user.resolver.js.map +1 -1
- package/dist/user/user.service.d.ts +1 -1
- package/dist/user/user.service.js +23 -13
- package/dist/user/user.service.js.map +1 -1
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.js +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/indexing.d.ts +0 -4
- package/dist/util/indexing.js +0 -13
- package/dist/util/indexing.js.map +1 -1
- package/dist/util/login.d.ts +1 -0
- package/dist/util/login.js +8 -0
- package/dist/util/login.js.map +1 -0
- package/dist/util/migrations.d.ts +0 -4
- package/dist/util/registry.d.ts +22 -12
- package/dist/util/registry.js +23 -41
- package/dist/util/registry.js.map +1 -1
- package/dist/versionedservice/service.d.ts +7 -1
- package/dist/versionedservice/service.js +22 -5
- package/dist/versionedservice/service.js.map +1 -1
- package/package.json +5 -6
- package/readme/DosGato.mwb +0 -0
- package/dist/util/sharedtypes.d.ts +0 -3
- package/dist/util/sharedtypes.js +0 -2
- package/dist/util/sharedtypes.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import db from 'mysql2-async/db';
|
|
2
|
-
import { Cache, hashify
|
|
2
|
+
import { Cache, hashify } from 'txstate-utils';
|
|
3
3
|
import { Group } from '../internal.js';
|
|
4
4
|
class HierarchyGroup extends Group {
|
|
5
5
|
constructor(row) {
|
|
@@ -52,13 +52,6 @@ function processFilters(filter) {
|
|
|
52
52
|
if (filter?.ids?.length) {
|
|
53
53
|
where.push(`groups.id IN (${db.in(binds, filter.ids)})`);
|
|
54
54
|
}
|
|
55
|
-
if (filter?.managerIds?.length) {
|
|
56
|
-
joins.set('managerIds', `
|
|
57
|
-
LEFT JOIN (SELECT gm.groupId, users.* FROM groups_managers gm INNER JOIN users ON gm.userId=users.id) gmu ON groups.id = gmu.groupId
|
|
58
|
-
LEFT JOIN (SELECT gs.groupId, users.* FROM groups_sites gs INNER JOIN sites_managers sm ON gs.siteId=sm.siteId INNER JOIN users ON sm.userId=users.id) gsu ON groups.id = gsu.groupId
|
|
59
|
-
`);
|
|
60
|
-
where.push(`gmu.login IN (${db.in(binds, filter.managerIds)}) OR gsu.login IN (${db.in(binds, filter.managerIds)})`);
|
|
61
|
-
}
|
|
62
55
|
if (filter?.root) {
|
|
63
56
|
where.push('groups.id NOT IN (SELECT childId FROM groups_groups)');
|
|
64
57
|
}
|
|
@@ -85,55 +78,30 @@ export async function getGroupsWithUser(userIds) {
|
|
|
85
78
|
WHERE users.login IN (${db.in(binds, userIds)})`, binds);
|
|
86
79
|
return rows.map(row => ({ key: row.login, value: new Group(row) }));
|
|
87
80
|
}
|
|
88
|
-
export async function getGroupsWithSite(siteIds) {
|
|
89
|
-
const binds = [];
|
|
90
|
-
const rows = await db.getall(`
|
|
91
|
-
SELECT gs.siteId, groups.* FROM groups
|
|
92
|
-
INNER JOIN groups_sites gs ON groups.id = gs.groupId
|
|
93
|
-
WHERE gs.siteId IN (${db.in(binds, siteIds)})`, binds);
|
|
94
|
-
return rows.map(row => ({ key: row.siteId, value: new Group(row) }));
|
|
95
|
-
}
|
|
96
|
-
export async function getGroupsWithManager(managerIds, direct) {
|
|
97
|
-
if (!managerIds.length)
|
|
98
|
-
return [];
|
|
99
|
-
const [directGroups, siteGroups] = await Promise.all([
|
|
100
|
-
db.getall(`SELECT g.*, u.login
|
|
101
|
-
FROM groups g
|
|
102
|
-
INNER JOIN groups_managers gm ON gm.groupId=g.id
|
|
103
|
-
INNER JOIN users u ON u.id=gm.userId
|
|
104
|
-
WHERE u.login IN (${db.in([], managerIds)})`, managerIds),
|
|
105
|
-
db.getall(`SELECT g.*, u.login
|
|
106
|
-
FROM groups g
|
|
107
|
-
INNER JOIN groups_sites gs ON gs.groupId=g.id
|
|
108
|
-
INNER JOIN sites_managers sm ON sm.siteId=gs.siteId
|
|
109
|
-
INNER JOIN users u ON u.id=sm.userId
|
|
110
|
-
WHERE u.login IN (${db.in([], managerIds)})`, managerIds)
|
|
111
|
-
]);
|
|
112
|
-
const all = !direct ? siteGroups : [];
|
|
113
|
-
if (direct !== false)
|
|
114
|
-
all.push(...directGroups);
|
|
115
|
-
return unique(all, row => [row.id, row.login])
|
|
116
|
-
.map(row => ({ key: row.login, value: new Group(row) }));
|
|
117
|
-
}
|
|
118
81
|
export async function getGroupsWithRole(roleIds, filter) {
|
|
119
82
|
const { binds, where, joins } = processFilters(filter);
|
|
120
83
|
if (!joins.has('groups_roles')) {
|
|
121
84
|
joins.set('groups_roles', 'INNER JOIN groups_roles on groups.id = groups_roles.groupId');
|
|
122
85
|
}
|
|
123
86
|
where.push(`groups_roles.roleId IN (${db.in(binds, roleIds)})`);
|
|
124
|
-
console.log(`SELECT groups.*, groups_roles.roleId as roleId
|
|
125
|
-
FROM groups
|
|
126
|
-
${Array.from(joins.values()).join('\n')}
|
|
127
|
-
WHERE (${where.join(') AND (')})`);
|
|
128
87
|
const groups = await db.getall(`SELECT groups.*, groups_roles.roleId as roleId
|
|
129
88
|
FROM groups
|
|
130
89
|
${Array.from(joins.values()).join('\n')}
|
|
131
90
|
WHERE (${where.join(') AND (')})`, binds);
|
|
132
91
|
return groups.map(row => ({ key: String(row.roleId), value: new Group(row) }));
|
|
133
92
|
}
|
|
134
|
-
export async function
|
|
135
|
-
const
|
|
136
|
-
return
|
|
93
|
+
export async function groupNameIsUnique(name) {
|
|
94
|
+
const count = await db.getval('SELECT COUNT(*) FROM groups WHERE name = ?', [name]);
|
|
95
|
+
return count === 0;
|
|
96
|
+
}
|
|
97
|
+
export async function createGroup(name, parent) {
|
|
98
|
+
return await db.transaction(async (db) => {
|
|
99
|
+
const groupId = await db.insert('INSERT INTO groups (name) VALUES (?)', [name]);
|
|
100
|
+
if (parent) {
|
|
101
|
+
await db.insert('INSERT INTO groups_groups (parentId, childId) VALUES (?,?)', [parent.id, groupId]);
|
|
102
|
+
}
|
|
103
|
+
return groupId;
|
|
104
|
+
});
|
|
137
105
|
}
|
|
138
106
|
export async function updateGroup(id, name) {
|
|
139
107
|
return await db.update('UPDATE groups SET name = ? WHERE id = ?', [name, id]);
|
|
@@ -169,18 +137,6 @@ export async function setUserGroups(userId, groupIds) {
|
|
|
169
137
|
return await db.insert(`INSERT INTO users_groups (userId, groupId) VALUES ${groupIds.map(g => '(?,?)').join(',')}`, binds);
|
|
170
138
|
});
|
|
171
139
|
}
|
|
172
|
-
export async function setGroupManager(groupId, userId, manager) {
|
|
173
|
-
if (manager)
|
|
174
|
-
await db.update('INSERT IGNORE INTO groups_managers (groupId, userId) VALUES (?, ?)', [groupId, userId]);
|
|
175
|
-
else
|
|
176
|
-
await db.delete('DELETE FROM groups_managers WHERE groupId=? AND userId=?', [groupId, userId]);
|
|
177
|
-
}
|
|
178
|
-
export async function addGroupSite(groupId, siteId) {
|
|
179
|
-
return await db.update('INSERT IGNORE INTO groups_sites (groupId, siteId) VALUES (?, ?)', [groupId, siteId]);
|
|
180
|
-
}
|
|
181
|
-
export async function removeGroupSite(groupId, siteId) {
|
|
182
|
-
return await db.update('DELETE FROM groups_sites WHERE groupId=? AND siteId=?', [groupId, siteId]);
|
|
183
|
-
}
|
|
184
140
|
export async function addSubgroup(parentId, childId) {
|
|
185
141
|
return await db.insert('INSERT INTO groups_groups (parentId, childId) VALUES (?,?)', [parentId, childId]);
|
|
186
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.database.js","sourceRoot":"","sources":["../../src/group/group.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"group.database.js","sourceRoot":"","sources":["../../src/group/group.database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAU,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,KAAK,EAAe,MAAM,gBAAgB,CAAA;AAEnD,MAAM,cAAe,SAAQ,KAAK;IAwBhC,YAAa,GAAQ;QACnB,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAxBD,WAAW,CAAE,OAAO,IAAI,GAAG,EAAU;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACd,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,OAAO,IAAI,GAAG,EAAU;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACd,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;aACtB;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CAOF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;IACtD,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,EAAE,CAAC,MAAM,CAAwC,6BAA6B,CAAC;QAC/E,EAAE,CAAC,MAAM,CAAC;;;KAGT,CAAC;KACH,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1C,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE;QAC7B,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtD,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;KACxD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,EAAE;IACD,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,GAAG;CAClB,CAAC,CAAA;AAEF,SAAS,cAAc,CAAE,MAAoB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,IAAI,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACzD;IACD,IAAI,MAAM,EAAE,IAAI,EAAE;QAChB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;KACnE;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAE,MAAoB;IACnD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,KAAK,GAAG,sBAAsB,CAAA;IAClC,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC/C;IACD,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAA;KAC7C;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,OAAiB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;;;;4BAIH,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,OAAiB,EAAE,MAAoB;IAC9E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QAC9B,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,6DAA6D,CAAC,CAAA;KACzF;IACD,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;;oCAEG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;2CAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,IAAY;IACnD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,4CAA4C,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnF,OAAO,KAAK,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,IAAY,EAAE,MAAc;IAC7D,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACrC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,sCAAsC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/E,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,CAAC,MAAM,CAAC,4DAA4D,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;SACpG;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,EAAU,EAAE,IAAY;IACzD,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,EAAU;IAC3C,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,MAAM,CAAC,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,EAAE,CAAC,MAAM,CAAC,6DAA6D,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,EAAE,CAAC,MAAM,CAAC,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9D,CAAC,CAAA;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,QAAkB,EAAE,MAAc;IACvE,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;KACvB;IACD,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,qDAAqD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AAC5H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAE,QAAkB,EAAE,MAAc;IAC5E,MAAM,KAAK,GAAsB,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,6DAA6D,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,MAAc,EAAE,QAAkB;IACrE,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;KACvB;IACD,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,2CAA2C,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QACtE,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,qDAAqD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC5H,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,QAAgB,EAAE,OAAe;IAClE,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,4DAA4D,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAC3G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,QAAgB,EAAE,OAAe;IACrE,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,8DAA8D,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7G,CAAC"}
|
|
@@ -34,10 +34,6 @@ __decorate([
|
|
|
34
34
|
Field(type => [ID], { nullable: true }),
|
|
35
35
|
__metadata("design:type", Array)
|
|
36
36
|
], GroupFilter.prototype, "ids", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
Field(type => [ID], { nullable: true, description: 'Return groups managed by any of the specified manager ids.' }),
|
|
39
|
-
__metadata("design:type", Array)
|
|
40
|
-
], GroupFilter.prototype, "managerIds", void 0);
|
|
41
37
|
__decorate([
|
|
42
38
|
Field({ nullable: true, description: 'true -> Return only groups that are not subgroups' }),
|
|
43
39
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.model.js","sourceRoot":"","sources":["../../src/group/group.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAA;AAGtF,IAAa,KAAK,GAAlB,MAAa,KAAK;IAOhB,YAAa,GAAQ;QACnB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;CACF,CAAA;AATC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;;iCACR;AAGV;IADC,KAAK,EAAE;;mCACI;AALD,KAAK;IADjB,UAAU,CAAC,EAAE,WAAW,EAAE,0JAA0J,EAAE,CAAC;;GAC3K,KAAK,CAWjB;SAXY,KAAK;AAclB,IAAa,WAAW,GAAxB,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"group.model.js","sourceRoot":"","sources":["../../src/group/group.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAA;AAGtF,IAAa,KAAK,GAAlB,MAAa,KAAK;IAOhB,YAAa,GAAQ;QACnB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;CACF,CAAA;AATC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;;iCACR;AAGV;IADC,KAAK,EAAE;;mCACI;AALD,KAAK;IADjB,UAAU,CAAC,EAAE,WAAW,EAAE,0JAA0J,EAAE,CAAC;;GAC3K,KAAK,CAWjB;SAXY,KAAK;AAclB,IAAa,WAAW,GAAxB,MAAa,WAAW;CAMvB,CAAA;AAJC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC1B;AAGd;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;;yCAC9E;AALH,WAAW;IADvB,SAAS,EAAE;GACC,WAAW,CAMvB;SANY,WAAW;AASxB,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,iBAAiB;IAIlD,YAAa,MAAiD;QAC5D,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC3B,CAAC;CACF,CAAA;AANC;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAClB,KAAK;4CAAA;AAFF,aAAa;IADzB,UAAU,EAAE;;GACA,aAAa,CAQzB;SARY,aAAa;AAW1B,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;CAAG,CAAA;AAAnB,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAAG;SAAnB,gBAAgB"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
import { Context, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
2
|
-
import { Role, User, Group, GroupFilter, GroupResponse
|
|
2
|
+
import { Role, User, Group, GroupFilter, GroupResponse } from '../internal.js';
|
|
3
3
|
export declare class GroupResolver {
|
|
4
4
|
groups(ctx: Context, filter?: GroupFilter): Promise<Group[]>;
|
|
5
5
|
users(ctx: Context, group: Group, direct?: boolean): Promise<User[] | (User | import("../internal.js").RedactedUser)[]>;
|
|
6
6
|
subgroups(ctx: Context, group: Group, recursive?: boolean): Promise<Group[]>;
|
|
7
7
|
roles(ctx: Context, group: Group, direct?: boolean): Promise<Role[]>;
|
|
8
|
-
|
|
9
|
-
sites(ctx: Context, group: Group): Promise<Site[]>;
|
|
10
|
-
parents(ctx: Context, group: Group): Promise<Group[]>;
|
|
8
|
+
supergroups(ctx: Context, group: Group, recursive?: boolean): Promise<Group[]>;
|
|
11
9
|
permissions(group: Group): Group;
|
|
12
|
-
createGroup(ctx: Context, name: string): Promise<GroupResponse>;
|
|
13
|
-
updateGroup(ctx: Context, groupId: string, name: string): Promise<GroupResponse>;
|
|
10
|
+
createGroup(ctx: Context, name: string, parentId?: string, validateOnly?: boolean): Promise<GroupResponse>;
|
|
11
|
+
updateGroup(ctx: Context, groupId: string, name: string, validateOnly?: boolean): Promise<GroupResponse>;
|
|
14
12
|
deleteGroup(ctx: Context, groupId: string): Promise<ValidatedResponse>;
|
|
15
13
|
addUserToGroups(ctx: Context, groupIds: string[], userId: string): Promise<ValidatedResponse>;
|
|
16
14
|
removeUserFromGroups(ctx: Context, groupIds: string[], userId: string): Promise<ValidatedResponse>;
|
|
17
15
|
setUserGroups(ctx: Context, userId: string, groupIds: string[]): Promise<ValidatedResponse>;
|
|
18
|
-
setGroupManager(ctx: Context, groupId: string, userId: string, manager: boolean): Promise<GroupResponse>;
|
|
19
|
-
addGroupSite(ctx: Context, groupId: string, siteId: string): Promise<GroupResponse>;
|
|
20
|
-
removeGroupSite(ctx: Context, groupId: string, siteId: string): Promise<GroupResponse>;
|
|
21
16
|
addSubgroup(ctx: Context, parentGroupId: string, childGroupId: string): Promise<ValidatedResponse>;
|
|
22
17
|
removeSubgroup(ctx: Context, parentGroupId: string, childGroupId: string): Promise<ValidatedResponse>;
|
|
23
18
|
}
|
|
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { Context, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
14
14
|
import { Arg, Ctx, FieldResolver, Mutation, Query, Resolver, Root, ID } from 'type-graphql';
|
|
15
|
-
import { Role, RoleService, User, UserService, Group, GroupFilter, GroupPermissions, GroupResponse, GroupService
|
|
15
|
+
import { Role, RoleService, User, UserService, Group, GroupFilter, GroupPermissions, GroupResponse, GroupService } from '../internal.js';
|
|
16
16
|
let GroupResolver = class GroupResolver {
|
|
17
17
|
async groups(ctx, filter) {
|
|
18
18
|
return await ctx.svc(GroupService).find(filter);
|
|
@@ -26,23 +26,17 @@ let GroupResolver = class GroupResolver {
|
|
|
26
26
|
async roles(ctx, group, direct) {
|
|
27
27
|
return await ctx.svc(RoleService).findByGroupId(group.id, direct);
|
|
28
28
|
}
|
|
29
|
-
async
|
|
30
|
-
return await ctx.svc(
|
|
31
|
-
}
|
|
32
|
-
async sites(ctx, group) {
|
|
33
|
-
return await ctx.svc(SiteService).findByGroup(group);
|
|
34
|
-
}
|
|
35
|
-
async parents(ctx, group) {
|
|
36
|
-
return await ctx.svc(GroupService).getSuperGroups(group.id, false);
|
|
29
|
+
async supergroups(ctx, group, recursive) {
|
|
30
|
+
return await ctx.svc(GroupService).getSuperGroups(group.id, recursive);
|
|
37
31
|
}
|
|
38
32
|
permissions(group) {
|
|
39
33
|
return group;
|
|
40
34
|
}
|
|
41
|
-
async createGroup(ctx, name) {
|
|
42
|
-
return await ctx.svc(GroupService).create(name);
|
|
35
|
+
async createGroup(ctx, name, parentId, validateOnly) {
|
|
36
|
+
return await ctx.svc(GroupService).create(name, parentId, validateOnly);
|
|
43
37
|
}
|
|
44
|
-
async updateGroup(ctx, groupId, name) {
|
|
45
|
-
return await ctx.svc(GroupService).update(groupId, name);
|
|
38
|
+
async updateGroup(ctx, groupId, name, validateOnly) {
|
|
39
|
+
return await ctx.svc(GroupService).update(groupId, name, validateOnly);
|
|
46
40
|
}
|
|
47
41
|
async deleteGroup(ctx, groupId) {
|
|
48
42
|
return await ctx.svc(GroupService).delete(groupId);
|
|
@@ -56,15 +50,6 @@ let GroupResolver = class GroupResolver {
|
|
|
56
50
|
async setUserGroups(ctx, userId, groupIds) {
|
|
57
51
|
return await ctx.svc(GroupService).setUserGroups(userId, groupIds);
|
|
58
52
|
}
|
|
59
|
-
async setGroupManager(ctx, groupId, userId, manager) {
|
|
60
|
-
return await ctx.svc(GroupService).setGroupManager(groupId, userId, manager);
|
|
61
|
-
}
|
|
62
|
-
async addGroupSite(ctx, groupId, siteId) {
|
|
63
|
-
return await ctx.svc(GroupService).addGroupSite(groupId, siteId);
|
|
64
|
-
}
|
|
65
|
-
async removeGroupSite(ctx, groupId, siteId) {
|
|
66
|
-
return await ctx.svc(GroupService).removeGroupSite(groupId, siteId);
|
|
67
|
-
}
|
|
68
53
|
async addSubgroup(ctx, parentGroupId, childGroupId) {
|
|
69
54
|
return await ctx.svc(GroupService).addSubgroup(parentGroupId, childGroupId);
|
|
70
55
|
}
|
|
@@ -108,30 +93,14 @@ __decorate([
|
|
|
108
93
|
__metadata("design:returntype", Promise)
|
|
109
94
|
], GroupResolver.prototype, "roles", null);
|
|
110
95
|
__decorate([
|
|
111
|
-
FieldResolver(returns => [
|
|
96
|
+
FieldResolver(returns => [Group], { nullable: true, description: 'Returns ancestor group(s), or null if this group is not a subgroup' }),
|
|
112
97
|
__param(0, Ctx()),
|
|
113
98
|
__param(1, Root()),
|
|
114
|
-
__param(2, Arg('
|
|
99
|
+
__param(2, Arg('recursive', { nullable: true, description: 'If false, return only the parent groups' })),
|
|
115
100
|
__metadata("design:type", Function),
|
|
116
101
|
__metadata("design:paramtypes", [Context, Group, Boolean]),
|
|
117
102
|
__metadata("design:returntype", Promise)
|
|
118
|
-
], GroupResolver.prototype, "
|
|
119
|
-
__decorate([
|
|
120
|
-
FieldResolver(returns => [Site], { description: "Sites that are tightly related to this group. The sites' managers will also be managers of this group." }),
|
|
121
|
-
__param(0, Ctx()),
|
|
122
|
-
__param(1, Root()),
|
|
123
|
-
__metadata("design:type", Function),
|
|
124
|
-
__metadata("design:paramtypes", [Context, Group]),
|
|
125
|
-
__metadata("design:returntype", Promise)
|
|
126
|
-
], GroupResolver.prototype, "sites", null);
|
|
127
|
-
__decorate([
|
|
128
|
-
FieldResolver(returns => [Group], { nullable: true, description: 'Returns parent group(s), or null if this group is not a subgroup' }),
|
|
129
|
-
__param(0, Ctx()),
|
|
130
|
-
__param(1, Root()),
|
|
131
|
-
__metadata("design:type", Function),
|
|
132
|
-
__metadata("design:paramtypes", [Context, Group]),
|
|
133
|
-
__metadata("design:returntype", Promise)
|
|
134
|
-
], GroupResolver.prototype, "parents", null);
|
|
103
|
+
], GroupResolver.prototype, "supergroups", null);
|
|
135
104
|
__decorate([
|
|
136
105
|
FieldResolver(returns => GroupPermissions, {
|
|
137
106
|
description: `Reveal the simplified results after all authorization rules are taken into account
|
|
@@ -146,8 +115,10 @@ __decorate([
|
|
|
146
115
|
Mutation(returns => GroupResponse, { description: 'Add a new group. The group name must be unique.' }),
|
|
147
116
|
__param(0, Ctx()),
|
|
148
117
|
__param(1, Arg('name', { description: 'name of the group being created' })),
|
|
118
|
+
__param(2, Arg('parentId', type => ID, { nullable: true, description: 'Optional parent group ID, if creating a new subgroup' })),
|
|
119
|
+
__param(3, Arg('validateOnly', { nullable: true, description: 'Set to true to validate the input without saving it.' })),
|
|
149
120
|
__metadata("design:type", Function),
|
|
150
|
-
__metadata("design:paramtypes", [Context, String]),
|
|
121
|
+
__metadata("design:paramtypes", [Context, String, String, Boolean]),
|
|
151
122
|
__metadata("design:returntype", Promise)
|
|
152
123
|
], GroupResolver.prototype, "createGroup", null);
|
|
153
124
|
__decorate([
|
|
@@ -155,8 +126,9 @@ __decorate([
|
|
|
155
126
|
__param(0, Ctx()),
|
|
156
127
|
__param(1, Arg('groupId', type => ID)),
|
|
157
128
|
__param(2, Arg('name')),
|
|
129
|
+
__param(3, Arg('validateOnly', { nullable: true, description: 'Set to true to validate the input without saving it.' })),
|
|
158
130
|
__metadata("design:type", Function),
|
|
159
|
-
__metadata("design:paramtypes", [Context, String, String]),
|
|
131
|
+
__metadata("design:paramtypes", [Context, String, String, Boolean]),
|
|
160
132
|
__metadata("design:returntype", Promise)
|
|
161
133
|
], GroupResolver.prototype, "updateGroup", null);
|
|
162
134
|
__decorate([
|
|
@@ -194,34 +166,6 @@ __decorate([
|
|
|
194
166
|
__metadata("design:paramtypes", [Context, String, Array]),
|
|
195
167
|
__metadata("design:returntype", Promise)
|
|
196
168
|
], GroupResolver.prototype, "setUserGroups", null);
|
|
197
|
-
__decorate([
|
|
198
|
-
Mutation(returns => GroupResponse, { description: 'Update a user\'s status as a manager of a group' }),
|
|
199
|
-
__param(0, Ctx()),
|
|
200
|
-
__param(1, Arg('groupId', type => ID)),
|
|
201
|
-
__param(2, Arg('userId', type => ID)),
|
|
202
|
-
__param(3, Arg('manager', { description: 'true if this user should be a group manager, false if they should not be a group manager' })),
|
|
203
|
-
__metadata("design:type", Function),
|
|
204
|
-
__metadata("design:paramtypes", [Context, String, String, Boolean]),
|
|
205
|
-
__metadata("design:returntype", Promise)
|
|
206
|
-
], GroupResolver.prototype, "setGroupManager", null);
|
|
207
|
-
__decorate([
|
|
208
|
-
Mutation(returns => GroupResponse, { description: "Tightly associate a site with a group. The site's managers may now also manage the group membership. If the site's managers change, the group managers will stay in sync." }),
|
|
209
|
-
__param(0, Ctx()),
|
|
210
|
-
__param(1, Arg('groupId', type => ID)),
|
|
211
|
-
__param(2, Arg('siteId', type => ID)),
|
|
212
|
-
__metadata("design:type", Function),
|
|
213
|
-
__metadata("design:paramtypes", [Context, String, String]),
|
|
214
|
-
__metadata("design:returntype", Promise)
|
|
215
|
-
], GroupResolver.prototype, "addGroupSite", null);
|
|
216
|
-
__decorate([
|
|
217
|
-
Mutation(returns => GroupResponse, { description: "Remove the association between a site and a group. The site's managers may no longer manage the group membership." }),
|
|
218
|
-
__param(0, Ctx()),
|
|
219
|
-
__param(1, Arg('groupId', type => ID)),
|
|
220
|
-
__param(2, Arg('siteId', type => ID)),
|
|
221
|
-
__metadata("design:type", Function),
|
|
222
|
-
__metadata("design:paramtypes", [Context, String, String]),
|
|
223
|
-
__metadata("design:returntype", Promise)
|
|
224
|
-
], GroupResolver.prototype, "removeGroupSite", null);
|
|
225
169
|
__decorate([
|
|
226
170
|
Mutation(returns => ValidatedResponse, { description: 'Make one group a subgroup of another' }),
|
|
227
171
|
__param(0, Ctx()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.resolver.js","sourceRoot":"","sources":["../../src/group/group.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"group.resolver.js","sourceRoot":"","sources":["../../src/group/group.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
|
|
2
|
-
import { Group, GroupFilter, GroupResponse, DosGatoService
|
|
2
|
+
import { Group, GroupFilter, GroupResponse, DosGatoService } from '../internal.js';
|
|
3
3
|
export declare class GroupServiceInternal extends BaseService {
|
|
4
4
|
find(filter?: GroupFilter): Promise<Group[]>;
|
|
5
5
|
findById(id: string): Promise<Group | undefined>;
|
|
6
6
|
findByUserId(userId: string, direct?: boolean): Promise<Group[]>;
|
|
7
|
-
findByManager(manager: User, direct?: boolean): Promise<Group[]>;
|
|
8
|
-
findBySite(site: Site): Promise<Group[]>;
|
|
9
7
|
getSubgroups(groupId: string, recursive?: boolean): Promise<Group[]>;
|
|
10
8
|
getAllSubs(groupIds: string[]): Promise<Group[]>;
|
|
11
9
|
getSuperGroups(groupId: string, recursive?: boolean): Promise<Group[]>;
|
|
@@ -17,25 +15,19 @@ export declare class GroupService extends DosGatoService<Group> {
|
|
|
17
15
|
find(filter?: GroupFilter): Promise<Group[]>;
|
|
18
16
|
findById(id: string): Promise<Group | undefined>;
|
|
19
17
|
findByUserId(userId: string, direct?: boolean): Promise<Group[]>;
|
|
20
|
-
findByManager(manager: User, direct?: boolean): Promise<Group[]>;
|
|
21
|
-
findBySite(site: Site): Promise<Group[]>;
|
|
22
18
|
getSubgroups(groupId: string, recursive?: boolean): Promise<Group[]>;
|
|
23
19
|
getAllSubs(groupIds: string[]): Promise<Group[]>;
|
|
24
20
|
getSuperGroups(groupId: string, recursive?: boolean): Promise<Group[]>;
|
|
25
21
|
getAllSupers(groupIds: string[]): Promise<Group[]>;
|
|
26
22
|
findByRoleId(roleId: string, direct?: boolean, filter?: GroupFilter): Promise<Group[]>;
|
|
27
|
-
create(name: string): Promise<GroupResponse>;
|
|
28
|
-
update(id: string, name: string): Promise<GroupResponse>;
|
|
23
|
+
create(name: string, parentId?: string, validateOnly?: boolean): Promise<GroupResponse>;
|
|
24
|
+
update(id: string, name: string, validateOnly?: boolean): Promise<GroupResponse>;
|
|
29
25
|
delete(id: string): Promise<ValidatedResponse>;
|
|
30
26
|
addUserToGroups(groupIds: string[], userId: string): Promise<ValidatedResponse>;
|
|
31
27
|
removeUserFromGroup(groupIds: string[], userId: string): Promise<ValidatedResponse>;
|
|
32
28
|
setUserGroups(userId: string, groupIds: string[]): Promise<ValidatedResponse>;
|
|
33
|
-
setGroupManager(groupId: string, userId: string, manager: boolean): Promise<GroupResponse>;
|
|
34
|
-
addGroupSite(groupId: string, siteId: string): Promise<GroupResponse>;
|
|
35
|
-
removeGroupSite(groupId: string, siteId: string): Promise<GroupResponse>;
|
|
36
29
|
addSubgroup(parentId: string, childId: string): Promise<ValidatedResponse>;
|
|
37
30
|
removeSubgroup(parentId: string, childId: string): Promise<ValidatedResponse>;
|
|
38
|
-
isManager(group: Group): Promise<boolean>;
|
|
39
31
|
mayView(group: Group): Promise<boolean>;
|
|
40
32
|
mayViewManagerUI(): Promise<boolean>;
|
|
41
33
|
mayCreate(): Promise<boolean>;
|