@payloadcms/plugin-multi-tenant 3.68.0-canary.2 → 3.68.0-canary.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTenantOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/getTenantOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,eAAO,MAAM,gBAAgB,yIAQ1B;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,SAAS,CAAA;IACf,yBAAyB,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAA;CAC/F,KAAG,OAAO,CAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"getTenantOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/getTenantOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,eAAO,MAAM,gBAAgB,yIAQ1B;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,SAAS,CAAA;IACf,yBAAyB,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAA;CAC/F,KAAG,OAAO,CAAC,YAAY,EAAE,CA+CzB,CAAA"}
|
|
@@ -3,60 +3,41 @@ export const getTenantOptions = async ({ payload, tenantsArrayFieldName, tenants
|
|
|
3
3
|
if (!user) {
|
|
4
4
|
return tenantOptions;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
value: doc.id
|
|
26
|
-
}));
|
|
27
|
-
} else {
|
|
28
|
-
const tenantsToPopulate = [];
|
|
29
|
-
(user[tenantsArrayFieldName] || []).map((tenantRow)=>{
|
|
30
|
-
const tenantField = tenantRow[tenantsArrayTenantFieldName] // tenants.tenant
|
|
31
|
-
;
|
|
32
|
-
if (typeof tenantField === 'string' || typeof tenantField === 'number') {
|
|
33
|
-
tenantsToPopulate.push(tenantField);
|
|
34
|
-
} else if (tenantField && typeof tenantField === 'object') {
|
|
35
|
-
tenantOptions.push({
|
|
36
|
-
label: String(tenantField[useAsTitle]),
|
|
37
|
-
value: tenantField.id
|
|
38
|
-
});
|
|
6
|
+
const isOrderable = payload.collections[tenantsCollectionSlug]?.config?.orderable || false;
|
|
7
|
+
const userTenantIds = !userHasAccessToAllTenants(user) ? (user[tenantsArrayFieldName] || []).map((tenantRow)=>{
|
|
8
|
+
const tenantField = tenantRow[tenantsArrayTenantFieldName];
|
|
9
|
+
if (typeof tenantField === 'string' || typeof tenantField === 'number') {
|
|
10
|
+
return tenantField;
|
|
11
|
+
}
|
|
12
|
+
if (tenantField && typeof tenantField === 'object' && 'id' in tenantField) {
|
|
13
|
+
return tenantField.id;
|
|
14
|
+
}
|
|
15
|
+
}) : undefined;
|
|
16
|
+
const tenants = await payload.find({
|
|
17
|
+
collection: tenantsCollectionSlug,
|
|
18
|
+
depth: 0,
|
|
19
|
+
limit: 0,
|
|
20
|
+
overrideAccess: false,
|
|
21
|
+
select: {
|
|
22
|
+
[useAsTitle]: true,
|
|
23
|
+
...isOrderable && {
|
|
24
|
+
_order: true
|
|
39
25
|
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
user,
|
|
48
|
-
where: {
|
|
49
|
-
id: {
|
|
50
|
-
in: tenantsToPopulate
|
|
51
|
-
}
|
|
26
|
+
},
|
|
27
|
+
sort: isOrderable ? '_order' : useAsTitle,
|
|
28
|
+
user,
|
|
29
|
+
...userTenantIds && {
|
|
30
|
+
where: {
|
|
31
|
+
id: {
|
|
32
|
+
in: userTenantIds
|
|
52
33
|
}
|
|
53
|
-
}
|
|
54
|
-
tenantOptions = populatedTenants.docs.map((doc)=>({
|
|
55
|
-
label: String(doc[useAsTitle]),
|
|
56
|
-
value: doc.id
|
|
57
|
-
}));
|
|
34
|
+
}
|
|
58
35
|
}
|
|
59
|
-
}
|
|
36
|
+
});
|
|
37
|
+
tenantOptions = tenants.docs.map((doc)=>({
|
|
38
|
+
label: String(doc[useAsTitle]),
|
|
39
|
+
value: doc.id
|
|
40
|
+
}));
|
|
60
41
|
return tenantOptions;
|
|
61
42
|
};
|
|
62
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getTenantOptions.ts"],"sourcesContent":["import type { OptionObject, Payload, TypedUser } from 'payload'\n\nimport type { MultiTenantPluginConfig } from '../types.js'\n\nexport const getTenantOptions = async ({\n payload,\n tenantsArrayFieldName,\n tenantsArrayTenantFieldName,\n tenantsCollectionSlug,\n useAsTitle,\n user,\n userHasAccessToAllTenants,\n}: {\n payload: Payload\n tenantsArrayFieldName: string\n tenantsArrayTenantFieldName: string\n tenantsCollectionSlug: string\n useAsTitle: string\n user: TypedUser\n userHasAccessToAllTenants: Required<MultiTenantPluginConfig<any>>['userHasAccessToAllTenants']\n}): Promise<OptionObject[]> => {\n let tenantOptions: OptionObject[] = []\n\n if (!user) {\n return tenantOptions\n }\n\n
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getTenantOptions.ts"],"sourcesContent":["import type { OptionObject, Payload, TypedUser } from 'payload'\n\nimport type { MultiTenantPluginConfig } from '../types.js'\n\nexport const getTenantOptions = async ({\n payload,\n tenantsArrayFieldName,\n tenantsArrayTenantFieldName,\n tenantsCollectionSlug,\n useAsTitle,\n user,\n userHasAccessToAllTenants,\n}: {\n payload: Payload\n tenantsArrayFieldName: string\n tenantsArrayTenantFieldName: string\n tenantsCollectionSlug: string\n useAsTitle: string\n user: TypedUser\n userHasAccessToAllTenants: Required<MultiTenantPluginConfig<any>>['userHasAccessToAllTenants']\n}): Promise<OptionObject[]> => {\n let tenantOptions: OptionObject[] = []\n\n if (!user) {\n return tenantOptions\n }\n\n const isOrderable = payload.collections[tenantsCollectionSlug]?.config?.orderable || false\n\n const userTenantIds = !userHasAccessToAllTenants(user)\n ? ((user[tenantsArrayFieldName] as { [key: string]: unknown }[]) || []).map((tenantRow) => {\n const tenantField = tenantRow[tenantsArrayTenantFieldName]\n if (typeof tenantField === 'string' || typeof tenantField === 'number') {\n return tenantField\n }\n if (tenantField && typeof tenantField === 'object' && 'id' in tenantField) {\n return tenantField.id as number | string\n }\n })\n : undefined\n\n const tenants = await payload.find({\n collection: tenantsCollectionSlug,\n depth: 0,\n limit: 0,\n overrideAccess: false,\n select: {\n [useAsTitle]: true,\n ...(isOrderable && { _order: true }),\n },\n sort: isOrderable ? '_order' : useAsTitle,\n user,\n ...(userTenantIds && {\n where: {\n id: {\n in: userTenantIds,\n },\n },\n }),\n })\n\n tenantOptions = tenants.docs.map((doc) => ({\n label: String(doc[useAsTitle as 'id']),\n value: doc.id as string,\n }))\n\n return tenantOptions\n}\n"],"names":["getTenantOptions","payload","tenantsArrayFieldName","tenantsArrayTenantFieldName","tenantsCollectionSlug","useAsTitle","user","userHasAccessToAllTenants","tenantOptions","isOrderable","collections","config","orderable","userTenantIds","map","tenantRow","tenantField","id","undefined","tenants","find","collection","depth","limit","overrideAccess","select","_order","sort","where","in","docs","doc","label","String","value"],"mappings":"AAIA,OAAO,MAAMA,mBAAmB,OAAO,EACrCC,OAAO,EACPC,qBAAqB,EACrBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,UAAU,EACVC,IAAI,EACJC,yBAAyB,EAS1B;IACC,IAAIC,gBAAgC,EAAE;IAEtC,IAAI,CAACF,MAAM;QACT,OAAOE;IACT;IAEA,MAAMC,cAAcR,QAAQS,WAAW,CAACN,sBAAsB,EAAEO,QAAQC,aAAa;IAErF,MAAMC,gBAAgB,CAACN,0BAA0BD,QAC7C,AAAC,CAAA,AAACA,IAAI,CAACJ,sBAAsB,IAAqC,EAAE,AAAD,EAAGY,GAAG,CAAC,CAACC;QACzE,MAAMC,cAAcD,SAAS,CAACZ,4BAA4B;QAC1D,IAAI,OAAOa,gBAAgB,YAAY,OAAOA,gBAAgB,UAAU;YACtE,OAAOA;QACT;QACA,IAAIA,eAAe,OAAOA,gBAAgB,YAAY,QAAQA,aAAa;YACzE,OAAOA,YAAYC,EAAE;QACvB;IACF,KACAC;IAEJ,MAAMC,UAAU,MAAMlB,QAAQmB,IAAI,CAAC;QACjCC,YAAYjB;QACZkB,OAAO;QACPC,OAAO;QACPC,gBAAgB;QAChBC,QAAQ;YACN,CAACpB,WAAW,EAAE;YACd,GAAII,eAAe;gBAAEiB,QAAQ;YAAK,CAAC;QACrC;QACAC,MAAMlB,cAAc,WAAWJ;QAC/BC;QACA,GAAIO,iBAAiB;YACnBe,OAAO;gBACLX,IAAI;oBACFY,IAAIhB;gBACN;YACF;QACF,CAAC;IACH;IAEAL,gBAAgBW,QAAQW,IAAI,CAAChB,GAAG,CAAC,CAACiB,MAAS,CAAA;YACzCC,OAAOC,OAAOF,GAAG,CAAC1B,WAAmB;YACrC6B,OAAOH,IAAId,EAAE;QACf,CAAA;IAEA,OAAOT;AACT,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-multi-tenant",
|
|
3
|
-
"version": "3.68.0-canary.
|
|
3
|
+
"version": "3.68.0-canary.3",
|
|
4
4
|
"description": "Multi Tenant plugin for Payload",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"payload",
|
|
@@ -81,13 +81,13 @@
|
|
|
81
81
|
],
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@payloadcms/eslint-config": "3.28.0",
|
|
84
|
-
"@payloadcms/translations": "3.68.0-canary.
|
|
85
|
-
"@payloadcms/ui": "3.68.0-canary.
|
|
86
|
-
"payload": "3.68.0-canary.
|
|
84
|
+
"@payloadcms/translations": "3.68.0-canary.3",
|
|
85
|
+
"@payloadcms/ui": "3.68.0-canary.3",
|
|
86
|
+
"payload": "3.68.0-canary.3"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@payloadcms/ui": "3.68.0-canary.
|
|
90
|
-
"payload": "3.68.0-canary.
|
|
89
|
+
"@payloadcms/ui": "3.68.0-canary.3",
|
|
90
|
+
"payload": "3.68.0-canary.3"
|
|
91
91
|
},
|
|
92
92
|
"homepage:": "https://payloadcms.com",
|
|
93
93
|
"scripts": {
|
|
@@ -99,6 +99,6 @@
|
|
|
99
99
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
100
100
|
"lint": "eslint .",
|
|
101
101
|
"lint:fix": "eslint . --fix",
|
|
102
|
-
"pack:plugin": "pnpm
|
|
102
|
+
"pack:plugin": "pnpm build && pnpm pack"
|
|
103
103
|
}
|
|
104
104
|
}
|