@codebluelife/cbl-base
Version:
A modern FiveM framework.
66 lines (65 loc) • 2.33 kB
TypeScript
import { ClassInterface } from "classInterface";
import type { Dict, CBLAccountMetadata, CBLAccountRole, CBLAccountPermissions, CBLCreateInvoice } from "types";
interface UpdateAccountBalance {
amount: number;
message?: string;
}
interface RemoveAccountBalance extends UpdateAccountBalance {
overdraw?: boolean;
}
interface TransferAccountBalance {
toId: number;
amount: number;
overdraw?: boolean;
message?: string;
note?: string;
actorId?: number;
}
export declare class CBLAccount extends ClassInterface {
accountId: number;
protected static members: Dict<CBLAccount>;
static get(accountId: number): Promise<CBLAccount>;
static getAll(): Dict<CBLAccount>;
constructor(accountId: number);
get<T extends keyof CBLAccountMetadata>(key: T): Promise<CBLAccountMetadata[T]>;
get<T extends keyof CBLAccountMetadata>(keys: T[]): Promise<Pick<CBLAccountMetadata, T>>;
addBalance({ amount, message }: UpdateAccountBalance): Promise<{
success: boolean;
message?: string;
}>;
removeBalance({ amount, overdraw, message, }: RemoveAccountBalance): Promise<{
success: boolean;
message?: string;
}>;
transferBalance({ toId, amount, overdraw, message, note, actorId, }: TransferAccountBalance): Promise<{
success: boolean;
message?: string;
}>;
depositMoney(playerId: number, amount: number, message?: string, note?: string): Promise<{
success: boolean;
message?: string;
}>;
withdrawMoney(playerId: number, amount: number, message?: string, note?: string): Promise<{
success: boolean;
message?: string;
}>;
deleteAccount(): Promise<{
success: boolean;
message?: string;
}>;
getCharacterRole(id: number | string): Promise<CBLAccountRole | null>;
setCharacterRole(id: number | string, role?: CBLAccountRole): Promise<0 | {
success: boolean;
message?: string;
} | null>;
playerHasPermission(playerId: number, permission: keyof CBLAccountPermissions): Promise<boolean>;
setShared(): Promise<{
success: boolean;
message?: string;
}>;
createInvoice(data: Omit<CBLCreateInvoice, "fromAccount">): Promise<{
success: boolean;
message?: string;
}>;
}
export {};