@payloadcms/plugin-multi-tenant
Version:
Multi Tenant plugin for Payload
20 lines (19 loc) • 771 B
JavaScript
import { defaults } from '../defaults.js';
import { extractID } from './extractID.js';
/**
* Returns array of all tenant IDs assigned to a user
*
* @param user - User object with tenants field
*/ export const getUserTenantIDs = (user, options)=>{
if (!user) {
return [];
}
const { tenantsArrayFieldName = defaults.tenantsArrayFieldName, tenantsArrayTenantFieldName = defaults.tenantsArrayTenantFieldName } = options || {};
return (Array.isArray(user[tenantsArrayFieldName]) ? user[tenantsArrayFieldName] : [])?.reduce((acc, row)=>{
if (row[tenantsArrayTenantFieldName]) {
acc.push(extractID(row[tenantsArrayTenantFieldName]));
}
return acc;
}, []) || [];
};
//# sourceMappingURL=getUserTenantIDs.js.map