metaapi.cloud-sdk
Version:
SDK for MetaApi, a professional cloud forex API which includes MetaTrader REST API and MetaTrader websocket API. Supports both MetaTrader 5 (MT5) and MetaTrader 4 (MT4). CopyFactory copy trading API included. (https://metaapi.cloud)
57 lines (49 loc) • 2.4 kB
TypeScript
import TokenManagementClient, { AccessRuleResource, NarrowDownAccessRules, ManifestAccessRule, NarrowDownSimplifiedAccessRules } from "../clients/metaApi/tokenManagement.client";
/**
* Exposes TokenManagement API logic to the consumers
*/
export default class TokenManagementApi {
/**
* Constructs a TokenManagement API instance
* @param {TokenManagementClient} tokenManagementClient tokenManagement REST API client
*/
constructor(tokenManagementClient: TokenManagementClient)
/**
* Gets access rules manifest
*/
getAccessRules(): Promise<Array<ManifestAccessRule>>
/**
* Returns narrowed down token with given access rules
* @param {NarrowDownAccessRules | NarrowDownSimplifiedAccessRules} narrowDownPayload narrow down payload
* @param {Number} [validityInHours] token validity in hours, default is 24 hours
* @returns {Promise<String>} narrowed down token
*/
narrowDownToken(narrowDownPayload: NarrowDownAccessRules | NarrowDownSimplifiedAccessRules, validityInHours?: Number): Promise<String>
/**
* Returns narrowed down token with access to given applications
* @param {Array<String>} applications applications to grant access to
* @param {Number} [validityInHours] token validity in hours, default is 24 hours
* @returns {Promise<String>} narrowed down token
*/
narrowDownTokenApplications(applications: Array<String>, validityInHours?: Number): Promise<String>
/**
* Returns narrowed down token with access to given resources
* @param {Array<AccessRuleResource>} resources resources to grant access to
* @param {Number} [validityInHours] token validity in hours, default is 24 hours
* @returns {Promise<String>} narrowed down token
*/
narrowDownTokenResources(resources: Array<AccessRuleResource>, validityInHours?: Number): Promise<String>
/**
* Returns narrowed down token with access to given roles
* @param {Array<String>} roles roles to grant access to
* @param {Number} [validityInHours] token validity in hours, default is 24 hours
* @returns {Promise<String>} narrowed down token
*/
narrowDownTokenRoles(roles: Array<String>, validityInHours?: Number): Promise<String>
/**
* Checks if token resources access is restricted
* @param {String} token token to check
* @returns {Boolean} is token narrowed down
*/
areTokenResourcesNarrowedDown(token: String): boolean
}