import { APIClient } from "./ApiClient"; export interface BaseToken { name: string; networks?: string[]; max_inactivity: number; expiration?: number; read_only: boolean; } export interface Token extends BaseToken { id: number; created: number; last_used: number; } export interface TokenWithSecret extends Token { secret: string; } export class TokensApi { /** * Get the list of tokens of the current user */ static async GetList(): Promise { return ( await APIClient.exec({ uri: "/tokens", method: "GET", }) ).data; } /** * Create a new token */ static async Create(t: BaseToken): Promise { return ( await APIClient.exec({ uri: "/token", method: "POST", jsonData: t, }) ).data; } /** * Delete a token */ static async Delete(t: Token): Promise { return ( await APIClient.exec({ uri: `/token/${t.id}`, method: "DELETE", }) ).data; } }