TeaSpeak-Client/imports/shared-app/ui/modal/permission/EditorDefinitions.d.ts

104 lines
2.6 KiB
TypeScript

export interface EditorGroupedPermissions {
groupId: string;
groupName: string;
permissions: {
id: number;
name: string;
description: string;
}[];
children: EditorGroupedPermissions[];
}
export declare type PermissionEditorMode = "unset" | "no-permissions" | "normal";
export interface PermissionEditorEvents {
action_set_mode: {
mode: PermissionEditorMode;
failedPermission?: string;
};
action_toggle_client_button: {
visible: boolean;
};
action_toggle_client_list: {
visible: boolean;
};
action_set_filter: {
filter?: string;
};
action_set_assigned_only: {
value: boolean;
};
action_set_default_value: {
value: number;
};
action_open_icon_select: {
iconId?: number;
};
action_set_senseless_permissions: {
permissions: string[];
};
action_remove_permissions: {
permissions: {
name: string;
mode: "value" | "grant";
}[];
};
action_remove_permissions_result: {
permissions: {
name: string;
mode: "value" | "grant";
success: boolean;
}[];
};
action_set_permissions: {
permissions: {
name: string;
mode: "value" | "grant";
value?: number;
flagNegate?: boolean;
flagSkip?: boolean;
}[];
};
action_set_permissions_result: {
permissions: {
name: string;
mode: "value" | "grant";
newValue?: number;
flagNegate?: boolean;
flagSkip?: boolean;
}[];
};
action_toggle_group: {
groupId: string | null;
collapsed: boolean;
};
action_start_permission_edit: {
target: "value" | "grant";
permission: string;
defaultValue: number;
};
action_add_permission_group: {
groupId: string;
mode: "value" | "grant";
};
action_remove_permission_group: {
groupId: string;
mode: "value" | "grant";
};
query_permission_list: {};
query_permission_list_result: {
hideSenselessPermissions: boolean;
permissions: EditorGroupedPermissions[];
};
query_permission_values: {};
query_permission_values_result: {
status: "error" | "success";
error?: string;
permissions?: {
name: string;
value?: number;
flagNegate?: boolean;
flagSkip?: boolean;
granted?: number;
}[];
};
}