@grouparoo/core
Version:
The Grouparoo Core
45 lines (44 loc) • 1.71 kB
TypeScript
import { TeamMember } from "./TeamMember";
import { ActionPermissionTopic, ActionPermissionMode, Permission } from "./Permission";
import { CommonModel } from "../classes/commonModel";
export declare class Team extends CommonModel<Team> {
idPrefix(): string;
name: string;
locked: string;
permissionAllRead: boolean;
permissionAllWrite: boolean;
teamMembers: TeamMember[];
permissions: Permission[];
apiData(): Promise<{
id: string;
name: string;
locked: string;
permissionAllRead: boolean;
permissionAllWrite: boolean;
createdAt: number;
updatedAt: number;
permissions: {
id: string;
topic: "file" | "record" | "source" | "group" | "import" | "system" | "run" | "resque" | "log" | "model" | "app" | "property" | "export" | "destination" | "apiKey" | "notification" | "setupStep" | "team";
read: boolean;
write: boolean;
locked: string;
}[];
membersCount: number;
}>;
authorizeAction(topic: ActionPermissionTopic, mode: ActionPermissionMode): Promise<boolean>;
setPermissions(userPermissions: {
topic: string;
read: boolean;
write: boolean;
}[]): Promise<void>;
static checkLockedPermissions(instance: Team): Promise<void>;
static noUpdateIfLocked(instance: Team): Promise<void>;
static buildPermissions(instance: Team): Promise<{
isNew: boolean;
permission: Permission;
}[]>;
static noDestroyIfLocked(instance: Team): Promise<void>;
static ensureNoTeamMembers(instance: Team): Promise<void>;
static deletePermissions(instance: Team): Promise<number>;
}