UNPKG

@payloadcms/plugin-multi-tenant

Version:
32 lines (31 loc) 1.17 kB
/** * Combines a base list filter with a tenant list filter * * Combines where constraints inside of an AND operator */ export const combineListFilters = ({ baseListFilter, customFilter })=>async (args)=>{ const filterConstraints = []; if (typeof baseListFilter === 'function') { const baseListFilterResult = await baseListFilter(args); if (baseListFilterResult) { filterConstraints.push(baseListFilterResult); } } const customFilterResult = await customFilter(args); if (customFilterResult) { filterConstraints.push(customFilterResult); } if (filterConstraints.length) { const combinedWhere = { and: [] }; filterConstraints.forEach((constraint)=>{ if (combinedWhere.and && constraint && typeof constraint === 'object') { combinedWhere.and.push(constraint); } }); return combinedWhere; } // Access control will take it from here return null; }; //# sourceMappingURL=combineListFilters.js.map