UNPKG

@vector-im/matrix-bot-sdk

Version:

TypeScript/JavaScript SDK for Matrix bots and appservices

61 lines (53 loc) 1.5 kB
import { MatrixClient } from "./MatrixClient"; import { SynapseAdminApis } from "./SynapseAdminApis"; /** * Whois information about a user. * See https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-admin-whois-userid for more information. * @category Admin APIs */ export interface WhoisInfo { user_id: string; devices: { [device_id: string]: { sessions: [{ connections: WhoisConnectionInfo[]; }]; }; }; } interface WhoisConnectionInfo { /** * Most recently seen IP address of the session. */ ip: string; /** * Unix timestamp that the session was last active. */ last_seen: number; /** * User agent string last seen in the session. */ user_agent: string; } /** * Access to various administrative APIs. * @category Admin APIs */ export class AdminApis { constructor(private client: MatrixClient) { } /** * Gets access to the Synapse administrative APIs object. */ public get synapse(): SynapseAdminApis { return new SynapseAdminApis(this.client); } /** * Gets information about a particular user. * @param {string} userId the user ID to lookup * @returns {Promise<WhoisInfo>} resolves to the whois information */ public whoisUser(userId: string): Promise<WhoisInfo> { return this.client.doRequest("GET", "/_matrix/client/v3/admin/whois/" + encodeURIComponent(userId)); } }