mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-24 19:39:11 +00:00
38 lines
685 B
TypeScript
38 lines
685 B
TypeScript
export enum RoleSafety {
|
|
Safe = 0,
|
|
HigherThanBot = 1 << 1,
|
|
DangerousPermissions = 1 << 2,
|
|
ManagedRole = 1 << 3,
|
|
AccessControl = 1 << 4,
|
|
}
|
|
|
|
export type Role = {
|
|
id: string;
|
|
name: string;
|
|
color: number;
|
|
managed: boolean;
|
|
position: number;
|
|
safety: RoleSafety;
|
|
/** Permissions is should be used as a BigInt, NOT a number. */
|
|
permissions: string;
|
|
};
|
|
|
|
export type OwnRoleInfo = {
|
|
highestRolePosition: number;
|
|
};
|
|
|
|
export enum TransactionType {
|
|
None = 0,
|
|
Remove = 1 << 1,
|
|
Add = 1 << 2,
|
|
}
|
|
|
|
export type RoleTransaction = {
|
|
id: string;
|
|
action: TransactionType;
|
|
};
|
|
|
|
export type RoleUpdate = {
|
|
knownState: Role['id'][];
|
|
transactions: RoleTransaction[];
|
|
};
|