@getcommunity/gc-validators 0.0.271-alpha.2 → 0.0.271-alpha.3

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 (116) hide show
  1. package/dist/abac-BeKQtxIF.cjs +648 -0
  2. package/dist/abac-DPd9oLKR.mjs +643 -0
  3. package/dist/base/index.d.mts +4 -4
  4. package/dist/components/shared/index.d.mts +1 -1
  5. package/dist/{document-D4fJt3zX.d.cts → document-AkydjorI.d.cts} +2 -6
  6. package/dist/{document-DdRo9TdG.d.mts → document-CIAPAAjK.d.mts} +18 -22
  7. package/dist/entities/audit-log/index.d.cts +2 -2
  8. package/dist/entities/audit-log/index.d.mts +3 -3
  9. package/dist/entities/blog-page/index.d.mts +1 -1
  10. package/dist/entities/blog-post/index.cjs +1 -1
  11. package/dist/entities/blog-post/index.d.cts +3 -3
  12. package/dist/entities/blog-post/index.d.mts +4 -4
  13. package/dist/entities/blog-post/index.mjs +1 -1
  14. package/dist/entities/careers-page/index.d.mts +1 -1
  15. package/dist/entities/category/index.cjs +1 -1
  16. package/dist/entities/category/index.d.cts +2 -2
  17. package/dist/entities/category/index.d.mts +3 -3
  18. package/dist/entities/category/index.mjs +1 -1
  19. package/dist/entities/client/index.cjs +1 -1
  20. package/dist/entities/client/index.d.mts +1 -1
  21. package/dist/entities/client/index.mjs +1 -1
  22. package/dist/entities/client-content-pillar/index.cjs +2 -2
  23. package/dist/entities/client-content-pillar/index.d.mts +1 -1
  24. package/dist/entities/client-content-pillar/index.mjs +2 -2
  25. package/dist/entities/client-media-platform/index.d.mts +1 -1
  26. package/dist/entities/client-project/index.d.cts +2 -2
  27. package/dist/entities/client-project/index.d.mts +3 -3
  28. package/dist/entities/client-report/index.d.mts +1 -1
  29. package/dist/entities/client-styleguide/index.d.mts +1 -1
  30. package/dist/entities/client-user/index.cjs +1 -1
  31. package/dist/entities/client-user/index.d.cts +1 -1
  32. package/dist/entities/client-user/index.d.mts +1 -1
  33. package/dist/entities/client-user/index.mjs +1 -1
  34. package/dist/entities/comment/index.d.cts +1 -1
  35. package/dist/entities/comment/index.d.mts +1 -1
  36. package/dist/entities/content-pillar/index.cjs +1 -1
  37. package/dist/entities/content-pillar/index.d.cts +2 -2
  38. package/dist/entities/content-pillar/index.d.mts +3 -3
  39. package/dist/entities/content-pillar/index.mjs +1 -1
  40. package/dist/entities/faq-page/index.d.mts +1 -1
  41. package/dist/entities/gcflytour/index.d.cts +2 -2
  42. package/dist/entities/gcflytour/index.d.mts +3 -3
  43. package/dist/entities/gcflytour-snap/index.d.cts +2 -2
  44. package/dist/entities/gcflytour-snap/index.d.mts +3 -3
  45. package/dist/entities/landing-page/index.d.mts +1 -1
  46. package/dist/entities/media-content-type/index.d.cts +2 -2
  47. package/dist/entities/media-content-type/index.d.mts +3 -3
  48. package/dist/entities/media-creative-format/index.d.cts +2 -2
  49. package/dist/entities/media-creative-format/index.d.mts +3 -3
  50. package/dist/entities/media-medium/index.d.cts +2 -2
  51. package/dist/entities/media-medium/index.d.mts +2 -2
  52. package/dist/entities/media-platform/index.d.cts +2 -2
  53. package/dist/entities/media-platform/index.d.mts +3 -3
  54. package/dist/entities/monday-workspace/index.d.cts +2 -2
  55. package/dist/entities/monday-workspace/index.d.mts +3 -3
  56. package/dist/entities/policy-page/index.d.mts +1 -1
  57. package/dist/entities/product/index.d.mts +1 -1
  58. package/dist/entities/tag/index.d.cts +2 -2
  59. package/dist/entities/tag/index.d.mts +2 -2
  60. package/dist/entities/team-member/index.cjs +1 -1
  61. package/dist/entities/team-member/index.mjs +1 -1
  62. package/dist/entities/team-page/index.d.mts +1 -1
  63. package/dist/entities/trend/index.cjs +1 -1
  64. package/dist/entities/trend/index.mjs +1 -1
  65. package/dist/entities/up-auth/index.d.mts +1 -1
  66. package/dist/entities/up-role/index.d.mts +2 -2
  67. package/dist/entities/up-user/index.d.cts +2 -2
  68. package/dist/entities/up-user/index.d.mts +3 -3
  69. package/dist/entities/url-redirect/index.d.cts +2 -2
  70. package/dist/entities/url-redirect/index.d.mts +2 -2
  71. package/dist/entities/user-account/index.d.mts +2 -2
  72. package/dist/entities/utm-tracking-link/index.d.cts +2 -2
  73. package/dist/entities/utm-tracking-link/index.d.mts +2 -2
  74. package/dist/{index-Bht1Jd5l.d.mts → index-BL9VfVD4.d.mts} +1 -1
  75. package/dist/{index-BLE_fX1Q.d.cts → index-Bwlq5D5d.d.mts} +3 -3
  76. package/dist/{index-DYPjS1qh.d.mts → index-D4Mm4D2d.d.cts} +3 -3
  77. package/dist/{index-BI8tN-QZ.d.mts → index-r0hGcq70.d.mts} +3 -3
  78. package/dist/permissions/index.cjs +3 -663
  79. package/dist/permissions/index.d.cts +2 -2
  80. package/dist/permissions/index.d.mts +2 -2
  81. package/dist/permissions/index.mjs +3 -661
  82. package/dist/utilities/index.cjs +20 -0
  83. package/dist/utilities/index.d.cts +8 -1
  84. package/dist/utilities/index.d.mts +9 -2
  85. package/dist/utilities/index.mjs +19 -1
  86. package/package.json +1 -1
  87. /package/dist/{constants-L2goO7Eg.mjs → constants-Htf-MeCA.mjs} +0 -0
  88. /package/dist/{constants-PBZKggHL.cjs → constants-f1GP2eiq.cjs} +0 -0
  89. /package/dist/{document-DsIPBTG8.cjs → document-2o5WNt6V.cjs} +0 -0
  90. /package/dist/{document-D5yDIDIx.d.mts → document-6ONY7xJm.d.mts} +0 -0
  91. /package/dist/{document-Gx2Vrg_w.d.mts → document-B0j6d1nH.d.mts} +0 -0
  92. /package/dist/{document-Ccszj8lR.cjs → document-BVPXeweR.cjs} +0 -0
  93. /package/dist/{document-WHS8GHY5.d.mts → document-Bh0a7Y8h.d.mts} +0 -0
  94. /package/dist/{document-Cu_HUDC5.mjs → document-Bpgteig6.mjs} +0 -0
  95. /package/dist/{document-CTTDXzOF.mjs → document-C21JZnEl.mjs} +0 -0
  96. /package/dist/{document-CUl_Ys6-.mjs → document-COaupB1r.mjs} +0 -0
  97. /package/dist/{document-Bd2AyLs8.d.mts → document-CQ9bUL-1.d.mts} +0 -0
  98. /package/dist/{document-rbMXLGxt.cjs → document-Coz4Rm8I.cjs} +0 -0
  99. /package/dist/{document-si7GYS5g.d.mts → document-CsGd8QmZ.d.mts} +0 -0
  100. /package/dist/{document-Bpr9mbCs.d.mts → document-D7nCeVSn.d.mts} +0 -0
  101. /package/dist/{document-C0c7azOe.d.mts → document-DAnzPqTm.d.mts} +0 -0
  102. /package/dist/{document-B_pJW777.d.mts → document-DCIBlMpe.d.mts} +0 -0
  103. /package/dist/{document-DYzRVV1C.d.mts → document-DCtr8pVh.d.mts} +0 -0
  104. /package/dist/{document-Bo869pZx.d.mts → document-DSUxqMD4.d.mts} +0 -0
  105. /package/dist/{document-vq-7rcU5.d.mts → document-Db-z1nIm.d.mts} +0 -0
  106. /package/dist/{document-DsSaMVGb.cjs → document-DgG9DIT2.cjs} +0 -0
  107. /package/dist/{document-DeoRGh7p.d.mts → document-DgQnMgCD.d.mts} +0 -0
  108. /package/dist/{document-BFukanLe.mjs → document-DiOskbh3.mjs} +0 -0
  109. /package/dist/{document-D2nLVGig.d.mts → document-DmZ3XRi8.d.mts} +0 -0
  110. /package/dist/{document-BAzLIprH.d.mts → document-TK2UUOF9.d.mts} +0 -0
  111. /package/dist/{document-BNoXPGwF.d.mts → document-W-NILXQV.d.mts} +0 -0
  112. /package/dist/{document-DMHIUE3J.d.mts → document-gwpNlSBm.d.mts} +0 -0
  113. /package/dist/{fields-qx-5saY5.d.mts → fields-DUuJ_1V0.d.mts} +0 -0
  114. /package/dist/{json-CqAaKeHA.d.mts → json-CiA5ZRzc.d.mts} +0 -0
  115. /package/dist/{query.schema-BOn5Kk_p.d.mts → query.schema-oOG7BmVm.d.mts} +0 -0
  116. /package/dist/{response-C-7nyNVD.d.mts → response-I41vWpVZ.d.mts} +0 -0
