synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
29 lines • 1.84 kB
TypeScript
import { ResourceAccess } from '@sage-bionetworks/synapse-types';
import { AccessControlList, ResourceAccess as SynapseClientResourceAccess } from '@sage-bionetworks/synapse-client';
/**
* Compares two objects for equality, ignoring the order of elements in arrays.
* @param a
* @param b
*/
export declare function resourceAccessListIsEqual(a: ResourceAccess[], b: ResourceAccess[]): boolean;
/** Conversion utility to go from synapse-client ResourceAccess Set to the SRC SynapseClient ResourceAccess[] type */
export declare function convertResourceAccessSetToSRC(resourceAccessSet?: Set<SynapseClientResourceAccess>): ResourceAccess[];
/** Conversion utility to go from synapse-react-client ResourceAccess[] to the synapse-client ResourceAccess Set in an ACL */
export declare function updateACLWithSRCResourceAccessList(acl: AccessControlList | null | undefined, resourceAccessList: ResourceAccess[]): AccessControlList;
/**
* Determines if an entity is publicly accessible by checking if any public principals
* (authenticated users, public group, or anonymous user) have access in the resource access list.
*
* @param resourceAccess - The list of resource access entries to check
* @param realmPrincipals - An object containing the principal IDs for public groups
* @param realmPrincipals.authenticatedUsers - The principal ID for authenticated users
* @param realmPrincipals.publicGroup - The principal ID for the public group
* @param realmPrincipals.anonymousUser - The principal ID for anonymous users
* @returns true if any public principal has access, false otherwise
*/
export declare function isEntityPublic(resourceAccess: ResourceAccess[], realmPrincipals: {
authenticatedUsers?: string;
publicGroup?: string;
anonymousUser?: string;
}): boolean;
//# sourceMappingURL=AccessControlListUtils.d.ts.map