notbank
Version:
The Notbank for Node.js
72 lines (65 loc) • 1.91 kB
text/typescript
import { Endpoint } from "../constants/endpoints";
import { RequestType, ServiceConnection } from "../core/serviceClient";
import { GetUserAccountsRequest } from "../models/request/getUserAccounts";
import { GetUserDevicesRequest } from "../models/request/getUserDevices";
import { GetUserInfoRequest } from "../models/request/getUserInfo";
import { GetUserPermissionsRequest } from "../models/request/getUserPermissions";
import { UserDevice } from "../models/response/getUserDevices";
import { UserInfo } from "../models/response/getUserInfo";
import { completeParams } from "../utils/completeParams";
export class UserService {
connection: ServiceConnection;
private readonly OMS_ID = 1;
constructor(connection: ServiceConnection) {
this.connection = connection;
}
/**
* https://apidoc.notbank.exchange/#getuseraccounts
*/
getUserAccounts(
request: GetUserAccountsRequest
): Promise<number[]> {
const params = completeParams(request, this.OMS_ID);
return this.connection.apRequest(
Endpoint.GET_USER_ACCOUNTS,
RequestType.POST,
params
);
}
/**
* https://apidoc.notbank.exchange/#getuserdevices
*/
getUserDevices(
request: GetUserDevicesRequest
): Promise<UserDevice[]> {
return this.connection.apRequest(
Endpoint.GET_USER_DEVICES,
RequestType.POST,
request
)
}
/**
* https://apidoc.notbank.exchange/#getuserinfo
*/
getUserInfo(
request: GetUserInfoRequest
): Promise<UserInfo> {
return this.connection.apRequest(
Endpoint.GET_USER_INFO,
RequestType.POST,
request
)
}
/**
* https://apidoc.notbank.exchange/#getuserpermissions
*/
getUserPermissions(
request: GetUserPermissionsRequest
): Promise<string[]> {
return this.connection.apRequest(
Endpoint.GET_USER_PERMISSIONS,
RequestType.POST,
request
)
}
}