@payloadcms/plugin-multi-tenant 3.24.0-canary.d22403c → 3.24.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addCollectionAccess.d.ts","sourceRoot":"","sources":["../../src/utilities/addCollectionAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"addCollectionAccess.d.ts","sourceRoot":"","sources":["../../src/utilities/addCollectionAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAiB1D,KAAK,IAAI,CAAC,UAAU,IAAI;IACtB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,yBAAyB,EAAE,QAAQ,CACjC,uBAAuB,CAAC,UAAU,CAAC,CACpC,CAAC,2BAA2B,CAAC,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,yDAI3C,IAAI,CAAC,UAAU,CAAC,KAAG,IAWrB,CAAA"}
|
|
@@ -11,20 +11,16 @@ const collectionAccessKeys = [
|
|
|
11
11
|
* Adds tenant access constraint to collection
|
|
12
12
|
* - constrains access a users assigned tenants
|
|
13
13
|
*/ export const addCollectionAccess = ({ collection, fieldName, userHasAccessToAllTenants })=>{
|
|
14
|
-
|
|
15
|
-
collection.access = {};
|
|
16
|
-
}
|
|
17
|
-
collectionAccessKeys.reduce((acc, key)=>{
|
|
14
|
+
collectionAccessKeys.forEach((key)=>{
|
|
18
15
|
if (!collection.access) {
|
|
19
|
-
|
|
16
|
+
collection.access = {};
|
|
20
17
|
}
|
|
21
18
|
collection.access[key] = withTenantAccess({
|
|
22
19
|
accessFunction: collection.access?.[key],
|
|
23
|
-
fieldName,
|
|
20
|
+
fieldName: key === 'readVersions' ? `version.${fieldName}` : fieldName,
|
|
24
21
|
userHasAccessToAllTenants
|
|
25
22
|
});
|
|
26
|
-
|
|
27
|
-
}, {});
|
|
23
|
+
});
|
|
28
24
|
};
|
|
29
25
|
|
|
30
26
|
//# sourceMappingURL=addCollectionAccess.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/addCollectionAccess.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/addCollectionAccess.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport type { MultiTenantPluginConfig } from '../types.js'\n\nimport { withTenantAccess } from './withTenantAccess.js'\n\ntype AllAccessKeys<T extends readonly string[]> = T[number] extends keyof Omit<\n Required<CollectionConfig>['access'],\n 'admin'\n>\n ? keyof Omit<Required<CollectionConfig>['access'], 'admin'> extends T[number]\n ? T\n : never\n : never\n\nconst collectionAccessKeys: AllAccessKeys<\n ['create', 'read', 'update', 'delete', 'readVersions', 'unlock']\n> = ['create', 'read', 'update', 'delete', 'readVersions', 'unlock'] as const\n\ntype Args<ConfigType> = {\n collection: CollectionConfig\n fieldName: string\n userHasAccessToAllTenants: Required<\n MultiTenantPluginConfig<ConfigType>\n >['userHasAccessToAllTenants']\n}\n\n/**\n * Adds tenant access constraint to collection\n * - constrains access a users assigned tenants\n */\nexport const addCollectionAccess = <ConfigType>({\n collection,\n fieldName,\n userHasAccessToAllTenants,\n}: Args<ConfigType>): void => {\n collectionAccessKeys.forEach((key) => {\n if (!collection.access) {\n collection.access = {}\n }\n collection.access[key] = withTenantAccess<ConfigType>({\n accessFunction: collection.access?.[key],\n fieldName: key === 'readVersions' ? `version.${fieldName}` : fieldName,\n userHasAccessToAllTenants,\n })\n })\n}\n"],"names":["withTenantAccess","collectionAccessKeys","addCollectionAccess","collection","fieldName","userHasAccessToAllTenants","forEach","key","access","accessFunction"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,wBAAuB;AAWxD,MAAMC,uBAEF;IAAC;IAAU;IAAQ;IAAU;IAAU;IAAgB;CAAS;AAUpE;;;CAGC,GACD,OAAO,MAAMC,sBAAsB,CAAa,EAC9CC,UAAU,EACVC,SAAS,EACTC,yBAAyB,EACR;IACjBJ,qBAAqBK,OAAO,CAAC,CAACC;QAC5B,IAAI,CAACJ,WAAWK,MAAM,EAAE;YACtBL,WAAWK,MAAM,GAAG,CAAC;QACvB;QACAL,WAAWK,MAAM,CAACD,IAAI,GAAGP,iBAA6B;YACpDS,gBAAgBN,WAAWK,MAAM,EAAE,CAACD,IAAI;YACxCH,WAAWG,QAAQ,iBAAiB,CAAC,QAAQ,EAAEH,WAAW,GAAGA;YAC7DC;QACF;IACF;AACF,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-multi-tenant",
|
|
3
|
-
"version": "3.24.0
|
|
3
|
+
"version": "3.24.0",
|
|
4
4
|
"description": "Multi Tenant plugin for Payload",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"payload",
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
],
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@payloadcms/eslint-config": "3.9.0",
|
|
70
|
-
"@payloadcms/ui": "3.24.0
|
|
71
|
-
"payload": "3.24.0
|
|
70
|
+
"@payloadcms/ui": "3.24.0",
|
|
71
|
+
"payload": "3.24.0"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"next": "^15.0.3",
|
|
75
|
-
"@payloadcms/ui": "3.24.0
|
|
76
|
-
"payload": "3.24.0
|
|
75
|
+
"@payloadcms/ui": "3.24.0",
|
|
76
|
+
"payload": "3.24.0"
|
|
77
77
|
},
|
|
78
78
|
"homepage:": "https://payloadcms.com",
|
|
79
79
|
"scripts": {
|