synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
42 lines (41 loc) • 1.05 kB
JavaScript
import { isEqual as o, cloneDeep as t } from "lodash-es";
function n(r) {
const c = t(r);
return c.sort((e, s) => s.principalId - e.principalId), c.forEach((e) => e.accessType.sort()), c;
}
function p(r, c) {
const e = n(r), s = n(c);
return o(e, s);
}
function u(r) {
return Array.from(r ?? []).map((c) => ({
principalId: c.principalId ?? -1,
accessType: Array.isArray(c.accessType) ? c.accessType : Array.from(c.accessType ?? [])
}));
}
function a(r, c) {
const e = { ...r };
return e.resourceAccess = new Set(
c.map((s) => ({
principalId: s.principalId,
accessType: new Set(s.accessType)
}))
), e;
}
function d(r, c) {
const e = [
c.authenticatedUsers,
c.publicGroup,
c.anonymousUser
].filter((s) => s !== void 0);
return r.some(
(s) => e.includes(String(s.principalId))
);
}
export {
u as convertResourceAccessSetToSRC,
d as isEntityPublic,
p as resourceAccessListIsEqual,
a as updateACLWithSRCResourceAccessList
};
//# sourceMappingURL=AccessControlListUtils.js.map