@getcommunity/gc-validators 0.0.216 → 0.0.217
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/chunk-CKQMccvm.cjs +28 -0
- package/dist/constants.cjs +461 -438
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +2 -233
- package/dist/constants.d.mts +2 -0
- package/dist/constants.mjs +355 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/index-B6pNPQrV.d.mts +4192 -0
- package/dist/index-CQtazKyX.d.cts +4192 -0
- package/dist/index-CiWVYf_f.d.cts +292 -0
- package/dist/index-DOR_It7I.d.mts +292 -0
- package/dist/index.cjs +350 -1388
- package/dist/index.d.cts +3 -10
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +6 -0
- package/dist/permissions.cjs +757 -30
- package/dist/permissions.cjs.map +1 -1
- package/dist/permissions.d.cts +2 -747
- package/dist/permissions.d.mts +2 -0
- package/dist/permissions.mjs +753 -0
- package/dist/permissions.mjs.map +1 -0
- package/dist/schemas.cjs +1781 -896
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +2 -1935
- package/dist/schemas.d.mts +2 -0
- package/dist/schemas.mjs +1559 -0
- package/dist/schemas.mjs.map +1 -0
- package/dist/types.cjs +0 -6
- package/dist/types.d.cts +2 -851
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +1 -0
- package/dist/utilities.cjs +76 -38
- package/dist/utilities.cjs.map +1 -1
- package/dist/utilities.d.cts +2 -26
- package/dist/utilities.d.mts +2 -0
- package/dist/utilities.mjs +68 -0
- package/dist/utilities.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/chunk-57PRSDKM.cjs +0 -368
- package/dist/chunk-57PRSDKM.cjs.map +0 -1
- package/dist/chunk-7CI3M2JM.js +0 -3
- package/dist/chunk-7CI3M2JM.js.map +0 -1
- package/dist/chunk-ABPKJ5AP.js +0 -259
- package/dist/chunk-ABPKJ5AP.js.map +0 -1
- package/dist/chunk-BYTL5J7D.js +0 -2606
- package/dist/chunk-BYTL5J7D.js.map +0 -1
- package/dist/chunk-CDBT3J75.cjs +0 -4
- package/dist/chunk-CDBT3J75.cjs.map +0 -1
- package/dist/chunk-DU5WCXJJ.js +0 -685
- package/dist/chunk-DU5WCXJJ.js.map +0 -1
- package/dist/chunk-IMI6XEMX.cjs +0 -2849
- package/dist/chunk-IMI6XEMX.cjs.map +0 -1
- package/dist/chunk-NMDMJZPF.cjs +0 -692
- package/dist/chunk-NMDMJZPF.cjs.map +0 -1
- package/dist/chunk-NNLSUHMQ.js +0 -63
- package/dist/chunk-NNLSUHMQ.js.map +0 -1
- package/dist/chunk-UAQWYRXG.cjs +0 -92
- package/dist/chunk-UAQWYRXG.cjs.map +0 -1
- package/dist/comment.document-HT6qJLh5.d.cts +0 -468
- package/dist/comment.document-xCsfHOer.d.ts +0 -468
- package/dist/constants.d.ts +0 -233
- package/dist/constants.js +0 -3
- package/dist/constants.js.map +0 -1
- package/dist/font.constants-BVwxlH3J.d.cts +0 -52
- package/dist/font.constants-BVwxlH3J.d.ts +0 -52
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/permission.constants-B99nobws.d.cts +0 -30
- package/dist/permission.constants-B99nobws.d.ts +0 -30
- package/dist/permissions.d.ts +0 -747
- package/dist/permissions.js +0 -3
- package/dist/permissions.js.map +0 -1
- package/dist/response-8Bkawql4.d.cts +0 -56
- package/dist/response-8Bkawql4.d.ts +0 -56
- package/dist/schemas.d.ts +0 -1935
- package/dist/schemas.js +0 -5
- package/dist/schemas.js.map +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.ts +0 -851
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utilities.d.ts +0 -26
- package/dist/utilities.js +0 -3
- package/dist/utilities.js.map +0 -1
package/dist/permissions.d.ts
DELETED
|
@@ -1,747 +0,0 @@
|
|
|
1
|
-
import { a1 as AuthorizedUserDocument, G as ClientUserDocumentStatus, J as CommentDocument, $ as UserAccountDocument, H as ClientDocument, x as ClientContentPillarDocument, z as ClientMediaPlatformDocument, y as ClientMediaPlatformContentTypeDocument, A as ClientProjectDocument, D as ClientReportDocument, E as ClientStyleguideDocument, T as MondayWorkspaceDocument, a4 as UtmTrackingLinkDocument, N as GCFlyTourDocument, L as GCFlyTourSnapDocument, Y as RoleType, F as ClientUserDocument, K as ContentPillarDocument, Q as MediaPlatformDocument, P as MediaContentTypeDocument } from './comment.document-xCsfHOer.js';
|
|
2
|
-
import { C as CLIENT_ENTITY_PERMISSIONS } from './permission.constants-B99nobws.js';
|
|
3
|
-
export { d as CLIENT_ENTITY_KEYS, e as CLIENT_ENTITY_SCOPES, b as ClientEntityActions, a as ClientEntityKey, c as ClientEntityScope } from './permission.constants-B99nobws.js';
|
|
4
|
-
import './font.constants-BVwxlH3J.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Attribute-based access control (ABAC) permissions
|
|
8
|
-
*
|
|
9
|
-
* @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts
|
|
10
|
-
*/
|
|
11
|
-
declare const ROLE_PERMISSIONS: {
|
|
12
|
-
readonly authenticated: {
|
|
13
|
-
readonly "user-account": {
|
|
14
|
-
readonly list: false;
|
|
15
|
-
readonly create: false;
|
|
16
|
-
readonly read: false;
|
|
17
|
-
readonly update: false;
|
|
18
|
-
readonly delete: false;
|
|
19
|
-
};
|
|
20
|
-
readonly comment: {
|
|
21
|
-
readonly list: true;
|
|
22
|
-
readonly create: true;
|
|
23
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
24
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
25
|
-
readonly report: true;
|
|
26
|
-
};
|
|
27
|
-
readonly client: {
|
|
28
|
-
readonly access: false;
|
|
29
|
-
readonly billing: false;
|
|
30
|
-
readonly owner: false;
|
|
31
|
-
readonly manager: false;
|
|
32
|
-
readonly admin: false;
|
|
33
|
-
readonly list: false;
|
|
34
|
-
readonly create: false;
|
|
35
|
-
readonly read: false;
|
|
36
|
-
readonly update: false;
|
|
37
|
-
readonly delete: false;
|
|
38
|
-
};
|
|
39
|
-
readonly "client-user": {
|
|
40
|
-
readonly list: false;
|
|
41
|
-
readonly create: false;
|
|
42
|
-
readonly read: false;
|
|
43
|
-
readonly update: false;
|
|
44
|
-
readonly delete: false;
|
|
45
|
-
};
|
|
46
|
-
readonly "client-content-pillar": {
|
|
47
|
-
readonly list: false;
|
|
48
|
-
readonly create: false;
|
|
49
|
-
readonly read: false;
|
|
50
|
-
readonly update: false;
|
|
51
|
-
readonly delete: false;
|
|
52
|
-
};
|
|
53
|
-
readonly "client-media-platform": {
|
|
54
|
-
readonly list: false;
|
|
55
|
-
readonly create: false;
|
|
56
|
-
readonly read: false;
|
|
57
|
-
readonly update: false;
|
|
58
|
-
readonly delete: false;
|
|
59
|
-
};
|
|
60
|
-
readonly "client-media-platform-content-type": {
|
|
61
|
-
readonly list: false;
|
|
62
|
-
readonly create: false;
|
|
63
|
-
readonly read: false;
|
|
64
|
-
readonly update: false;
|
|
65
|
-
readonly delete: false;
|
|
66
|
-
};
|
|
67
|
-
readonly "client-project": {
|
|
68
|
-
readonly list: false;
|
|
69
|
-
readonly create: false;
|
|
70
|
-
readonly read: false;
|
|
71
|
-
readonly update: false;
|
|
72
|
-
readonly delete: false;
|
|
73
|
-
readonly assign: false;
|
|
74
|
-
};
|
|
75
|
-
readonly "client-report": {
|
|
76
|
-
readonly list: false;
|
|
77
|
-
readonly create: false;
|
|
78
|
-
readonly read: false;
|
|
79
|
-
readonly update: false;
|
|
80
|
-
readonly delete: false;
|
|
81
|
-
};
|
|
82
|
-
readonly "client-styleguide": {
|
|
83
|
-
readonly list: false;
|
|
84
|
-
readonly create: false;
|
|
85
|
-
readonly read: false;
|
|
86
|
-
readonly update: false;
|
|
87
|
-
readonly delete: false;
|
|
88
|
-
};
|
|
89
|
-
readonly "content-pillar": {
|
|
90
|
-
readonly list: false;
|
|
91
|
-
readonly create: false;
|
|
92
|
-
readonly read: false;
|
|
93
|
-
readonly update: false;
|
|
94
|
-
readonly delete: false;
|
|
95
|
-
};
|
|
96
|
-
readonly "media-platform": {
|
|
97
|
-
readonly list: false;
|
|
98
|
-
readonly create: false;
|
|
99
|
-
readonly read: false;
|
|
100
|
-
readonly update: false;
|
|
101
|
-
readonly delete: false;
|
|
102
|
-
};
|
|
103
|
-
readonly "media-content-type": {
|
|
104
|
-
readonly list: false;
|
|
105
|
-
readonly create: false;
|
|
106
|
-
readonly read: false;
|
|
107
|
-
readonly update: false;
|
|
108
|
-
readonly delete: false;
|
|
109
|
-
};
|
|
110
|
-
readonly "monday-workspace": {
|
|
111
|
-
readonly list: false;
|
|
112
|
-
readonly create: false;
|
|
113
|
-
readonly read: false;
|
|
114
|
-
readonly update: false;
|
|
115
|
-
readonly delete: false;
|
|
116
|
-
};
|
|
117
|
-
readonly "utm-tracking-link": {
|
|
118
|
-
readonly list: false;
|
|
119
|
-
readonly create: false;
|
|
120
|
-
readonly read: false;
|
|
121
|
-
readonly update: false;
|
|
122
|
-
readonly delete: false;
|
|
123
|
-
};
|
|
124
|
-
readonly gcflytour: {
|
|
125
|
-
readonly list: true;
|
|
126
|
-
readonly create: false;
|
|
127
|
-
readonly read: true;
|
|
128
|
-
readonly update: false;
|
|
129
|
-
readonly delete: false;
|
|
130
|
-
};
|
|
131
|
-
readonly "gcflytour-snap": {
|
|
132
|
-
readonly list: true;
|
|
133
|
-
readonly create: false;
|
|
134
|
-
readonly read: true;
|
|
135
|
-
readonly update: false;
|
|
136
|
-
readonly delete: false;
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
readonly public: {
|
|
140
|
-
readonly "user-account": {
|
|
141
|
-
readonly list: false;
|
|
142
|
-
readonly create: false;
|
|
143
|
-
readonly read: false;
|
|
144
|
-
readonly update: false;
|
|
145
|
-
readonly delete: false;
|
|
146
|
-
};
|
|
147
|
-
readonly comment: {
|
|
148
|
-
readonly list: true;
|
|
149
|
-
readonly create: false;
|
|
150
|
-
readonly update: false;
|
|
151
|
-
readonly delete: false;
|
|
152
|
-
readonly report: false;
|
|
153
|
-
};
|
|
154
|
-
readonly client: {
|
|
155
|
-
readonly access: false;
|
|
156
|
-
readonly billing: false;
|
|
157
|
-
readonly owner: false;
|
|
158
|
-
readonly manager: false;
|
|
159
|
-
readonly admin: false;
|
|
160
|
-
readonly list: false;
|
|
161
|
-
readonly create: false;
|
|
162
|
-
readonly read: false;
|
|
163
|
-
readonly update: false;
|
|
164
|
-
readonly delete: false;
|
|
165
|
-
};
|
|
166
|
-
readonly "client-user": {
|
|
167
|
-
readonly list: false;
|
|
168
|
-
readonly create: false;
|
|
169
|
-
readonly read: false;
|
|
170
|
-
readonly update: false;
|
|
171
|
-
readonly delete: false;
|
|
172
|
-
};
|
|
173
|
-
readonly "client-content-pillar": {
|
|
174
|
-
readonly list: false;
|
|
175
|
-
readonly create: false;
|
|
176
|
-
readonly read: false;
|
|
177
|
-
readonly update: false;
|
|
178
|
-
readonly delete: false;
|
|
179
|
-
};
|
|
180
|
-
readonly "client-media-platform": {
|
|
181
|
-
readonly list: false;
|
|
182
|
-
readonly create: false;
|
|
183
|
-
readonly read: false;
|
|
184
|
-
readonly update: false;
|
|
185
|
-
readonly delete: false;
|
|
186
|
-
};
|
|
187
|
-
readonly "client-media-platform-content-type": {
|
|
188
|
-
readonly list: false;
|
|
189
|
-
readonly create: false;
|
|
190
|
-
readonly read: false;
|
|
191
|
-
readonly update: false;
|
|
192
|
-
readonly delete: false;
|
|
193
|
-
};
|
|
194
|
-
readonly "client-project": {
|
|
195
|
-
readonly list: false;
|
|
196
|
-
readonly create: false;
|
|
197
|
-
readonly read: false;
|
|
198
|
-
readonly update: false;
|
|
199
|
-
readonly delete: false;
|
|
200
|
-
readonly assign: false;
|
|
201
|
-
};
|
|
202
|
-
readonly "client-report": {
|
|
203
|
-
readonly list: false;
|
|
204
|
-
readonly create: false;
|
|
205
|
-
readonly read: false;
|
|
206
|
-
readonly update: false;
|
|
207
|
-
readonly delete: false;
|
|
208
|
-
};
|
|
209
|
-
readonly "client-styleguide": {
|
|
210
|
-
readonly list: false;
|
|
211
|
-
readonly create: false;
|
|
212
|
-
readonly read: false;
|
|
213
|
-
readonly update: false;
|
|
214
|
-
readonly delete: false;
|
|
215
|
-
};
|
|
216
|
-
readonly "content-pillar": {
|
|
217
|
-
readonly list: false;
|
|
218
|
-
readonly create: false;
|
|
219
|
-
readonly read: false;
|
|
220
|
-
readonly update: false;
|
|
221
|
-
readonly delete: false;
|
|
222
|
-
};
|
|
223
|
-
readonly "media-platform": {
|
|
224
|
-
readonly list: false;
|
|
225
|
-
readonly create: false;
|
|
226
|
-
readonly read: false;
|
|
227
|
-
readonly update: false;
|
|
228
|
-
readonly delete: false;
|
|
229
|
-
};
|
|
230
|
-
readonly "media-content-type": {
|
|
231
|
-
readonly list: false;
|
|
232
|
-
readonly create: false;
|
|
233
|
-
readonly read: false;
|
|
234
|
-
readonly update: false;
|
|
235
|
-
readonly delete: false;
|
|
236
|
-
};
|
|
237
|
-
readonly "monday-workspace": {
|
|
238
|
-
readonly list: false;
|
|
239
|
-
readonly create: false;
|
|
240
|
-
readonly read: false;
|
|
241
|
-
readonly update: false;
|
|
242
|
-
readonly delete: false;
|
|
243
|
-
};
|
|
244
|
-
readonly "utm-tracking-link": {
|
|
245
|
-
readonly list: false;
|
|
246
|
-
readonly create: false;
|
|
247
|
-
readonly read: false;
|
|
248
|
-
readonly update: false;
|
|
249
|
-
readonly delete: false;
|
|
250
|
-
};
|
|
251
|
-
readonly gcflytour: {
|
|
252
|
-
readonly list: true;
|
|
253
|
-
readonly create: false;
|
|
254
|
-
readonly read: true;
|
|
255
|
-
readonly update: false;
|
|
256
|
-
readonly delete: false;
|
|
257
|
-
};
|
|
258
|
-
readonly "gcflytour-snap": {
|
|
259
|
-
readonly list: true;
|
|
260
|
-
readonly create: false;
|
|
261
|
-
readonly read: true;
|
|
262
|
-
readonly update: false;
|
|
263
|
-
readonly delete: false;
|
|
264
|
-
};
|
|
265
|
-
};
|
|
266
|
-
readonly employee: {
|
|
267
|
-
readonly "user-account": {
|
|
268
|
-
readonly list: true;
|
|
269
|
-
readonly create: false;
|
|
270
|
-
readonly read: true;
|
|
271
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UserAccountDocument | undefined) => boolean;
|
|
272
|
-
readonly delete: false;
|
|
273
|
-
};
|
|
274
|
-
readonly comment: {
|
|
275
|
-
readonly list: true;
|
|
276
|
-
readonly create: true;
|
|
277
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
278
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
279
|
-
readonly report: true;
|
|
280
|
-
};
|
|
281
|
-
readonly client: {
|
|
282
|
-
readonly access: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
283
|
-
readonly billing: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
284
|
-
readonly owner: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
285
|
-
readonly manager: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
286
|
-
readonly admin: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
287
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
288
|
-
readonly create: false;
|
|
289
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
290
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
291
|
-
readonly delete: false;
|
|
292
|
-
};
|
|
293
|
-
readonly "client-user": {
|
|
294
|
-
readonly list: true;
|
|
295
|
-
readonly create: false;
|
|
296
|
-
readonly read: true;
|
|
297
|
-
readonly update: false;
|
|
298
|
-
readonly delete: false;
|
|
299
|
-
readonly verify: true;
|
|
300
|
-
};
|
|
301
|
-
readonly "client-content-pillar": {
|
|
302
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
303
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
304
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
305
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
306
|
-
readonly delete: false;
|
|
307
|
-
};
|
|
308
|
-
readonly "client-media-platform": {
|
|
309
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
310
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
311
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
312
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
313
|
-
readonly delete: false;
|
|
314
|
-
};
|
|
315
|
-
readonly "client-media-platform-content-type": {
|
|
316
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
317
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
318
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
319
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
320
|
-
readonly delete: false;
|
|
321
|
-
};
|
|
322
|
-
readonly "client-project": {
|
|
323
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
324
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
325
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
326
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
327
|
-
readonly delete: false;
|
|
328
|
-
readonly assign: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
329
|
-
};
|
|
330
|
-
readonly "client-report": {
|
|
331
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
332
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
333
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
334
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
335
|
-
readonly delete: false;
|
|
336
|
-
};
|
|
337
|
-
readonly "client-styleguide": {
|
|
338
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientStyleguideDocument | undefined) => boolean;
|
|
339
|
-
readonly create: false;
|
|
340
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientStyleguideDocument | undefined) => boolean;
|
|
341
|
-
readonly update: false;
|
|
342
|
-
readonly delete: false;
|
|
343
|
-
};
|
|
344
|
-
readonly "content-pillar": {
|
|
345
|
-
readonly list: true;
|
|
346
|
-
readonly create: false;
|
|
347
|
-
readonly read: true;
|
|
348
|
-
readonly update: false;
|
|
349
|
-
readonly delete: false;
|
|
350
|
-
};
|
|
351
|
-
readonly "media-platform": {
|
|
352
|
-
readonly list: true;
|
|
353
|
-
readonly create: false;
|
|
354
|
-
readonly read: true;
|
|
355
|
-
readonly update: false;
|
|
356
|
-
readonly delete: false;
|
|
357
|
-
};
|
|
358
|
-
readonly "media-content-type": {
|
|
359
|
-
readonly list: true;
|
|
360
|
-
readonly create: false;
|
|
361
|
-
readonly read: true;
|
|
362
|
-
readonly update: false;
|
|
363
|
-
readonly delete: false;
|
|
364
|
-
};
|
|
365
|
-
readonly "monday-workspace": {
|
|
366
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
367
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
368
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
369
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
370
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
371
|
-
};
|
|
372
|
-
readonly "utm-tracking-link": {
|
|
373
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
374
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
375
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
376
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
377
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
378
|
-
};
|
|
379
|
-
readonly gcflytour: {
|
|
380
|
-
readonly list: true;
|
|
381
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
382
|
-
readonly read: true;
|
|
383
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: GCFlyTourDocument | undefined) => boolean;
|
|
384
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: GCFlyTourDocument | undefined) => boolean;
|
|
385
|
-
};
|
|
386
|
-
readonly "gcflytour-snap": {
|
|
387
|
-
readonly list: true;
|
|
388
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
389
|
-
readonly read: true;
|
|
390
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: GCFlyTourSnapDocument | undefined) => boolean;
|
|
391
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: GCFlyTourSnapDocument | undefined) => boolean;
|
|
392
|
-
};
|
|
393
|
-
};
|
|
394
|
-
readonly manager: {
|
|
395
|
-
readonly "user-account": {
|
|
396
|
-
readonly list: true;
|
|
397
|
-
readonly create: false;
|
|
398
|
-
readonly read: true;
|
|
399
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UserAccountDocument | undefined) => boolean;
|
|
400
|
-
readonly delete: false;
|
|
401
|
-
};
|
|
402
|
-
readonly comment: {
|
|
403
|
-
readonly list: true;
|
|
404
|
-
readonly create: true;
|
|
405
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
406
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
407
|
-
readonly report: true;
|
|
408
|
-
};
|
|
409
|
-
readonly client: {
|
|
410
|
-
readonly access: true;
|
|
411
|
-
readonly billing: true;
|
|
412
|
-
readonly owner: true;
|
|
413
|
-
readonly manager: true;
|
|
414
|
-
readonly admin: true;
|
|
415
|
-
readonly list: true;
|
|
416
|
-
readonly create: true;
|
|
417
|
-
readonly read: true;
|
|
418
|
-
readonly update: true;
|
|
419
|
-
readonly delete: false;
|
|
420
|
-
};
|
|
421
|
-
readonly "client-user": {
|
|
422
|
-
readonly list: true;
|
|
423
|
-
readonly create: true;
|
|
424
|
-
readonly read: true;
|
|
425
|
-
readonly update: true;
|
|
426
|
-
readonly delete: true;
|
|
427
|
-
readonly verify: true;
|
|
428
|
-
};
|
|
429
|
-
readonly "client-content-pillar": {
|
|
430
|
-
readonly list: true;
|
|
431
|
-
readonly create: true;
|
|
432
|
-
readonly read: true;
|
|
433
|
-
readonly update: true;
|
|
434
|
-
readonly delete: true;
|
|
435
|
-
};
|
|
436
|
-
readonly "client-media-platform": {
|
|
437
|
-
readonly list: true;
|
|
438
|
-
readonly create: true;
|
|
439
|
-
readonly read: true;
|
|
440
|
-
readonly update: true;
|
|
441
|
-
readonly delete: true;
|
|
442
|
-
};
|
|
443
|
-
readonly "client-media-platform-content-type": {
|
|
444
|
-
readonly list: true;
|
|
445
|
-
readonly create: true;
|
|
446
|
-
readonly read: true;
|
|
447
|
-
readonly update: true;
|
|
448
|
-
readonly delete: true;
|
|
449
|
-
};
|
|
450
|
-
readonly "client-project": {
|
|
451
|
-
readonly list: true;
|
|
452
|
-
readonly create: true;
|
|
453
|
-
readonly read: true;
|
|
454
|
-
readonly update: true;
|
|
455
|
-
readonly delete: true;
|
|
456
|
-
readonly assign: true;
|
|
457
|
-
};
|
|
458
|
-
readonly "client-report": {
|
|
459
|
-
readonly list: true;
|
|
460
|
-
readonly create: true;
|
|
461
|
-
readonly read: true;
|
|
462
|
-
readonly update: true;
|
|
463
|
-
readonly delete: true;
|
|
464
|
-
};
|
|
465
|
-
readonly "client-styleguide": {
|
|
466
|
-
readonly list: true;
|
|
467
|
-
readonly create: true;
|
|
468
|
-
readonly read: true;
|
|
469
|
-
readonly update: true;
|
|
470
|
-
readonly delete: true;
|
|
471
|
-
};
|
|
472
|
-
readonly "content-pillar": {
|
|
473
|
-
readonly list: true;
|
|
474
|
-
readonly create: true;
|
|
475
|
-
readonly read: true;
|
|
476
|
-
readonly update: true;
|
|
477
|
-
readonly delete: true;
|
|
478
|
-
};
|
|
479
|
-
readonly "media-platform": {
|
|
480
|
-
readonly list: true;
|
|
481
|
-
readonly create: true;
|
|
482
|
-
readonly read: true;
|
|
483
|
-
readonly update: true;
|
|
484
|
-
readonly delete: true;
|
|
485
|
-
};
|
|
486
|
-
readonly "media-content-type": {
|
|
487
|
-
readonly list: true;
|
|
488
|
-
readonly create: true;
|
|
489
|
-
readonly read: true;
|
|
490
|
-
readonly update: true;
|
|
491
|
-
readonly delete: true;
|
|
492
|
-
};
|
|
493
|
-
readonly "monday-workspace": {
|
|
494
|
-
readonly list: true;
|
|
495
|
-
readonly create: true;
|
|
496
|
-
readonly read: true;
|
|
497
|
-
readonly update: true;
|
|
498
|
-
readonly delete: true;
|
|
499
|
-
};
|
|
500
|
-
readonly "utm-tracking-link": {
|
|
501
|
-
readonly list: true;
|
|
502
|
-
readonly create: true;
|
|
503
|
-
readonly read: true;
|
|
504
|
-
readonly update: true;
|
|
505
|
-
readonly delete: true;
|
|
506
|
-
};
|
|
507
|
-
readonly gcflytour: {
|
|
508
|
-
readonly list: true;
|
|
509
|
-
readonly create: true;
|
|
510
|
-
readonly read: true;
|
|
511
|
-
readonly update: true;
|
|
512
|
-
readonly delete: true;
|
|
513
|
-
};
|
|
514
|
-
readonly "gcflytour-snap": {
|
|
515
|
-
readonly list: true;
|
|
516
|
-
readonly create: true;
|
|
517
|
-
readonly read: true;
|
|
518
|
-
readonly update: true;
|
|
519
|
-
readonly delete: true;
|
|
520
|
-
};
|
|
521
|
-
};
|
|
522
|
-
readonly client: {
|
|
523
|
-
readonly "user-account": {
|
|
524
|
-
readonly list: true;
|
|
525
|
-
readonly create: false;
|
|
526
|
-
readonly read: true;
|
|
527
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UserAccountDocument | undefined) => boolean;
|
|
528
|
-
readonly delete: false;
|
|
529
|
-
};
|
|
530
|
-
readonly comment: {
|
|
531
|
-
readonly list: true;
|
|
532
|
-
readonly create: true;
|
|
533
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
534
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: CommentDocument | undefined) => boolean;
|
|
535
|
-
readonly report: true;
|
|
536
|
-
};
|
|
537
|
-
readonly client: {
|
|
538
|
-
readonly access: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
539
|
-
readonly billing: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
540
|
-
readonly owner: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
541
|
-
readonly manager: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
542
|
-
readonly admin: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
543
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
544
|
-
readonly create: false;
|
|
545
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
546
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientDocument | undefined) => boolean;
|
|
547
|
-
readonly delete: false;
|
|
548
|
-
};
|
|
549
|
-
readonly "client-user": {
|
|
550
|
-
readonly list: true;
|
|
551
|
-
readonly create: false;
|
|
552
|
-
readonly read: true;
|
|
553
|
-
readonly update: false;
|
|
554
|
-
readonly delete: false;
|
|
555
|
-
readonly verify: true;
|
|
556
|
-
};
|
|
557
|
-
readonly "client-content-pillar": {
|
|
558
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
559
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
560
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
561
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientContentPillarDocument | undefined) => boolean;
|
|
562
|
-
readonly delete: false;
|
|
563
|
-
};
|
|
564
|
-
readonly "client-media-platform": {
|
|
565
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
566
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
567
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
568
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformDocument | undefined) => boolean;
|
|
569
|
-
readonly delete: false;
|
|
570
|
-
};
|
|
571
|
-
readonly "client-media-platform-content-type": {
|
|
572
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
573
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
574
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
575
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientMediaPlatformContentTypeDocument | undefined) => boolean;
|
|
576
|
-
readonly delete: false;
|
|
577
|
-
};
|
|
578
|
-
readonly "client-project": {
|
|
579
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
580
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
581
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
582
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
583
|
-
readonly delete: false;
|
|
584
|
-
readonly assign: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientProjectDocument | undefined) => boolean;
|
|
585
|
-
};
|
|
586
|
-
readonly "client-report": {
|
|
587
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
588
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
589
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
590
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientReportDocument | undefined) => boolean;
|
|
591
|
-
readonly delete: false;
|
|
592
|
-
};
|
|
593
|
-
readonly "client-styleguide": {
|
|
594
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientStyleguideDocument | undefined) => boolean;
|
|
595
|
-
readonly create: false;
|
|
596
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: ClientStyleguideDocument | undefined) => boolean;
|
|
597
|
-
readonly update: false;
|
|
598
|
-
readonly delete: false;
|
|
599
|
-
};
|
|
600
|
-
readonly "content-pillar": {
|
|
601
|
-
readonly list: true;
|
|
602
|
-
readonly create: false;
|
|
603
|
-
readonly read: true;
|
|
604
|
-
readonly update: false;
|
|
605
|
-
readonly delete: false;
|
|
606
|
-
};
|
|
607
|
-
readonly "media-platform": {
|
|
608
|
-
readonly list: true;
|
|
609
|
-
readonly create: false;
|
|
610
|
-
readonly read: true;
|
|
611
|
-
readonly update: false;
|
|
612
|
-
readonly delete: false;
|
|
613
|
-
};
|
|
614
|
-
readonly "media-content-type": {
|
|
615
|
-
readonly list: true;
|
|
616
|
-
readonly create: false;
|
|
617
|
-
readonly read: true;
|
|
618
|
-
readonly update: false;
|
|
619
|
-
readonly delete: false;
|
|
620
|
-
};
|
|
621
|
-
readonly "monday-workspace": {
|
|
622
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
623
|
-
readonly create: false;
|
|
624
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: MondayWorkspaceDocument | undefined) => boolean;
|
|
625
|
-
readonly update: false;
|
|
626
|
-
readonly delete: false;
|
|
627
|
-
};
|
|
628
|
-
readonly "utm-tracking-link": {
|
|
629
|
-
readonly list: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
630
|
-
readonly create: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus) => boolean;
|
|
631
|
-
readonly read: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
632
|
-
readonly update: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
633
|
-
readonly delete: (u: AuthorizedUserDocument, p: ClientUserDocumentStatus, d: UtmTrackingLinkDocument | undefined) => boolean;
|
|
634
|
-
};
|
|
635
|
-
readonly gcflytour: {
|
|
636
|
-
readonly list: true;
|
|
637
|
-
readonly create: false;
|
|
638
|
-
readonly read: true;
|
|
639
|
-
readonly update: false;
|
|
640
|
-
readonly delete: false;
|
|
641
|
-
};
|
|
642
|
-
readonly "gcflytour-snap": {
|
|
643
|
-
readonly list: true;
|
|
644
|
-
readonly create: false;
|
|
645
|
-
readonly read: true;
|
|
646
|
-
readonly update: false;
|
|
647
|
-
readonly delete: false;
|
|
648
|
-
};
|
|
649
|
-
};
|
|
650
|
-
};
|
|
651
|
-
|
|
652
|
-
/**
|
|
653
|
-
* Attribute-based access control (ABAC) permissions
|
|
654
|
-
*
|
|
655
|
-
* @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts
|
|
656
|
-
*/
|
|
657
|
-
|
|
658
|
-
type LCRUDActions = "list" | "create" | "read" | "update" | "delete";
|
|
659
|
-
type PermissionCheck<Key extends keyof Permissions> = boolean | ((user: AuthorizedUserDocument, permissions: ClientUserDocumentStatus, data?: Permissions[Key]["dataType"]) => boolean);
|
|
660
|
-
type RolesWithPermissions = {
|
|
661
|
-
[R in RoleType]: Partial<{
|
|
662
|
-
[Key in keyof Permissions]: Partial<{
|
|
663
|
-
[Action in Permissions[Key]["action"]]: PermissionCheck<Key>;
|
|
664
|
-
}>;
|
|
665
|
-
}>;
|
|
666
|
-
};
|
|
667
|
-
type Permissions = {
|
|
668
|
-
"user-account": {
|
|
669
|
-
dataType: UserAccountDocument;
|
|
670
|
-
action: LCRUDActions;
|
|
671
|
-
};
|
|
672
|
-
comment: {
|
|
673
|
-
dataType: CommentDocument;
|
|
674
|
-
action: "list" | "create" | "update" | "delete" | "report";
|
|
675
|
-
};
|
|
676
|
-
client: {
|
|
677
|
-
dataType: ClientDocument;
|
|
678
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client"][number] | LCRUDActions;
|
|
679
|
-
};
|
|
680
|
-
"client-user": {
|
|
681
|
-
dataType: ClientUserDocument;
|
|
682
|
-
action: LCRUDActions | "verify";
|
|
683
|
-
};
|
|
684
|
-
"client-content-pillar": {
|
|
685
|
-
dataType: ClientContentPillarDocument;
|
|
686
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-content-pillar"][number];
|
|
687
|
-
};
|
|
688
|
-
"client-media-platform": {
|
|
689
|
-
dataType: ClientMediaPlatformDocument;
|
|
690
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform"][number];
|
|
691
|
-
};
|
|
692
|
-
"client-media-platform-content-type": {
|
|
693
|
-
dataType: ClientMediaPlatformContentTypeDocument;
|
|
694
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-media-platform-content-type"][number];
|
|
695
|
-
};
|
|
696
|
-
"client-project": {
|
|
697
|
-
dataType: ClientProjectDocument;
|
|
698
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-project"][number];
|
|
699
|
-
};
|
|
700
|
-
"client-report": {
|
|
701
|
-
dataType: ClientReportDocument;
|
|
702
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-report"][number];
|
|
703
|
-
};
|
|
704
|
-
"client-styleguide": {
|
|
705
|
-
dataType: ClientStyleguideDocument;
|
|
706
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["client-styleguide"][number];
|
|
707
|
-
};
|
|
708
|
-
"content-pillar": {
|
|
709
|
-
dataType: ContentPillarDocument;
|
|
710
|
-
action: LCRUDActions;
|
|
711
|
-
};
|
|
712
|
-
"media-platform": {
|
|
713
|
-
dataType: MediaPlatformDocument;
|
|
714
|
-
action: LCRUDActions;
|
|
715
|
-
};
|
|
716
|
-
"media-content-type": {
|
|
717
|
-
dataType: MediaContentTypeDocument;
|
|
718
|
-
action: LCRUDActions;
|
|
719
|
-
};
|
|
720
|
-
"monday-workspace": {
|
|
721
|
-
dataType: MondayWorkspaceDocument;
|
|
722
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["monday-workspace"][number];
|
|
723
|
-
};
|
|
724
|
-
"utm-tracking-link": {
|
|
725
|
-
dataType: UtmTrackingLinkDocument;
|
|
726
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["utm-tracking-link"][number];
|
|
727
|
-
};
|
|
728
|
-
gcflytour: {
|
|
729
|
-
dataType: GCFlyTourDocument;
|
|
730
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour"][number];
|
|
731
|
-
};
|
|
732
|
-
"gcflytour-snap": {
|
|
733
|
-
dataType: GCFlyTourSnapDocument;
|
|
734
|
-
action: (typeof CLIENT_ENTITY_PERMISSIONS)["gcflytour-snap"][number];
|
|
735
|
-
};
|
|
736
|
-
};
|
|
737
|
-
|
|
738
|
-
/**
|
|
739
|
-
* Attribute-based access control (ABAC) permissions
|
|
740
|
-
*
|
|
741
|
-
* @reference https://github.com/WebDevSimplified/permission-system/blob/main/auth-abac.ts
|
|
742
|
-
*/
|
|
743
|
-
|
|
744
|
-
declare function hasPermission<Resource extends keyof Permissions>(user: AuthorizedUserDocument | null, permissions: ClientUserDocumentStatus, resource: Resource, action: Permissions[Resource]["action"], data?: Permissions[Resource]["dataType"]): boolean;
|
|
745
|
-
declare function canAssignPermission<Resource extends keyof Permissions>(user: AuthorizedUserDocument | null, resource: Resource, action: Permissions[Resource]["action"]): boolean;
|
|
746
|
-
|
|
747
|
-
export { CLIENT_ENTITY_PERMISSIONS, type LCRUDActions, type Permissions, ROLE_PERMISSIONS, type RolesWithPermissions, canAssignPermission, hasPermission };
|