payload 3.0.0-beta.133 → 3.0.0-beta.135
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/admin/forms/Description.d.ts +5 -2
- package/dist/admin/forms/Description.d.ts.map +1 -1
- package/dist/admin/forms/Description.js.map +1 -1
- package/dist/admin/forms/Field.d.ts +7 -1
- package/dist/admin/forms/Field.d.ts.map +1 -1
- package/dist/admin/forms/Field.js.map +1 -1
- package/dist/admin/forms/Form.d.ts +5 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js.map +1 -1
- package/dist/admin/views/types.d.ts +4 -10
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/types.d.ts +9 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/bin/generateImportMap/getFromImportMap.d.ts +9 -0
- package/dist/bin/generateImportMap/getFromImportMap.d.ts.map +1 -0
- package/dist/bin/generateImportMap/getFromImportMap.js +18 -0
- package/dist/bin/generateImportMap/getFromImportMap.js.map +1 -0
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.js +20 -1
- package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
- package/dist/bin/generateImportMap/parsePayloadComponent.d.ts.map +1 -1
- package/dist/bin/generateImportMap/parsePayloadComponent.js.map +1 -1
- package/dist/collections/config/client.d.ts +5 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +6 -4
- package/dist/collections/config/client.js.map +1 -1
- package/dist/config/client.d.ts +3 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +5 -3
- package/dist/config/client.js.map +1 -1
- package/dist/config/types.d.ts +2 -2
- package/dist/config/types.js.map +1 -1
- package/dist/exports/shared.d.ts +1 -0
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +1 -0
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/config/client.d.ts +5 -2
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +23 -28
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/types.d.ts +79 -15
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +12 -0
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/globals/config/client.d.ts +5 -2
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/client.js +6 -4
- package/dist/globals/config/client.js.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -1
- package/dist/index.js.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.js +5 -2
- package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +4 -2
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.js +8 -0
- package/dist/utilities/deepCopyObject.js.map +1 -1
- package/dist/utilities/sanitizePermissions.js +1 -1
- package/dist/utilities/sanitizePermissions.js.map +1 -1
- package/dist/utilities/sanitizePermissions.spec.js +134 -1
- package/dist/utilities/sanitizePermissions.spec.js.map +1 -1
- package/package.json +4 -2
|
@@ -146,6 +146,15 @@ import { recursivelySanitizePermissions, sanitizePermissions } from './sanitizeP
|
|
|
146
146
|
permission: true
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
+
},
|
|
150
|
+
create: {
|
|
151
|
+
permission: true
|
|
152
|
+
},
|
|
153
|
+
read: {
|
|
154
|
+
permission: true
|
|
155
|
+
},
|
|
156
|
+
update: {
|
|
157
|
+
permission: true
|
|
149
158
|
}
|
|
150
159
|
}
|
|
151
160
|
},
|
|
@@ -222,6 +231,15 @@ import { recursivelySanitizePermissions, sanitizePermissions } from './sanitizeP
|
|
|
222
231
|
permission: false
|
|
223
232
|
}
|
|
224
233
|
}
|
|
234
|
+
},
|
|
235
|
+
create: {
|
|
236
|
+
permission: true
|
|
237
|
+
},
|
|
238
|
+
read: {
|
|
239
|
+
permission: true
|
|
240
|
+
},
|
|
241
|
+
update: {
|
|
242
|
+
permission: true
|
|
225
243
|
}
|
|
226
244
|
}
|
|
227
245
|
},
|
|
@@ -251,7 +269,10 @@ import { recursivelySanitizePermissions, sanitizePermissions } from './sanitizeP
|
|
|
251
269
|
blockName: {
|
|
252
270
|
read: true
|
|
253
271
|
}
|
|
254
|
-
}
|
|
272
|
+
},
|
|
273
|
+
create: true,
|
|
274
|
+
update: true,
|
|
275
|
+
read: true
|
|
255
276
|
}
|
|
256
277
|
},
|
|
257
278
|
read: true,
|
|
@@ -330,6 +351,118 @@ import { recursivelySanitizePermissions, sanitizePermissions } from './sanitizeP
|
|
|
330
351
|
}
|
|
331
352
|
});
|
|
332
353
|
});
|
|
354
|
+
it('should sanitize blocks with subfield named blocks', ()=>{
|
|
355
|
+
const permissions = {
|
|
356
|
+
fields: {
|
|
357
|
+
content: {
|
|
358
|
+
create: {
|
|
359
|
+
permission: true
|
|
360
|
+
},
|
|
361
|
+
blocks: {
|
|
362
|
+
test: {
|
|
363
|
+
fields: {
|
|
364
|
+
blocks: {
|
|
365
|
+
create: {
|
|
366
|
+
permission: true
|
|
367
|
+
},
|
|
368
|
+
fields: {
|
|
369
|
+
arrayText: {
|
|
370
|
+
create: {
|
|
371
|
+
permission: true
|
|
372
|
+
},
|
|
373
|
+
read: {
|
|
374
|
+
permission: true
|
|
375
|
+
},
|
|
376
|
+
update: {
|
|
377
|
+
permission: true
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
id: {
|
|
381
|
+
create: {
|
|
382
|
+
permission: true
|
|
383
|
+
},
|
|
384
|
+
read: {
|
|
385
|
+
permission: true
|
|
386
|
+
},
|
|
387
|
+
update: {
|
|
388
|
+
permission: true
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
read: {
|
|
393
|
+
permission: true
|
|
394
|
+
},
|
|
395
|
+
update: {
|
|
396
|
+
permission: true
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
id: {
|
|
400
|
+
create: {
|
|
401
|
+
permission: true
|
|
402
|
+
},
|
|
403
|
+
read: {
|
|
404
|
+
permission: true
|
|
405
|
+
},
|
|
406
|
+
update: {
|
|
407
|
+
permission: true
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
blockName: {
|
|
411
|
+
create: {
|
|
412
|
+
permission: true
|
|
413
|
+
},
|
|
414
|
+
read: {
|
|
415
|
+
permission: true
|
|
416
|
+
},
|
|
417
|
+
update: {
|
|
418
|
+
permission: true
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
create: {
|
|
423
|
+
permission: true
|
|
424
|
+
},
|
|
425
|
+
read: {
|
|
426
|
+
permission: true
|
|
427
|
+
},
|
|
428
|
+
update: {
|
|
429
|
+
permission: true
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
read: {
|
|
434
|
+
permission: true
|
|
435
|
+
},
|
|
436
|
+
update: {
|
|
437
|
+
permission: true
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
create: {
|
|
442
|
+
permission: true
|
|
443
|
+
},
|
|
444
|
+
read: {
|
|
445
|
+
permission: true
|
|
446
|
+
},
|
|
447
|
+
update: {
|
|
448
|
+
permission: true
|
|
449
|
+
},
|
|
450
|
+
delete: {
|
|
451
|
+
permission: false
|
|
452
|
+
},
|
|
453
|
+
readVersions: {
|
|
454
|
+
permission: true
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
recursivelySanitizePermissions(permissions);
|
|
458
|
+
expect(permissions).toStrictEqual({
|
|
459
|
+
fields: true,
|
|
460
|
+
create: true,
|
|
461
|
+
read: true,
|
|
462
|
+
update: true,
|
|
463
|
+
readVersions: true
|
|
464
|
+
});
|
|
465
|
+
});
|
|
333
466
|
it('should sanitize a collection with nested fields in richText', ()=>{
|
|
334
467
|
const permissions = {
|
|
335
468
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/sanitizePermissions.spec.ts"],"sourcesContent":["import type { CollectionPermission, Permissions } from '../auth/types.js'\n\nimport { recursivelySanitizePermissions, sanitizePermissions } from './sanitizePermissions.js'\n\n/* eslint-disable perfectionist/sort-objects */\ndescribe('recursivelySanitizePermissions', () => {\n it('should sanitize a basic collection', () => {\n const permissions: CollectionPermission = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with where queries', () => {\n const permissions: CollectionPermission = {\n fields: {},\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: true,\n update: true,\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in blocks', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n fields: true,\n read: true,\n update: true,\n })\n })\n\n it('should sanitize a collection with nested fields in blocks without truncating', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: false,\n },\n read: {\n permission: true,\n },\n update: {\n permission: false,\n },\n },\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n read: true,\n update: true,\n fields: {\n layout: {\n create: true,\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: true,\n id: true,\n blockName: {\n read: true,\n },\n },\n },\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in arrays', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n arrayOfText: {\n create: {\n permission: true,\n },\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n hiddenText: {\n create: {\n permission: true,\n },\n read: {\n permission: false,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: {\n arrayOfText: {\n create: true,\n fields: {\n text: true,\n hiddenText: {\n create: true,\n update: true,\n },\n id: true,\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in richText', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n richText: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n })\n })\n})\n\ndescribe('sanitizePermissions', () => {\n it('should return nothing for unauthenticated user', () => {\n const permissions: Permissions = {\n canAccessAdmin: false,\n collections: {\n 'payload-preferences': {\n fields: {\n user: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n delete: {\n permission: false,\n },\n },\n },\n globals: {\n menu: {\n fields: {\n globalText: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n }\n\n const sanitizedPermissions = sanitizePermissions(permissions)\n\n expect(sanitizedPermissions).toStrictEqual({})\n })\n})\n"],"names":["recursivelySanitizePermissions","sanitizePermissions","describe","it","permissions","fields","text","create","permission","read","update","delete","readVersions","expect","toStrictEqual","where","user","equals","layout","blocks","blockWithTitle","blockTitle","id","blockName","arrayOfText","hiddenText","richText","canAccessAdmin","collections","globals","menu","globalText","sanitizedPermissions"],"mappings":"AAEA,SAASA,8BAA8B,EAAEC,mBAAmB,QAAQ,2BAA0B;AAE9F,6CAA6C,GAC7CC,SAAS,kCAAkC;IACzCC,GAAG,sCAAsC;QACvC,MAAMC,cAAoC;YACxCC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;YACAD,QAAQ;gBACNC,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;YACd;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;YACRE,QAAQ;YACRE,MAAM;YACNC,QAAQ;YACRE,cAAc;QAChB;IACF;IAEAT,GAAG,mDAAmD;QACpD,MAAMC,cAAoC;YACxCC,QAAQ,CAAC;YACTE,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;QAEAjB,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;YACNC,QAAQ;YACRE,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;IACF;IAEAd,GAAG,6DAA6D;QAC9D,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRN,QAAQ;YACRI,MAAM;YACNC,QAAQ;QACV;IACF;IAEAP,GAAG,gFAAgF;QACjF,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRF,MAAM;YACNC,QAAQ;YACRL,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;oBACRY,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;gCACZC,IAAI;gCACJC,WAAW;oCACTd,MAAM;gCACR;4BACF;wBACF;oBACF;oBACAA,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,6DAA6D;QAC9D,MAAMC,cAA6C;YACjDC,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;wBACNC,YAAY;oBACd;oBACAH,QAAQ;wBACNC,MAAM;4BACJC,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAiB,YAAY;4BACVlB,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAc,IAAI;4BACFf,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;oBACRF,QAAQ;wBACNC,MAAM;wBACNmB,YAAY;4BACVlB,QAAQ;4BACRG,QAAQ;wBACV;wBACAY,IAAI;oBACN;oBACAb,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,+DAA+D;QAChE,MAAMC,cAA6C;YACjDC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;gBACAkB,UAAU;oBACRnB,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;QACV;IACF;AACF;AAEAH,SAAS,uBAAuB;IAC9BC,GAAG,kDAAkD;QACnD,MAAMC,cAA2B;YAC/BuB,gBAAgB;YAChBC,aAAa;gBACX,uBAAuB;oBACrBvB,QAAQ;wBACNW,MAAM;4BACJT,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAD,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;oBACAG,QAAQ;wBACNH,YAAY;oBACd;gBACF;YACF;YACAqB,SAAS;gBACPC,MAAM;oBACJzB,QAAQ;wBACN0B,YAAY;4BACVxB,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEA,MAAMwB,uBAAuB/B,oBAAoBG;QAEjDS,OAAOmB,sBAAsBlB,aAAa,CAAC,CAAC;IAC9C;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/sanitizePermissions.spec.ts"],"sourcesContent":["import type { CollectionPermission, Permissions } from '../auth/types.js'\n\nimport { recursivelySanitizePermissions, sanitizePermissions } from './sanitizePermissions.js'\n\n/* eslint-disable perfectionist/sort-objects */\ndescribe('recursivelySanitizePermissions', () => {\n it('should sanitize a basic collection', () => {\n const permissions: CollectionPermission = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with where queries', () => {\n const permissions: CollectionPermission = {\n fields: {},\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: {\n permission: true,\n where: {\n user: {\n equals: 2,\n },\n },\n },\n read: true,\n update: true,\n readVersions: {\n permission: true,\n where: {\n user: {\n equals: 1,\n },\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in blocks', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n fields: true,\n read: true,\n update: true,\n })\n })\n\n it('should sanitize a collection with nested fields in blocks without truncating', () => {\n const permissions: CollectionPermission = {\n create: {\n permission: true,\n },\n delete: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n fields: {\n layout: {\n create: {\n permission: true,\n },\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n blockName: {\n create: {\n permission: false,\n },\n read: {\n permission: true,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n create: true,\n delete: true,\n read: true,\n update: true,\n fields: {\n layout: {\n create: true,\n blocks: {\n blockWithTitle: {\n fields: {\n blockTitle: true,\n id: true,\n blockName: {\n read: true,\n },\n },\n create: true,\n update: true,\n read: true,\n },\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize a collection with nested fields in arrays', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n arrayOfText: {\n create: {\n permission: true,\n },\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n hiddenText: {\n create: {\n permission: true,\n },\n read: {\n permission: false,\n },\n update: {\n permission: true,\n },\n },\n id: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: {\n arrayOfText: {\n create: true,\n fields: {\n text: true,\n hiddenText: {\n create: true,\n update: true,\n },\n id: true,\n },\n read: true,\n update: true,\n },\n },\n })\n })\n\n it('should sanitize blocks with subfield named blocks', () => {\n const permissions: CollectionPermission = {\n fields: {\n content: {\n create: { permission: true },\n blocks: {\n test: {\n fields: {\n blocks: {\n create: { permission: true },\n fields: {\n arrayText: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n id: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n read: { permission: true },\n update: { permission: true },\n },\n id: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n blockName: {\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n create: { permission: true },\n read: { permission: true },\n update: { permission: true },\n },\n },\n read: { permission: true },\n update: { permission: true },\n },\n },\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n delete: {\n permission: false,\n },\n readVersions: {\n permission: true,\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n create: true,\n read: true,\n update: true,\n readVersions: true,\n })\n })\n\n it('should sanitize a collection with nested fields in richText', () => {\n const permissions: Partial<CollectionPermission> = {\n fields: {\n text: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n richText: {\n create: {\n permission: true,\n },\n read: {\n permission: true,\n },\n update: {\n permission: true,\n },\n },\n },\n }\n\n recursivelySanitizePermissions(permissions)\n\n expect(permissions).toStrictEqual({\n fields: true,\n })\n })\n})\n\ndescribe('sanitizePermissions', () => {\n it('should return nothing for unauthenticated user', () => {\n const permissions: Permissions = {\n canAccessAdmin: false,\n collections: {\n 'payload-preferences': {\n fields: {\n user: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n delete: {\n permission: false,\n },\n },\n },\n globals: {\n menu: {\n fields: {\n globalText: {\n create: {\n permission: false,\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n read: {\n permission: false,\n },\n update: {\n permission: false,\n },\n },\n },\n }\n\n const sanitizedPermissions = sanitizePermissions(permissions)\n\n expect(sanitizedPermissions).toStrictEqual({})\n })\n})\n"],"names":["recursivelySanitizePermissions","sanitizePermissions","describe","it","permissions","fields","text","create","permission","read","update","delete","readVersions","expect","toStrictEqual","where","user","equals","layout","blocks","blockWithTitle","blockTitle","id","blockName","arrayOfText","hiddenText","content","test","arrayText","richText","canAccessAdmin","collections","globals","menu","globalText","sanitizedPermissions"],"mappings":"AAEA,SAASA,8BAA8B,EAAEC,mBAAmB,QAAQ,2BAA0B;AAE9F,6CAA6C,GAC7CC,SAAS,kCAAkC;IACzCC,GAAG,sCAAsC;QACvC,MAAMC,cAAoC;YACxCC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;YACAD,QAAQ;gBACNC,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;YACd;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;YACRE,QAAQ;YACRE,MAAM;YACNC,QAAQ;YACRE,cAAc;QAChB;IACF;IAEAT,GAAG,mDAAmD;QACpD,MAAMC,cAAoC;YACxCC,QAAQ,CAAC;YACTE,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;QAEAjB,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;gBACNC,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;YACAR,MAAM;YACNC,QAAQ;YACRE,cAAc;gBACZJ,YAAY;gBACZO,OAAO;oBACLC,MAAM;wBACJC,QAAQ;oBACV;gBACF;YACF;QACF;IACF;IAEAd,GAAG,6DAA6D;QAC9D,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;4BACAD,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRN,QAAQ;YACRI,MAAM;YACNC,QAAQ;QACV;IACF;IAEAP,GAAG,gFAAgF;QACjF,MAAMC,cAAoC;YACxCG,QAAQ;gBACNC,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAH,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;wBACNC,YAAY;oBACd;oBACAW,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;oCACVd,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAc,IAAI;oCACFf,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;gCACAe,WAAW;oCACThB,QAAQ;wCACNC,YAAY;oCACd;oCACAC,MAAM;wCACJD,YAAY;oCACd;oCACAE,QAAQ;wCACNF,YAAY;oCACd;gCACF;4BACF;4BACAD,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCP,QAAQ;YACRI,QAAQ;YACRF,MAAM;YACNC,QAAQ;YACRL,QAAQ;gBACNa,QAAQ;oBACNX,QAAQ;oBACRY,QAAQ;wBACNC,gBAAgB;4BACdf,QAAQ;gCACNgB,YAAY;gCACZC,IAAI;gCACJC,WAAW;oCACTd,MAAM;gCACR;4BACF;4BACAF,QAAQ;4BACRG,QAAQ;4BACRD,MAAM;wBACR;oBACF;oBACAA,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,6DAA6D;QAC9D,MAAMC,cAA6C;YACjDC,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;wBACNC,YAAY;oBACd;oBACAH,QAAQ;wBACNC,MAAM;4BACJC,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAiB,YAAY;4BACVlB,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;wBACAc,IAAI;4BACFf,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;gBACNmB,aAAa;oBACXjB,QAAQ;oBACRF,QAAQ;wBACNC,MAAM;wBACNmB,YAAY;4BACVlB,QAAQ;4BACRG,QAAQ;wBACV;wBACAY,IAAI;oBACN;oBACAb,MAAM;oBACNC,QAAQ;gBACV;YACF;QACF;IACF;IAEAP,GAAG,qDAAqD;QACtD,MAAMC,cAAoC;YACxCC,QAAQ;gBACNqB,SAAS;oBACPnB,QAAQ;wBAAEC,YAAY;oBAAK;oBAC3BW,QAAQ;wBACNQ,MAAM;4BACJtB,QAAQ;gCACNc,QAAQ;oCACNZ,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BH,QAAQ;wCACNuB,WAAW;4CACTrB,QAAQ;gDAAEC,YAAY;4CAAK;4CAC3BC,MAAM;gDAAED,YAAY;4CAAK;4CACzBE,QAAQ;gDAAEF,YAAY;4CAAK;wCAC7B;wCACAc,IAAI;4CACFf,QAAQ;gDAAEC,YAAY;4CAAK;4CAC3BC,MAAM;gDAAED,YAAY;4CAAK;4CACzBE,QAAQ;gDAAEF,YAAY;4CAAK;wCAC7B;oCACF;oCACAC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;gCACAc,IAAI;oCACFf,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;gCACAe,WAAW;oCACThB,QAAQ;wCAAEC,YAAY;oCAAK;oCAC3BC,MAAM;wCAAED,YAAY;oCAAK;oCACzBE,QAAQ;wCAAEF,YAAY;oCAAK;gCAC7B;4BACF;4BACAD,QAAQ;gCAAEC,YAAY;4BAAK;4BAC3BC,MAAM;gCAAED,YAAY;4BAAK;4BACzBE,QAAQ;gCAAEF,YAAY;4BAAK;wBAC7B;oBACF;oBACAC,MAAM;wBAAED,YAAY;oBAAK;oBACzBE,QAAQ;wBAAEF,YAAY;oBAAK;gBAC7B;YACF;YACAD,QAAQ;gBACNC,YAAY;YACd;YACAC,MAAM;gBACJD,YAAY;YACd;YACAE,QAAQ;gBACNF,YAAY;YACd;YACAG,QAAQ;gBACNH,YAAY;YACd;YACAI,cAAc;gBACZJ,YAAY;YACd;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;YACRE,QAAQ;YACRE,MAAM;YACNC,QAAQ;YACRE,cAAc;QAChB;IACF;IAEAT,GAAG,+DAA+D;QAChE,MAAMC,cAA6C;YACjDC,QAAQ;gBACNC,MAAM;oBACJC,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;gBACAqB,UAAU;oBACRtB,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEAR,+BAA+BI;QAE/BS,OAAOT,aAAaU,aAAa,CAAC;YAChCT,QAAQ;QACV;IACF;AACF;AAEAH,SAAS,uBAAuB;IAC9BC,GAAG,kDAAkD;QACnD,MAAMC,cAA2B;YAC/B0B,gBAAgB;YAChBC,aAAa;gBACX,uBAAuB;oBACrB1B,QAAQ;wBACNW,MAAM;4BACJT,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAD,QAAQ;wBACNC,YAAY;oBACd;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;oBACAG,QAAQ;wBACNH,YAAY;oBACd;gBACF;YACF;YACAwB,SAAS;gBACPC,MAAM;oBACJ5B,QAAQ;wBACN6B,YAAY;4BACV3B,QAAQ;gCACNC,YAAY;4BACd;4BACAC,MAAM;gCACJD,YAAY;4BACd;4BACAE,QAAQ;gCACNF,YAAY;4BACd;wBACF;oBACF;oBACAC,MAAM;wBACJD,YAAY;oBACd;oBACAE,QAAQ;wBACNF,YAAY;oBACd;gBACF;YACF;QACF;QAEA,MAAM2B,uBAAuBlC,oBAAoBG;QAEjDS,OAAOsB,sBAAsBrB,aAAa,CAAC,CAAC;IAC9C;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.135",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -96,7 +96,8 @@
|
|
|
96
96
|
"ts-essentials": "10.0.3",
|
|
97
97
|
"tsx": "4.19.2",
|
|
98
98
|
"uuid": "10.0.0",
|
|
99
|
-
"
|
|
99
|
+
"ws": "^8.16.0",
|
|
100
|
+
"@payloadcms/translations": "3.0.0-beta.135"
|
|
100
101
|
},
|
|
101
102
|
"devDependencies": {
|
|
102
103
|
"@hyrious/esbuild-plugin-commonjs": "^0.2.4",
|
|
@@ -106,6 +107,7 @@
|
|
|
106
107
|
"@types/pluralize": "0.0.33",
|
|
107
108
|
"@types/react-datepicker": "6.2.0",
|
|
108
109
|
"@types/uuid": "10.0.0",
|
|
110
|
+
"@types/ws": "^8.5.10",
|
|
109
111
|
"copyfiles": "2.4.1",
|
|
110
112
|
"cross-env": "7.0.3",
|
|
111
113
|
"esbuild": "0.23.1",
|