@@ -1,661 +1,3 @@
1
- import { n as CLIENT_ENTITY_PERMISSIONS, r as CLIENT_ENTITY_SCOPES, t as CLIENT_ENTITY_KEYS } from "../constants-L2goO7Eg.mjs";
2
- //#region src/permissions/abac.ts
3
- const ROLE_PERMISSIONS = {
4
- authenticated: {
5
- "user-account": {
6
- list: false,
7
- create: false,
8
- read: false,
9
- update: false,
10
- delete: false
11
- },
12
- comment: {
13
- list: true,
14
- create: true,
15
- update: (u, p, d) => u.id === Number(d?.author?.id),
16
- delete: (u, p, d) => u.id === Number(d?.author?.id),
17
- report: true
18
- },
19
- client: {
20
- access: false,
21
- billing: false,
22
- owner: false,
23
- manager: false,
24
- admin: false,
25
- list: false,
26
- create: false,
27
- read: false,
28
- update: false,
29
- delete: false
30
- },
31
- "client-user": {
32
- list: false,
33
- create: false,
34
- read: false,
35
- update: false,
36
- delete: false
37
- },
38
- "client-content-pillar": {
39
- list: false,
40
- create: false,
41
- read: false,
42
- update: false,
43
- delete: false
44
- },
45
- "client-media-platform": {
46
- list: false,
47
- create: false,
48
- read: false,
49
- update: false,
50
- delete: false
51
- },
52
- "client-project": {
53
- list: false,
54
- create: false,
55
- read: false,
56
- update: false,
57
- delete: false,
58
- assign: false
59
- },
60
- "client-report": {
61
- list: false,
62
- create: false,
63
- read: false,
64
- update: false,
65
- delete: false
66
- },
67
- "client-styleguide": {
68
- list: false,
69
- create: false,
70
- read: false,
71
- update: false,
72
- delete: false
73
- },
74
- "content-pillar": {
75
- list: false,
76
- create: false,
77
- read: false,
78
- update: false,
79
- delete: false
80
- },
81
- "media-platform": {
82
- list: false,
83
- create: false,
84
- read: false,
85
- update: false,
86
- delete: false
87
- },
88
- "media-content-type": {
89
- list: false,
90
- create: false,
91
- read: false,
92
- update: false,
93
- delete: false
94
- },
95
- "media-creative-format": {
96
- list: false,
97
- create: false,
98
- read: false,
99
- update: false,
100
- delete: false
101
- },
102
- "monday-workspace": {
103
- list: false,
104
- create: false,
105
- read: false,
106
- update: false,
107
- delete: false
108
- },
109
- "utm-tracking-link": {
110
- list: false,
111
- create: false,
112
- read: false,
113
- update: false,
114
- delete: false
115
- },
116
- gcflytour: {
117
- list: true,
118
- create: false,
119
- read: true,
120
- update: false,
121
- delete: false
122
- },
123
- "gcflytour-snap": {
124
- list: true,
125
- create: false,
126
- read: true,
127
- update: false,
128
- delete: false
129
- }
130
- },
131
- public: {
132
- "user-account": {
133
- list: false,
134
- create: false,
135
- read: false,
136
- update: false,
137
- delete: false
138
- },
139
- comment: {
140
- list: true,
141
- create: false,
142
- update: false,
143
- delete: false,
144
- report: false
145
- },
146
- client: {
147
- access: false,
148
- billing: false,
149
- owner: false,
150
- manager: false,
151
- admin: false,
152
- list: false,
153
- create: false,
154
- read: false,
155
- update: false,
156
- delete: false
157
- },
158
- "client-user": {
159
- list: false,
160
- create: false,
161
- read: false,
162
- update: false,
163
- delete: false
164
- },
165
- "client-content-pillar": {
166
- list: false,
167
- create: false,
168
- read: false,
169
- update: false,
170
- delete: false
171
- },
172
- "client-media-platform": {
173
- list: false,
174
- create: false,
175
- read: false,
176
- update: false,
177
- delete: false
178
- },
179
- "client-project": {
180
- list: false,
181
- create: false,
182
- read: false,
183
- update: false,
184
- delete: false,
185
- assign: false
186
- },
187
- "client-report": {
188
- list: false,
189
- create: false,
190
- read: false,
191
- update: false,
192
- delete: false
193
- },
194
- "client-styleguide": {
195
- list: false,
196
- create: false,
197
- read: false,
198
- update: false,
199
- delete: false
200
- },
201
- "content-pillar": {
202
- list: false,
203
- create: false,
204
- read: false,
205
- update: false,
206
- delete: false
207
- },
208
- "media-platform": {
209
- list: false,
210
- create: false,
211
- read: false,
212
- update: false,
213
- delete: false
214
- },
215
- "media-content-type": {
216
- list: false,
217
- create: false,
218
- read: false,
219
- update: false,
220
- delete: false
221
- },
222
- "media-creative-format": {
223
- list: false,
224
- create: false,
225
- read: false,
226
- update: false,
227
- delete: false
228
- },
229
- "monday-workspace": {
230
- list: false,
231
- create: false,
232
- read: false,
233
- update: false,
234
- delete: false
235
- },
236
- "utm-tracking-link": {
237
- list: false,
238
- create: false,
239
- read: false,
240
- update: false,
241
- delete: false
242
- },
243
- gcflytour: {
244
- list: true,
245
- create: false,
246
- read: true,
247
- update: false,
248
- delete: false
249
- },
250
- "gcflytour-snap": {
251
- list: true,
252
- create: false,
253
- read: true,
254
- update: false,
255
- delete: false
256
- }
257
- },
258
- employee: {
259
- "user-account": {
260
- list: true,
261
- create: false,
262
- read: true,
263
- update: (u, p, d) => u.account.documentId === d?.documentId,
264
- delete: false
265
- },
266
- comment: {
267
- list: true,
268
- create: true,
269
- update: (u, p, d) => u.id === Number(d?.author?.id),
270
- delete: (u, p, d) => u.id === Number(d?.author?.id),
271
- report: true
272
- },
273
- client: {
274
- access: (u, p, d) => p.scopes.includes("client:access"),
275
- billing: (u, p, d) => p.scopes.includes("client:billing"),
276
- owner: (u, p, d) => p.scopes.includes("client:owner"),
277
- manager: (u, p, d) => p.scopes.includes("client:manager"),
278
- admin: (u, p, d) => p.scopes.includes("client:admin"),
279
- list: (u, p, d) => p.scopes.includes("client:access"),
280
- create: false,
281
- read: (u, p, d) => p.scopes.includes("client:access"),
282
- update: (u, p, d) => p.scopes.includes("client:manager"),
283
- delete: false
284
- },
285
- "client-user": {
286
- list: true,
287
- create: false,
288
- read: true,
289
- update: false,
290
- delete: false,
291
- verify: true
292
- },
293
- "client-content-pillar": {
294
- list: (u, p, d) => p.scopes.includes("client-content-pillar:list"),
295
- create: (u, p) => p.scopes.includes("client-content-pillar:create"),
296
- read: (u, p, d) => p.scopes.includes("client-content-pillar:read"),
297
- update: (u, p, d) => p.scopes.includes("client-content-pillar:update"),
298
- delete: false
299
- },
300
- "client-media-platform": {
301
- list: (u, p, d) => p.scopes.includes("client-media-platform:list"),
302
- create: (u, p) => p.scopes.includes("client-media-platform:create"),
303
- read: (u, p, d) => p.scopes.includes("client-media-platform:read"),
304
- update: (u, p, d) => p.scopes.includes("client-media-platform:update"),
305
- delete: false
306
- },
307
- "client-project": {
308
- list: (u, p, d) => p.scopes.includes("client-project:list"),
309
- create: (u, p) => p.scopes.includes("client-project:create"),
310
- read: (u, p, d) => p.scopes.includes("client-project:read"),
311
- update: (u, p, d) => p.scopes.includes("client-project:update"),
312
- delete: false,
313
- assign: (u, p, d) => p.scopes.includes("client-project:assign")
314
- },
315
- "client-report": {
316
- list: (u, p, d) => p.scopes.includes("client-report:list"),
317
- create: (u, p) => p.scopes.includes("client-report:create"),
318
- read: (u, p, d) => p.scopes.includes("client-report:read"),
319
- update: (u, p, d) => p.scopes.includes("client-report:update"),
320
- delete: false
321
- },
322
- "client-styleguide": {
323
- list: (u, p, d) => p.scopes.includes("client-styleguide:list"),
324
- create: false,
325
- read: (u, p, d) => p.scopes.includes("client-styleguide:read"),
326
- update: false,
327
- delete: false
328
- },
329
- "content-pillar": {
330
- list: true,
331
- create: false,
332
- read: true,
333
- update: false,
334
- delete: false
335
- },
336
- "media-platform": {
337
- list: true,
338
- create: false,
339
- read: true,
340
- update: false,
341
- delete: false
342
- },
343
- "media-content-type": {
344
- list: true,
345
- create: false,
346
- read: true,
347
- update: false,
348
- delete: false
349
- },
350
- "media-creative-format": {
351
- list: true,
352
- create: false,
353
- read: true,
354
- update: false,
355
- delete: false
356
- },
357
- "monday-workspace": {
358
- list: (u, p, d) => p.scopes.includes("monday-workspace:list"),
359
- create: (u, p) => p.scopes.includes("monday-workspace:create"),
360
- read: (u, p, d) => p.scopes.includes("monday-workspace:read"),
361
- update: (u, p, d) => p.scopes.includes("monday-workspace:update"),
362
- delete: (u, p, d) => p.scopes.includes("monday-workspace:delete")
363
- },
364
- "utm-tracking-link": {
365
- list: (u, p, d) => p.scopes.includes("utm-tracking-link:list"),
366
- create: (u, p) => p.scopes.includes("utm-tracking-link:create"),
367
- read: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:read"),
368
- update: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:update"),
369
- delete: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:delete")
370
- },
371
- gcflytour: {
372
- list: true,
373
- create: (u, p) => p.scopes.includes("gcflytour:create"),
374
- read: true,
375
- update: (u, p, d) => p.scopes.includes("gcflytour:update"),
376
- delete: (u, p, d) => p.scopes.includes("gcflytour:delete")
377
- },
378
- "gcflytour-snap": {
379
- list: true,
380
- create: (u, p) => p.scopes.includes("gcflytour-snap:create"),
381
- read: true,
382
- update: (u, p, d) => p.scopes.includes("gcflytour-snap:update"),
383
- delete: (u, p, d) => p.scopes.includes("gcflytour-snap:delete")
384
- }
385
- },
386
- manager: {
387
- "user-account": {
388
- list: true,
389
- create: false,
390
- read: true,
391
- update: (u, p, d) => u.account.documentId === d?.documentId,
392
- delete: false
393
- },
394
- comment: {
395
- list: true,
396
- create: true,
397
- update: (u, p, d) => u.id === Number(d?.author?.id),
398
- delete: (u, p, d) => u.id === Number(d?.author?.id),
399
- report: true
400
- },
401
- client: {
402
- access: true,
403
- billing: true,
404
- owner: true,
405
- manager: true,
406
- admin: true,
407
- list: true,
408
- create: true,
409
- read: true,
410
- update: true,
411
- delete: false
412
- },
413
- "client-user": {
414
- list: true,
415
- create: true,
416
- read: true,
417
- update: true,
418
- delete: true,
419
- verify: true
420
- },
421
- "client-content-pillar": {
422
- list: true,
423
- create: true,
424
- read: true,
425
- update: true,
426
- delete: true
427
- },
428
- "client-media-platform": {
429
- list: true,
430
- create: true,
431
- read: true,
432
- update: true,
433
- delete: true
434
- },
435
- "client-project": {
436
- list: true,
437
- create: true,
438
- read: true,
439
- update: true,
440
- delete: true,
441
- assign: true
442
- },
443
- "client-report": {
444
- list: true,
445
- create: true,
446
- read: true,
447
- update: true,
448
- delete: true
449
- },
450
- "client-styleguide": {
451
- list: true,
452
- create: true,
453
- read: true,
454
- update: true,
455
- delete: true
456
- },
457
- "content-pillar": {
458
- list: true,
459
- create: true,
460
- read: true,
461
- update: true,
462
- delete: true
463
- },
464
- "media-platform": {
465
- list: true,
466
- create: true,
467
- read: true,
468
- update: true,
469
- delete: true
470
- },
471
- "media-content-type": {
472
- list: true,
473
- create: true,
474
- read: true,
475
- update: true,
476
- delete: true
477
- },
478
- "media-creative-format": {
479
- list: true,
480
- create: true,
481
- read: true,
482
- update: true,
483
- delete: true
484
- },
485
- "monday-workspace": {
486
- list: true,
487
- create: true,
488
- read: true,
489
- update: true,
490
- delete: true
491
- },
492
- "utm-tracking-link": {
493
- list: true,
494
- create: true,
495
- read: true,
496
- update: true,
497
- delete: true
498
- },
499
- gcflytour: {
500
- list: true,
501
- create: true,
502
- read: true,
503
- update: true,
504
- delete: true
505
- },
506
- "gcflytour-snap": {
507
- list: true,
508
- create: true,
509
- read: true,
510
- update: true,
511
- delete: true
512
- }
513
- },
514
- client: {
515
- "user-account": {
516
- list: true,
517
- create: false,
518
- read: true,
519
- update: (u, p, d) => u.account.documentId === d?.documentId,
520
- delete: false
521
- },
522
- comment: {
523
- list: true,
524
- create: true,
525
- update: (u, p, d) => u.id === Number(d?.author?.id),
526
- delete: (u, p, d) => u.id === Number(d?.author?.id),
527
- report: true
528
- },
529
- client: {
530
- access: (u, p, d) => p.scopes.includes("client:access"),
531
- billing: (u, p, d) => p.scopes.includes("client:billing"),
532
- owner: (u, p, d) => p.scopes.includes("client:owner"),
533
- manager: (u, p, d) => p.scopes.includes("client:manager"),
534
- admin: (u, p, d) => p.scopes.includes("client:admin"),
535
- list: (u, p, d) => p.scopes.includes("client:access"),
536
- create: false,
537
- read: (u, p, d) => p.scopes.includes("client:access"),
538
- update: (u, p, d) => p.scopes.includes("client:manager"),
539
- delete: false
540
- },
541
- "client-user": {
542
- list: true,
543
- create: false,
544
- read: true,
545
- update: false,
546
- delete: false,
547
- verify: true
548
- },
549
- "client-content-pillar": {
550
- list: (u, p, d) => p.scopes.includes("client-content-pillar:list"),
551
- create: (u, p) => p.scopes.includes("client-content-pillar:create"),
552
- read: (u, p, d) => p.scopes.includes("client-content-pillar:read"),
553
- update: (u, p, d) => p.scopes.includes("client-content-pillar:update"),
554
- delete: false
555
- },
556
- "client-media-platform": {
557
- list: (u, p, d) => p.scopes.includes("client-media-platform:list"),
558
- create: (u, p) => p.scopes.includes("client-media-platform:create"),
559
- read: (u, p, d) => p.scopes.includes("client-media-platform:read"),
560
- update: (u, p, d) => p.scopes.includes("client-media-platform:update"),
561
- delete: false
562
- },
563
- "client-project": {
564
- list: (u, p, d) => p.scopes.includes("client-project:list"),
565
- create: (u, p) => p.scopes.includes("client-project:create"),
566
- read: (u, p, d) => p.scopes.includes("client-project:read"),
567
- update: (u, p, d) => p.scopes.includes("client-project:update"),
568
- delete: false,
569
- assign: (u, p, d) => p.scopes.includes("client-project:assign")
570
- },
571
- "client-report": {
572
- list: (u, p, d) => p.scopes.includes("client-report:list"),
573
- create: (u, p) => p.scopes.includes("client-report:create"),
574
- read: (u, p, d) => p.scopes.includes("client-report:read"),
575
- update: (u, p, d) => p.scopes.includes("client-report:update"),
576
- delete: false
577
- },
578
- "client-styleguide": {
579
- list: (u, p, d) => p.scopes.includes("client-styleguide:list"),
580
- create: false,
581
- read: (u, p, d) => p.scopes.includes("client-styleguide:read"),
582
- update: false,
583
- delete: false
584
- },
585
- "content-pillar": {
586
- list: true,
587
- create: false,
588
- read: true,
589
- update: false,
590
- delete: false
591
- },
592
- "media-platform": {
593
- list: true,
594
- create: false,
595
- read: true,
596
- update: false,
597
- delete: false
598
- },
599
- "media-content-type": {
600
- list: true,
601
- create: false,
602
- read: true,
603
- update: false,
604
- delete: false
605
- },
606
- "media-creative-format": {
607
- list: true,
608
- create: false,
609
- read: true,
610
- update: false,
611
- delete: false
612
- },
613
- "monday-workspace": {
614
- list: (u, p, d) => p.scopes.includes("monday-workspace:list"),
615
- create: false,
616
- read: (u, p, d) => p.scopes.includes("monday-workspace:read"),
617
- update: false,
618
- delete: false
619
- },
620
- "utm-tracking-link": {
621
- list: (u, p, d) => p.scopes.includes("utm-tracking-link:list"),
622
- create: (u, p) => p.scopes.includes("utm-tracking-link:create"),
623
- read: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:read"),
624
- update: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:update"),
625
- delete: (u, p, d) => d?.creator?.documentId === u.documentId || p.scopes.includes("utm-tracking-link:delete")
626
- },
627
- gcflytour: {
628
- list: true,
629
- create: false,
630
- read: true,
631
- update: false,
632
- delete: false
633
- },
634
- "gcflytour-snap": {
635
- list: true,
636
- create: false,
637
- read: true,
638
- update: false,
639
- delete: false
640
- }
641
- }
642
- };
643
- //#endregion
644
- //#region src/permissions/utilities.ts
645
- function hasPermission(user, permissions, resource, action, data) {
646
- if (!user) return false;
647
- const permission = ROLE_PERMISSIONS[user.role.type][resource]?.[action];
648
- if (permission == null) return false;
649
- if (typeof permission === "boolean") return permission;
650
- return permission(user, permissions, data);
651
- }
652
- function canAssignPermission(userRole, resource, action) {
653
- if (!userRole) return false;
654
- const permission = ROLE_PERMISSIONS[userRole][resource]?.[action];
655
- if (permission == null) return false;
656
- if (typeof permission === "boolean") return permission;
657
- if (typeof permission === "function") return true;
658
- return false;
659
- }
660
- //#endregion
661
- export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ROLE_PERMISSIONS, canAssignPermission, hasPermission };
1
+ import { t as ROLE_PERMISSIONS } from "../abac-DPd9oLKR.mjs";
2
+ import { n as CLIENT_ENTITY_PERMISSIONS, r as CLIENT_ENTITY_SCOPES, t as CLIENT_ENTITY_KEYS } from "../constants-Htf-MeCA.mjs";
3
+ export { CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, ROLE_PERMISSIONS };
@@ -1,7 +1,25 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../chunk-CKQMccvm.cjs");
3
+ const require_abac = require("../abac-BeKQtxIF.cjs");
3
4
  let valibot = require("valibot");
