@getcommunity/gc-validators 0.0.216 → 0.0.218

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.
Files changed (86) hide show
  1. package/dist/chunk-CKQMccvm.cjs +28 -0
  2. package/dist/constants.cjs +461 -438
  3. package/dist/constants.cjs.map +1 -1
  4. package/dist/constants.d.cts +2 -233
  5. package/dist/constants.d.mts +2 -0
  6. package/dist/constants.mjs +355 -0
  7. package/dist/constants.mjs.map +1 -0
  8. package/dist/index-B6pNPQrV.d.mts +4192 -0
  9. package/dist/index-CQtazKyX.d.cts +4192 -0
  10. package/dist/index-CiWVYf_f.d.cts +292 -0
  11. package/dist/index-DOR_It7I.d.mts +292 -0
  12. package/dist/index.cjs +350 -1388
  13. package/dist/index.d.cts +3 -10
  14. package/dist/index.d.mts +3 -0
  15. package/dist/index.mjs +6 -0
  16. package/dist/permissions.cjs +757 -30
  17. package/dist/permissions.cjs.map +1 -1
  18. package/dist/permissions.d.cts +2 -747
  19. package/dist/permissions.d.mts +2 -0
  20. package/dist/permissions.mjs +753 -0
  21. package/dist/permissions.mjs.map +1 -0
  22. package/dist/schemas.cjs +1781 -896
  23. package/dist/schemas.cjs.map +1 -1
  24. package/dist/schemas.d.cts +2 -1935
  25. package/dist/schemas.d.mts +2 -0
  26. package/dist/schemas.mjs +1559 -0
  27. package/dist/schemas.mjs.map +1 -0
  28. package/dist/types.cjs +0 -6
  29. package/dist/types.d.cts +2 -851
  30. package/dist/types.d.mts +2 -0
  31. package/dist/types.mjs +1 -0
  32. package/dist/utilities.cjs +76 -38
  33. package/dist/utilities.cjs.map +1 -1
  34. package/dist/utilities.d.cts +2 -26
  35. package/dist/utilities.d.mts +2 -0
  36. package/dist/utilities.mjs +68 -0
  37. package/dist/utilities.mjs.map +1 -0
  38. package/package.json +4 -4
  39. package/dist/chunk-57PRSDKM.cjs +0 -368
  40. package/dist/chunk-57PRSDKM.cjs.map +0 -1
  41. package/dist/chunk-7CI3M2JM.js +0 -3
  42. package/dist/chunk-7CI3M2JM.js.map +0 -1
  43. package/dist/chunk-ABPKJ5AP.js +0 -259
  44. package/dist/chunk-ABPKJ5AP.js.map +0 -1
  45. package/dist/chunk-BYTL5J7D.js +0 -2606
  46. package/dist/chunk-BYTL5J7D.js.map +0 -1
  47. package/dist/chunk-CDBT3J75.cjs +0 -4
  48. package/dist/chunk-CDBT3J75.cjs.map +0 -1
  49. package/dist/chunk-DU5WCXJJ.js +0 -685
  50. package/dist/chunk-DU5WCXJJ.js.map +0 -1
  51. package/dist/chunk-IMI6XEMX.cjs +0 -2849
  52. package/dist/chunk-IMI6XEMX.cjs.map +0 -1
  53. package/dist/chunk-NMDMJZPF.cjs +0 -692
  54. package/dist/chunk-NMDMJZPF.cjs.map +0 -1
  55. package/dist/chunk-NNLSUHMQ.js +0 -63
  56. package/dist/chunk-NNLSUHMQ.js.map +0 -1
  57. package/dist/chunk-UAQWYRXG.cjs +0 -92
  58. package/dist/chunk-UAQWYRXG.cjs.map +0 -1
  59. package/dist/comment.document-HT6qJLh5.d.cts +0 -468
  60. package/dist/comment.document-xCsfHOer.d.ts +0 -468
  61. package/dist/constants.d.ts +0 -233
  62. package/dist/constants.js +0 -3
  63. package/dist/constants.js.map +0 -1
  64. package/dist/font.constants-BVwxlH3J.d.cts +0 -52
  65. package/dist/font.constants-BVwxlH3J.d.ts +0 -52
  66. package/dist/index.cjs.map +0 -1
  67. package/dist/index.d.ts +0 -10
  68. package/dist/index.js +0 -7
  69. package/dist/index.js.map +0 -1
  70. package/dist/permission.constants-B99nobws.d.cts +0 -30
  71. package/dist/permission.constants-B99nobws.d.ts +0 -30
  72. package/dist/permissions.d.ts +0 -747
  73. package/dist/permissions.js +0 -3
  74. package/dist/permissions.js.map +0 -1
  75. package/dist/response-8Bkawql4.d.cts +0 -56
  76. package/dist/response-8Bkawql4.d.ts +0 -56
  77. package/dist/schemas.d.ts +0 -1935
  78. package/dist/schemas.js +0 -5
  79. package/dist/schemas.js.map +0 -1
  80. package/dist/types.cjs.map +0 -1
  81. package/dist/types.d.ts +0 -851
  82. package/dist/types.js +0 -3
  83. package/dist/types.js.map +0 -1
  84. package/dist/utilities.d.ts +0 -26
  85. package/dist/utilities.js +0 -3
  86. package/dist/utilities.js.map +0 -1
@@ -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 };