@mytmpvpn/mytmpvpn-client
Version:
MyTmpVpn Client Library
70 lines (69 loc) • 4.54 kB
TypeScript
import type { Axios } from 'axios';
import type * as auth from 'amazon-cognito-identity-js';
import { type Vpn, VpnState, GetVpnResponse, ListVpnsPaginatedResponse, ListVpnsPagingParams } from '@mytmpvpn/mytmpvpn-common/models/vpn';
import { GetPeanutsBalanceResponse, GetPeanutsPackResponse, type PeanutsPack } from '@mytmpvpn/mytmpvpn-common/models/peanuts';
import { GetReferralCodeResponse, GetReferrerCodeResponse, GetReferralHistoryResponse, GetReferralStatsResponse, ValidateReferralCodeResponse, GetReferralHistoryRequest } from '@mytmpvpn/mytmpvpn-common/models/referral';
import { ListLocationsResponse, Location } from '@mytmpvpn/mytmpvpn-common/models/location';
import { UserConfig } from '@mytmpvpn/mytmpvpn-common/models/uservpn';
import { VpnConfig, GetVpnConfigResponse, VpnConfigLimits } from '@mytmpvpn/mytmpvpn-common/models/vpnConfig';
export declare abstract class MyTmpVpnClient {
private session?;
private user?;
getUser(): auth.CognitoUser | undefined;
getSession(): auth.CognitoUserSession | undefined;
setUserSession(user: auth.CognitoUser, session: auth.CognitoUserSession): void;
abstract listLocations(): Promise<ListLocationsResponse>;
abstract listPeanutsPacks(): Promise<GetPeanutsPackResponse>;
abstract getPeanutsBalance(): Promise<GetPeanutsBalanceResponse>;
abstract getUserConfig(): Promise<UserConfig>;
abstract patchUserConfig(updates: Partial<UserConfig>): Promise<UserConfig>;
abstract createVpn(geonamesId: number, vpnConfig: VpnConfig): Promise<Vpn>;
abstract deleteVpn(vpnId: string): Promise<GetVpnResponse>;
abstract getVpn(vpnId: string): Promise<GetVpnResponse>;
abstract getVpnConfig(vpnId: string, af?: 'ipv4' | 'ipv6'): Promise<GetVpnConfigResponse>;
abstract getVpnQrConfig(vpnId: string, af?: 'ipv4' | 'ipv6'): Promise<GetVpnConfigResponse>;
abstract listVpnsPaginated(pagingParams: ListVpnsPagingParams): Promise<ListVpnsPaginatedResponse>;
abstract getReferralCode(): Promise<GetReferralCodeResponse>;
abstract getReferrerCode(): Promise<GetReferrerCodeResponse>;
abstract validateReferralCodeFromBackend(code: string): Promise<ValidateReferralCodeResponse>;
abstract getReferralStats(): Promise<GetReferralStatsResponse>;
abstract getReferralHistory(options?: GetReferralHistoryRequest): Promise<GetReferralHistoryResponse>;
listVpns(pageSize?: number): Promise<Vpn[]>;
createVpnSync(geonamesId: number, config: VpnConfig, timeout_s?: number): Promise<Vpn>;
getLocationByCity(cityName: string): Promise<Location | undefined>;
getLocationByGeonamesId(geonamesId: number): Promise<Location | undefined>;
waitUntilVpnStateIs(vpnId: string, state: VpnState, timeoutInSeconds?: number): Promise<Vpn>;
waitAndDeleteVpn(vpnId: string): Promise<GetVpnResponse | undefined>;
waitAndDeleteVpnSync(vpnId: string, timeout_s?: number): Promise<Vpn>;
waitAndDeleteAll(vpnIds: string[], timeout_s?: number): Promise<(GetVpnResponse | undefined)[]>;
waitAndDeleteAllSync(vpnIds: string[], timeout_s?: number): Promise<Vpn[]>;
validateReferralCode(code: string): Promise<ValidateReferralCodeResponse>;
getVpnConfigLimits(): Promise<VpnConfigLimits>;
}
export declare class MyTmpVpnClientImpl extends MyTmpVpnClient {
ax: Axios;
constructor(apiUrl: string);
getDefaultAuthorizationHeaders(): {
Accept: string;
Authorization: string;
};
getDefaultNonAuthorizationHeaders(): {
Accept: string;
};
getUserConfig(): Promise<UserConfig>;
patchUserConfig(updates: Partial<UserConfig>): Promise<UserConfig>;
listVpnsPaginated(pagingParams: ListVpnsPagingParams): Promise<ListVpnsPaginatedResponse>;
deleteVpn(vpnId: string): Promise<GetVpnResponse>;
createVpn(geonamesId: number, config: VpnConfig): Promise<Vpn>;
getVpn(vpnId: string): Promise<GetVpnResponse>;
getVpnConfig(vpnId: string, af?: 'ipv4' | 'ipv6'): Promise<string>;
getVpnQrConfig(vpnId: string, af?: 'ipv4' | 'ipv6'): Promise<string>;
listLocations(): Promise<ListLocationsResponse>;
listPeanutsPacks(): Promise<PeanutsPack[]>;
getPeanutsBalance(): Promise<number>;
getReferralCode(): Promise<GetReferralCodeResponse>;
getReferrerCode(): Promise<GetReferrerCodeResponse>;
validateReferralCodeFromBackend(code: string): Promise<ValidateReferralCodeResponse>;
getReferralStats(): Promise<GetReferralStatsResponse>;
getReferralHistory(options?: GetReferralHistoryRequest): Promise<GetReferralHistoryResponse>;
}