4
5
  valibot = require_chunk.__toESM(valibot, 1);
6
+ //#region src/utilities/permissions.ts
7
+ function hasPermission(user, permissions, resource, action, data) {
8
+ if (!user) return false;
9
+ const permission = require_abac.ROLE_PERMISSIONS[user.role.type][resource]?.[action];
10
+ if (permission == null) return false;
11
+ if (typeof permission === "boolean") return permission;
12
+ return permission(user, permissions, data);
13
+ }
14
+ function canAssignPermission(userRole, resource, action) {
15
+ if (!userRole) return false;
16
+ const permission = require_abac.ROLE_PERMISSIONS[userRole][resource]?.[action];
17
+ if (permission == null) return false;
18
+ if (typeof permission === "boolean") return permission;
19
+ if (typeof permission === "function") return true;
20
+ return false;
21
+ }
22
+ //#endregion
5
23
  //#region src/utilities/strapi.ts
6
24
  function isStrapiAttributeError(result) {
7
25
  return typeof result === "object" && result !== null && "error" in result && typeof result.error === "object" && result.error !== null && "details" in result.error && typeof result.error.details === "object" && result.error.details !== null && "errors" in result.error.details && Array.isArray(result.error.details.errors);
@@ -50,6 +68,8 @@ function isValidationFailure(result) {
50
68
  return result.error !== null || result.errors !== null;
51
69
  }
52
70
  //#endregion
71
+ exports.canAssignPermission = canAssignPermission;
72
+ exports.hasPermission = hasPermission;
53
73
  exports.isStrapiAttributeError = isStrapiAttributeError;
54
74
  exports.isStrapiStandardError = isStrapiStandardError;
55
75
  exports.isValidationFailure = isValidationFailure;
@@ -1,6 +1,13 @@
1
1
  import { a as StrapiErrorResponse, r as StrapiAttributeErrorResponse } from "../response-c6SgLvi9.cjs";
2
+ import { t as AuthorizedUserDocument } from "../index-DpYYzY_9.cjs";
3
+ import { i as Permissions, n as ClientUserDocumentStatus } from "../document-AkydjorI.cjs";
4
+ import { t as RoleType } from "../fields-BQHSYj70.cjs";
2
5
  import * as v from "valibot";
3
6
 
7
+ //#region src/utilities/permissions.d.ts
8
+ declare function hasPermission<Resource extends keyof Permissions>(user: AuthorizedUserDocument | null, permissions: ClientUserDocumentStatus, resource: Resource, action: Permissions[Resource]["action"], data?: Permissions[Resource]["dataType"]): boolean;
9
+ declare function canAssignPermission<Resource extends keyof Permissions>(userRole: RoleType, resource: Resource, action: Permissions[Resource]["action"]): boolean;
10
+ //#endregion
4
11
  //#region src/utilities/strapi.d.ts
5
12
  declare function isStrapiAttributeError<T>(result: unknown): result is StrapiAttributeErrorResponse<T>;
6
13
  declare function isStrapiStandardError<T>(result: unknown): result is StrapiErrorResponse<T>;
@@ -21,4 +28,4 @@ declare function validateAndClean<T>(schema: v.BaseSchema<T, Partial<T>, v.BaseI
21
28
  declare function isValidationSuccess<T>(result: ValidateAndCleanResult<T>): result is ValidateAndCleanSuccess<T>;
22
29
  declare function isValidationFailure<T>(result: ValidateAndCleanResult<T>): result is ValidateAndCleanFailure;
23
30
  //#endregion
24
- export { isStrapiAttributeError, isStrapiStandardError, isValidationFailure, isValidationSuccess, validateAndClean };
31
+ export { canAssignPermission, hasPermission, isStrapiAttributeError, isStrapiStandardError, isValidationFailure, isValidationSuccess, validateAndClean };