UNPKG

@syncable/server

Version:
26 lines 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const lodash_1 = tslib_1.__importDefault(require("lodash")); function filterReadableSyncables(context, adapter, syncables, toSanitizeFields = false, onSanitize) { return lodash_1.default.compact(syncables.map(syncable => { let object = adapter.instantiateBySyncable(syncable); if (!object.testAccessRights(['read'], context)) { return undefined; } if (toSanitizeFields) { let sanitizedFieldNames = object.getSanitizedFieldNames(context); if (onSanitize) { onSanitize(syncable, sanitizedFieldNames); } syncable = { _sanitizedFieldNames: sanitizedFieldNames, ...syncable, }; return lodash_1.default.omit(syncable, sanitizedFieldNames); } return syncable; })); } exports.filterReadableSyncables = filterReadableSyncables; //# sourceMappingURL=access-control.js.map