realm-object-server
Version:
53 lines (52 loc) • 2.1 kB
TypeScript
import { Server } from "../Server";
import { ConfigurableServiceBase, ConfigurableServiceConfig } from "./ConfigurableServiceBase";
export interface IPermissionChangeRequest {
condition: Realm.Sync.PermissionCondition;
realmPath: string;
accessLevel: Realm.Sync.AccessLevel;
}
export interface PermissionsServiceConfig extends ConfigurableServiceConfig {
enablePermissionRealmReflection?: boolean;
enableManagementRealmReflection?: boolean;
}
export declare class PermissionsService extends ConfigurableServiceBase<PermissionsServiceConfig> {
private static MANAGEMENT_REALM_REGEX;
private static ADMIN_REALM_REGEX;
private enablePermissionRealmReflection;
private enableManagementRealmReflection;
private adminRealm;
private wildcardPermissionRealm;
private logger;
private handleManagementChangeCallback;
private handleAdminChangeCallback;
private pendingHandlerCallbacks;
private static ensureInTransaction;
constructor(config?: PermissionsServiceConfig);
protected setConfigCore(config?: PermissionsServiceConfig): void;
private getManagementRealmForUserId;
private getUserSpecificPermissionRealm;
protected startCore(server: Server): Promise<void>;
private setupHandlers;
private stopping;
protected stopCore(): Promise<void>;
private onDemand;
private applyPermissions;
private getOffers;
private offerPermissions;
private invalidatePermissionOffer;
private acceptPermissionOffer;
private getGrantedPermissions;
private unreflectPermissionIn;
private reflectPermissionIn;
private getUserIdsWithMetadata;
private grantReadOnlyAccessToWildcardPermissionRealm;
private grantReadWriteOnUserPermissionRealms;
private applyPermissionChangeInAdminRealm;
private handleAdminRealmChange;
private handleManagementRealmChange;
private handleGNCallback;
private handlePermissionOfferObject;
private handlePermissionOfferResponseObject;
private handlePermissionChangeObject;
private validateUserIdCanChangePermissionsForPath;
}