UNPKG

@payloadcms/plugin-multi-tenant

Version:
31 lines (30 loc) 1.02 kB
import { withTenantAccess } from './withTenantAccess.js'; const collectionAccessKeys = [ 'create', 'read', 'update', 'delete', 'readVersions', 'unlock' ]; /** * Adds tenant access constraint to collection * - constrains access a users assigned tenants */ export const addCollectionAccess = ({ adminUsersSlug, collection, fieldName, tenantsArrayFieldName, tenantsArrayTenantFieldName, userHasAccessToAllTenants })=>{ collectionAccessKeys.forEach((key)=>{ if (!collection.access) { collection.access = {}; } collection.access[key] = withTenantAccess({ accessFunction: collection.access?.[key], adminUsersSlug, collection, fieldName: key === 'readVersions' ? `version.${fieldName}` : fieldName, operation: key, tenantsArrayFieldName, tenantsArrayTenantFieldName, userHasAccessToAllTenants }); }); }; //# sourceMappingURL=addCollectionAccess.js.map