@getcommunity/gc-validators 0.0.215 → 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.
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 +5 -6
  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,685 +0,0 @@
1
- // src/permissions/permission.abac.ts
2
- var ROLE_PERMISSIONS = {
3
- authenticated: {
4
- "user-account": {
5
- list: false,
6
- create: false,
7
- read: false,
8
- update: false,
9
- delete: false
10
- },
11
- comment: {
12
- list: true,
13
- create: true,
14
- update: (u, p, d) => u.id === Number(d?.author?.id),
15
- delete: (u, p, d) => u.id === Number(d?.author?.id),
16
- report: true
17
- },
18
- client: {
19
- access: false,
20
- billing: false,
21
- owner: false,
22
- manager: false,
23
- admin: false,
24
- list: false,
25
- create: false,
26
- read: false,
27
- update: false,
28
- delete: false
29
- },
30
- "client-user": {
31
- list: false,
32
- create: false,
33
- read: false,
34
- update: false,
35
- delete: false
36
- },
37
- "client-content-pillar": {
38
- list: false,
39
- create: false,
40
- read: false,
41
- update: false,
42
- delete: false
43
- },
44
- "client-media-platform": {
45
- list: false,
46
- create: false,
47
- read: false,
48
- update: false,
49
- delete: false
50
- },
51
- "client-media-platform-content-type": {
52
- list: false,
53
- create: false,
54
- read: false,
55
- update: false,
56
- delete: false
57
- },
58
- "client-project": {
59
- list: false,
60
- create: false,
61
- read: false,
62
- update: false,
63
- delete: false,
64
- assign: false
65
- },
66
- "client-report": {
67
- list: false,
68
- create: false,
69
- read: false,
70
- update: false,
71
- delete: false
72
- },
73
- "client-styleguide": {
74
- list: false,
75
- create: false,
76
- read: false,
77
- update: false,
78
- delete: false
79
- },
80
- "content-pillar": {
81
- list: false,
82
- create: false,
83
- read: false,
84
- update: false,
85
- delete: false
86
- },
87
- "media-platform": {
88
- list: false,
89
- create: false,
90
- read: false,
91
- update: false,
92
- delete: false
93
- },
94
- "media-content-type": {
95
- list: false,
96
- create: false,
97
- read: false,
98
- update: false,
99
- delete: false
100
- },
101
- "monday-workspace": {
102
- list: false,
103
- create: false,
104
- read: false,
105
- update: false,
106
- delete: false
107
- },
108
- "utm-tracking-link": {
109
- list: false,
110
- create: false,
111
- read: false,
112
- update: false,
113
- delete: false
114
- },
115
- gcflytour: {
116
- list: true,
117
- create: false,
118
- read: true,
119
- update: false,
120
- delete: false
121
- },
122
- "gcflytour-snap": {
123
- list: true,
124
- create: false,
125
- read: true,
126
- update: false,
127
- delete: false
128
- }
129
- },
130
- public: {
131
- "user-account": {
132
- list: false,
133
- create: false,
134
- read: false,
135
- update: false,
136
- delete: false
137
- },
138
- comment: {
139
- list: true,
140
- create: false,
141
- update: false,
142
- delete: false,
143
- report: false
144
- },
145
- client: {
146
- access: false,
147
- billing: false,
148
- owner: false,
149
- manager: false,
150
- admin: false,
151
- list: false,
152
- create: false,
153
- read: false,
154
- update: false,
155
- delete: false
156
- },
157
- "client-user": {
158
- list: false,
159
- create: false,
160
- read: false,
161
- update: false,
162
- delete: false
163
- },
164
- "client-content-pillar": {
165
- list: false,
166
- create: false,
167
- read: false,
168
- update: false,
169
- delete: false
170
- },
171
- "client-media-platform": {
172
- list: false,
173
- create: false,
174
- read: false,
175
- update: false,
176
- delete: false
177
- },
178
- "client-media-platform-content-type": {
179
- list: false,
180
- create: false,
181
- read: false,
182
- update: false,
183
- delete: false
184
- },
185
- "client-project": {
186
- list: false,
187
- create: false,
188
- read: false,
189
- update: false,
190
- delete: false,
191
- assign: false
192
- },
193
- "client-report": {
194
- list: false,
195
- create: false,
196
- read: false,
197
- update: false,
198
- delete: false
199
- },
200
- "client-styleguide": {
201
- list: false,
202
- create: false,
203
- read: false,
204
- update: false,
205
- delete: false
206
- },
207
- "content-pillar": {
208
- list: false,
209
- create: false,
210
- read: false,
211
- update: false,
212
- delete: false
213
- },
214
- "media-platform": {
215
- list: false,
216
- create: false,
217
- read: false,
218
- update: false,
219
- delete: false
220
- },
221
- "media-content-type": {
222
- list: false,
223
- create: false,
224
- read: false,
225
- update: false,
226
- delete: false
227
- },
228
- "monday-workspace": {
229
- list: false,
230
- create: false,
231
- read: false,
232
- update: false,
233
- delete: false
234
- },
235
- "utm-tracking-link": {
236
- list: false,
237
- create: false,
238
- read: false,
239
- update: false,
240
- delete: false
241
- },
242
- gcflytour: {
243
- list: true,
244
- create: false,
245
- read: true,
246
- update: false,
247
- delete: false
248
- },
249
- "gcflytour-snap": {
250
- list: true,
251
- create: false,
252
- read: true,
253
- update: false,
254
- delete: false
255
- }
256
- },
257
- employee: {
258
- "user-account": {
259
- list: true,
260
- create: false,
261
- read: true,
262
- update: (u, p, d) => u.account.documentId === d?.documentId,
263
- delete: false
264
- },
265
- comment: {
266
- list: true,
267
- create: true,
268
- update: (u, p, d) => u.id === Number(d?.author?.id),
269
- delete: (u, p, d) => u.id === Number(d?.author?.id),
270
- report: true
271
- },
272
- client: {
273
- access: (u, p, d) => p.scopes.includes("client:access"),
274
- billing: (u, p, d) => p.scopes.includes("client:billing"),
275
- owner: (u, p, d) => p.scopes.includes("client:owner"),
276
- manager: (u, p, d) => p.scopes.includes("client:manager"),
277
- admin: (u, p, d) => p.scopes.includes("client:admin"),
278
- list: (u, p, d) => p.scopes.includes("client:access"),
279
- create: false,
280
- read: (u, p, d) => p.scopes.includes("client:access"),
281
- update: (u, p, d) => p.scopes.includes("client:manager"),
282
- delete: false
283
- },
284
- "client-user": {
285
- list: true,
286
- create: false,
287
- read: true,
288
- update: false,
289
- delete: false,
290
- verify: true
291
- },
292
- "client-content-pillar": {
293
- list: (u, p, d) => p.scopes.includes("client-content-pillar:list"),
294
- create: (u, p) => p.scopes.includes("client-content-pillar:create"),
295
- read: (u, p, d) => p.scopes.includes("client-content-pillar:read"),
296
- update: (u, p, d) => p.scopes.includes("client-content-pillar:update"),
297
- delete: false
298
- },
299
- "client-media-platform": {
300
- list: (u, p, d) => p.scopes.includes("client-media-platform:list"),
301
- create: (u, p) => p.scopes.includes("client-media-platform:create"),
302
- read: (u, p, d) => p.scopes.includes("client-media-platform:read"),
303
- update: (u, p, d) => p.scopes.includes("client-media-platform:update"),
304
- delete: false
305
- },
306
- "client-media-platform-content-type": {
307
- list: (u, p, d) => p.scopes.includes("client-media-platform-content-type:list"),
308
- create: (u, p) => p.scopes.includes("client-media-platform-content-type:create"),
309
- read: (u, p, d) => p.scopes.includes("client-media-platform-content-type:read"),
310
- update: (u, p, d) => p.scopes.includes("client-media-platform-content-type:update"),
311
- delete: false
312
- },
313
- "client-project": {
314
- list: (u, p, d) => p.scopes.includes("client-project:list"),
315
- create: (u, p) => p.scopes.includes("client-project:create"),
316
- read: (u, p, d) => p.scopes.includes("client-project:read"),
317
- update: (u, p, d) => p.scopes.includes("client-project:update"),
318
- delete: false,
319
- assign: (u, p, d) => p.scopes.includes("client-project:assign")
320
- },
321
- "client-report": {
322
- list: (u, p, d) => p.scopes.includes("client-report:list"),
323
- create: (u, p) => p.scopes.includes("client-report:create"),
324
- read: (u, p, d) => p.scopes.includes("client-report:read"),
325
- update: (u, p, d) => p.scopes.includes("client-report:update"),
326
- delete: false
327
- },
328
- "client-styleguide": {
329
- list: (u, p, d) => p.scopes.includes("client-styleguide:list"),
330
- create: false,
331
- read: (u, p, d) => p.scopes.includes("client-styleguide:read"),
332
- update: false,
333
- delete: false
334
- },
335
- "content-pillar": {
336
- list: true,
337
- create: false,
338
- read: true,
339
- update: false,
340
- delete: false
341
- },
342
- "media-platform": {
343
- list: true,
344
- create: false,
345
- read: true,
346
- update: false,
347
- delete: false
348
- },
349
- "media-content-type": {
350
- list: true,
351
- create: false,
352
- read: true,
353
- update: false,
354
- delete: false
355
- },
356
- "monday-workspace": {
357
- list: (u, p, d) => p.scopes.includes("monday-workspace:list"),
358
- create: (u, p) => p.scopes.includes("monday-workspace:create"),
359
- read: (u, p, d) => p.scopes.includes("monday-workspace:read"),
360
- update: (u, p, d) => p.scopes.includes("monday-workspace:update"),
361
- delete: (u, p, d) => p.scopes.includes("monday-workspace:delete")
362
- },
363
- "utm-tracking-link": {
364
- list: (u, p, d) => p.scopes.includes("utm-tracking-link:list"),
365
- create: (u, p) => p.scopes.includes("utm-tracking-link:create"),
366
- read: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:read"),
367
- update: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:update"),
368
- delete: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:delete")
369
- },
370
- gcflytour: {
371
- list: true,
372
- create: (u, p) => p.scopes.includes("gcflytour:create"),
373
- read: true,
374
- update: (u, p, d) => p.scopes.includes("gcflytour:update"),
375
- delete: (u, p, d) => p.scopes.includes("gcflytour:delete")
376
- },
377
- "gcflytour-snap": {
378
- list: true,
379
- create: (u, p) => p.scopes.includes("gcflytour-snap:create"),
380
- read: true,
381
- update: (u, p, d) => p.scopes.includes("gcflytour-snap:update"),
382
- delete: (u, p, d) => p.scopes.includes("gcflytour-snap:delete")
383
- }
384
- },
385
- manager: {
386
- "user-account": {
387
- list: true,
388
- create: false,
389
- read: true,
390
- update: (u, p, d) => u.account.documentId === d?.documentId,
391
- delete: false
392
- },
393
- comment: {
394
- list: true,
395
- create: true,
396
- update: (u, p, d) => u.id === Number(d?.author?.id),
397
- delete: (u, p, d) => u.id === Number(d?.author?.id),
398
- report: true
399
- },
400
- client: {
401
- access: true,
402
- billing: true,
403
- owner: true,
404
- manager: true,
405
- admin: true,
406
- list: true,
407
- create: true,
408
- read: true,
409
- update: true,
410
- delete: false
411
- },
412
- "client-user": {
413
- list: true,
414
- create: true,
415
- read: true,
416
- update: true,
417
- delete: true,
418
- verify: true
419
- },
420
- "client-content-pillar": {
421
- list: true,
422
- create: true,
423
- read: true,
424
- update: true,
425
- delete: true
426
- },
427
- "client-media-platform": {
428
- list: true,
429
- create: true,
430
- read: true,
431
- update: true,
432
- delete: true
433
- },
434
- "client-media-platform-content-type": {
435
- list: true,
436
- create: true,
437
- read: true,
438
- update: true,
439
- delete: true
440
- },
441
- "client-project": {
442
- list: true,
443
- create: true,
444
- read: true,
445
- update: true,
446
- delete: true,
447
- assign: true
448
- },
449
- "client-report": {
450
- list: true,
451
- create: true,
452
- read: true,
453
- update: true,
454
- delete: true
455
- },
456
- "client-styleguide": {
457
- list: true,
458
- create: true,
459
- read: true,
460
- update: true,
461
- delete: true
462
- },
463
- "content-pillar": {
464
- list: true,
465
- create: true,
466
- read: true,
467
- update: true,
468
- delete: true
469
- },
470
- "media-platform": {
471
- list: true,
472
- create: true,
473
- read: true,
474
- update: true,
475
- delete: true
476
- },
477
- "media-content-type": {
478
- list: true,
479
- create: true,
480
- read: true,
481
- update: true,
482
- delete: true
483
- },
484
- "monday-workspace": {
485
- list: true,
486
- create: true,
487
- read: true,
488
- update: true,
489
- delete: true
490
- },
491
- "utm-tracking-link": {
492
- list: true,
493
- create: true,
494
- read: true,
495
- update: true,
496
- delete: true
497
- },
498
- gcflytour: {
499
- list: true,
500
- create: true,
501
- read: true,
502
- update: true,
503
- delete: true
504
- },
505
- "gcflytour-snap": {
506
- list: true,
507
- create: true,
508
- read: true,
509
- update: true,
510
- delete: true
511
- }
512
- },
513
- client: {
514
- "user-account": {
515
- list: true,
516
- create: false,
517
- read: true,
518
- update: (u, p, d) => u.account.documentId === d?.documentId,
519
- delete: false
520
- },
521
- comment: {
522
- list: true,
523
- create: true,
524
- update: (u, p, d) => u.id === Number(d?.author?.id),
525
- delete: (u, p, d) => u.id === Number(d?.author?.id),
526
- report: true
527
- },
528
- client: {
529
- access: (u, p, d) => p.scopes.includes("client:access"),
530
- billing: (u, p, d) => p.scopes.includes("client:billing"),
531
- owner: (u, p, d) => p.scopes.includes("client:owner"),
532
- manager: (u, p, d) => p.scopes.includes("client:manager"),
533
- admin: (u, p, d) => p.scopes.includes("client:admin"),
534
- list: (u, p, d) => p.scopes.includes("client:access"),
535
- create: false,
536
- read: (u, p, d) => p.scopes.includes("client:access"),
537
- update: (u, p, d) => p.scopes.includes("client:manager"),
538
- delete: false
539
- },
540
- "client-user": {
541
- list: true,
542
- create: false,
543
- read: true,
544
- update: false,
545
- delete: false,
546
- verify: true
547
- },
548
- "client-content-pillar": {
549
- list: (u, p, d) => p.scopes.includes("client-content-pillar:list"),
550
- create: (u, p) => p.scopes.includes("client-content-pillar:create"),
551
- read: (u, p, d) => p.scopes.includes("client-content-pillar:read"),
552
- update: (u, p, d) => p.scopes.includes("client-content-pillar:update"),
553
- delete: false
554
- },
555
- "client-media-platform": {
556
- list: (u, p, d) => p.scopes.includes("client-media-platform:list"),
557
- create: (u, p) => p.scopes.includes("client-media-platform:create"),
558
- read: (u, p, d) => p.scopes.includes("client-media-platform:read"),
559
- update: (u, p, d) => p.scopes.includes("client-media-platform:update"),
560
- delete: false
561
- },
562
- "client-media-platform-content-type": {
563
- list: (u, p, d) => p.scopes.includes("client-media-platform-content-type:list"),
564
- create: (u, p) => p.scopes.includes("client-media-platform-content-type:create"),
565
- read: (u, p, d) => p.scopes.includes("client-media-platform-content-type:read"),
566
- update: (u, p, d) => p.scopes.includes("client-media-platform-content-type:update"),
567
- delete: false
568
- },
569
- "client-project": {
570
- list: (u, p, d) => p.scopes.includes("client-project:list"),
571
- create: (u, p) => p.scopes.includes("client-project:create"),
572
- read: (u, p, d) => p.scopes.includes("client-project:read"),
573
- update: (u, p, d) => p.scopes.includes("client-project:update"),
574
- delete: false,
575
- assign: (u, p, d) => p.scopes.includes("client-project:assign")
576
- },
577
- "client-report": {
578
- list: (u, p, d) => p.scopes.includes("client-report:list"),
579
- create: (u, p) => p.scopes.includes("client-report:create"),
580
- read: (u, p, d) => p.scopes.includes("client-report:read"),
581
- update: (u, p, d) => p.scopes.includes("client-report:update"),
582
- delete: false
583
- },
584
- "client-styleguide": {
585
- list: (u, p, d) => p.scopes.includes("client-styleguide:list"),
586
- create: false,
587
- read: (u, p, d) => p.scopes.includes("client-styleguide:read"),
588
- update: false,
589
- delete: false
590
- },
591
- "content-pillar": {
592
- list: true,
593
- create: false,
594
- read: true,
595
- update: false,
596
- delete: false
597
- },
598
- "media-platform": {
599
- list: true,
600
- create: false,
601
- read: true,
602
- update: false,
603
- delete: false
604
- },
605
- "media-content-type": {
606
- list: true,
607
- create: false,
608
- read: true,
609
- update: false,
610
- delete: false
611
- },
612
- "monday-workspace": {
613
- list: (u, p, d) => p.scopes.includes("monday-workspace:list"),
614
- create: false,
615
- read: (u, p, d) => p.scopes.includes("monday-workspace:read"),
616
- update: false,
617
- delete: false
618
- },
619
- "utm-tracking-link": {
620
- list: (u, p, d) => p.scopes.includes("utm-tracking-link:list"),
621
- create: (u, p) => p.scopes.includes("utm-tracking-link:create"),
622
- read: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:read"),
623
- update: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:update"),
624
- delete: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:delete")
625
- },
626
- gcflytour: {
627
- list: true,
628
- create: false,
629
- read: true,
630
- update: false,
631
- delete: false
632
- },
633
- "gcflytour-snap": {
634
- list: true,
635
- create: false,
636
- read: true,
637
- update: false,
638
- delete: false
639
- }
640
- }
641
- };
642
-
643
- // src/permissions/permission.constants.ts
644
- var CLIENT_ENTITY_PERMISSIONS = {
645
- client: ["admin", "owner", "manager", "billing", "access"],
646
- "client-project": ["list", "create", "read", "update", "delete", "assign"],
647
- "client-media-platform": ["list", "create", "read", "update", "delete"],
648
- "client-media-platform-content-type": ["list", "create", "read", "update", "delete"],
649
- "client-content-pillar": ["list", "create", "read", "update", "delete"],
650
- "client-report": ["list", "create", "read", "update", "delete"],
651
- "client-styleguide": ["list", "create", "read", "update", "delete"],
652
- "monday-workspace": ["list", "create", "read", "update", "delete"],
653
- "utm-tracking-link": ["list", "create", "read", "update", "delete"],
654
- gcflytour: ["list", "create", "read", "update", "delete"],
655
- "gcflytour-snap": ["list", "create", "read", "update", "delete"]
656
- };
657
- var CLIENT_ENTITY_KEYS = Object.keys(
658
- CLIENT_ENTITY_PERMISSIONS
659
- );
660
- var CLIENT_ENTITY_SCOPES = Object.entries(
661
- CLIENT_ENTITY_PERMISSIONS
662
- ).flatMap(
663
- ([entity, actions]) => actions.map((action) => `${entity}:${action}`)
664
- );
665
-
666
- // src/permissions/permission.utilities.ts
667
- function hasPermission(user, permissions, resource, action, data) {
668
- if (!user) return false;
669
- const permission = ROLE_PERMISSIONS[user.role.type][resource]?.[action];
670
- if (permission == null) return false;
671
- if (typeof permission === "boolean") return permission;
672
- return permission(user, permissions, data);
673
- }
674
- function canAssignPermission(user, resource, action) {
675
- if (!user) return false;
676
- const permission = ROLE_PERMISSIONS[user.role.type][resource]?.[action];
677
- if (permission == null) return false;
678
- if (typeof permission === "boolean") return permission;
679
- if (typeof permission === "function") return true;
680
- return false;
681
- }
682
-
683
- export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ROLE_PERMISSIONS, canAssignPermission, hasPermission };
684
- //# sourceMappingURL=chunk-DU5WCXJJ.js.map
685
- //# sourceMappingURL=chunk-DU5WCXJJ.js.map