cactive
Version:
Link in to the vast and epic CactiveNetwork ecosystem.
85 lines • 2.24 kB
TypeScript
import { Client } from ".";
export declare type UserData = {
id: string | null;
display_name: string | null;
api_level: "ADMINISTRATOR" | "PROJECT" | "DEFAULT";
mfa_enabled: boolean;
project: ProjectData | null;
email_verified: boolean;
services: {
name: string;
data: {
[key: string]: any;
};
}[];
connections: {
name: string;
user: {
id: string;
display_name: string;
};
}[];
};
export declare type ProjectData = {
owner_id: string;
client_id: string;
client_secret: string;
redirect_uris: string[];
email_verified: boolean;
};
export declare type PartialUser = {
id?: string;
display_name?: string | null;
};
export default class User {
id: UserData['id'];
display_name: string | undefined;
api_level: UserData['api_level'];
mfa_enabled: UserData['mfa_enabled'];
services: UserData['services'];
connections: UserData['connections'];
project: UserData['project'];
email_verified: UserData['email_verified'];
client: Client;
constructor(client: Client, user_data: UserData);
/**
* Returns a service and its data
* @param service Service name
* @returns Service data
*/
get_service(service: string): {
name: string;
data: {
[key: string]: any;
};
} | null;
/**
* Returns a connection and its data
* @param connection Connection data
* @returns Connection data
*/
get_connection(connection: string): {
name: string;
user: {
id: string;
display_name: string;
};
} | null;
/**
* Updates an owned service's data for a user
* @param name Service name, must be owned
* @param data Updated service structure
* @returns Resolution result
*/
setService(name: string, data: {
[key: string]: any;
}): Promise<void>;
/**
* Updates User's role
* * Requires access to the 'MODIFY_ROLES' permission.
* @param role New role
* @returns Updated User
*/
setRole(role: User['api_level']): Promise<void>;
}
//# sourceMappingURL=user.d.ts.map