itrm-tools 1.2.9 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/api/bitso/BitsoApiConnection.d.ts +26 -0
  2. package/dist/api/bitso/BitsoApiConnection.js +121 -0
  3. package/dist/api/bitso/BitsoApiConnection.js.map +1 -0
  4. package/dist/api/bitso/tools/BitsoBalance.d.ts +17 -0
  5. package/dist/api/bitso/tools/BitsoBalance.js +29 -0
  6. package/dist/api/bitso/tools/BitsoBalance.js.map +1 -0
  7. package/dist/api/bitso/tools/BitsoBook.d.ts +38 -0
  8. package/dist/api/bitso/tools/BitsoBook.js +60 -0
  9. package/dist/api/bitso/tools/BitsoBook.js.map +1 -0
  10. package/dist/api/bitso/tools/BitsoOrder.d.ts +42 -0
  11. package/dist/api/bitso/tools/BitsoOrder.js +30 -0
  12. package/dist/api/bitso/tools/BitsoOrder.js.map +1 -0
  13. package/dist/api/bitso/tools/BitsoOrderBook.d.ts +14 -0
  14. package/dist/api/bitso/tools/BitsoOrderBook.js +24 -0
  15. package/dist/api/bitso/tools/BitsoOrderBook.js.map +1 -0
  16. package/dist/api/bitso/tools/BitsoTrade.d.ts +41 -0
  17. package/dist/api/bitso/tools/BitsoTrade.js +46 -0
  18. package/dist/api/bitso/tools/BitsoTrade.js.map +1 -0
  19. package/dist/api/check/RoleServicePermissionsChecker.d.ts +13 -0
  20. package/dist/api/check/RoleServicePermissionsChecker.js +92 -0
  21. package/dist/api/check/RoleServicePermissionsChecker.js.map +1 -0
  22. package/dist/api/check/ServiceSessionChecker.d.ts +28 -0
  23. package/dist/api/check/ServiceSessionChecker.js +119 -0
  24. package/dist/api/check/ServiceSessionChecker.js.map +1 -0
  25. package/dist/api/external/kyc/KycApiManager.d.ts +84 -0
  26. package/dist/api/external/kyc/KycApiManager.js +148 -0
  27. package/dist/api/external/kyc/KycApiManager.js.map +1 -0
  28. package/dist/api/request/crud/cetus/AccountManager.d.ts +36 -0
  29. package/dist/api/request/crud/cetus/AccountManager.js +82 -0
  30. package/dist/api/request/crud/cetus/AccountManager.js.map +1 -0
  31. package/dist/api/request/crud/cetus/AssetsManager.d.ts +38 -0
  32. package/dist/api/request/crud/cetus/AssetsManager.js +82 -0
  33. package/dist/api/request/crud/cetus/AssetsManager.js.map +1 -0
  34. package/dist/api/request/crud/cetus/BalanceChangeLogs.d.ts +38 -0
  35. package/dist/api/request/crud/cetus/BalanceChangeLogs.js +90 -0
  36. package/dist/api/request/crud/cetus/BalanceChangeLogs.js.map +1 -0
  37. package/dist/api/request/crud/cetus/CandleManager.d.ts +32 -0
  38. package/dist/api/request/crud/cetus/CandleManager.js +17 -0
  39. package/dist/api/request/crud/cetus/CandleManager.js.map +1 -0
  40. package/dist/api/request/crud/cetus/ContributorActionManager.d.ts +59 -0
  41. package/dist/api/request/crud/cetus/ContributorActionManager.js +103 -0
  42. package/dist/api/request/crud/cetus/ContributorActionManager.js.map +1 -0
  43. package/dist/api/request/crud/cetus/ContributorManager.d.ts +33 -0
  44. package/dist/api/request/crud/cetus/ContributorManager.js +75 -0
  45. package/dist/api/request/crud/cetus/ContributorManager.js.map +1 -0
  46. package/dist/api/request/crud/cetus/CounterpartyBalances.d.ts +44 -0
  47. package/dist/api/request/crud/cetus/CounterpartyBalances.js +96 -0
  48. package/dist/api/request/crud/cetus/CounterpartyBalances.js.map +1 -0
  49. package/dist/api/request/crud/cetus/ExpenseManager.d.ts +45 -0
  50. package/dist/api/request/crud/cetus/ExpenseManager.js +88 -0
  51. package/dist/api/request/crud/cetus/ExpenseManager.js.map +1 -0
  52. package/dist/api/request/crud/cetus/IntermediaryManager.d.ts +38 -0
  53. package/dist/api/request/crud/cetus/IntermediaryManager.js +82 -0
  54. package/dist/api/request/crud/cetus/IntermediaryManager.js.map +1 -0
  55. package/dist/api/request/crud/cetus/ModificationManager.d.ts +44 -0
  56. package/dist/api/request/crud/cetus/ModificationManager.js +102 -0
  57. package/dist/api/request/crud/cetus/ModificationManager.js.map +1 -0
  58. package/dist/api/request/crud/cetus/NavManager.d.ts +45 -0
  59. package/dist/api/request/crud/cetus/NavManager.js +88 -0
  60. package/dist/api/request/crud/cetus/NavManager.js.map +1 -0
  61. package/dist/api/request/crud/cetus/OperationsManager.d.ts +58 -0
  62. package/dist/api/request/crud/cetus/OperationsManager.js +98 -0
  63. package/dist/api/request/crud/cetus/OperationsManager.js.map +1 -0
  64. package/dist/api/request/crud/cetus/PairsManager.d.ts +40 -0
  65. package/dist/api/request/crud/cetus/PairsManager.js +84 -0
  66. package/dist/api/request/crud/cetus/PairsManager.js.map +1 -0
  67. package/dist/api/request/crud/cetus/PnlManager.d.ts +45 -0
  68. package/dist/api/request/crud/cetus/PnlManager.js +86 -0
  69. package/dist/api/request/crud/cetus/PnlManager.js.map +1 -0
  70. package/dist/api/request/crud/cetus/RatesManager.d.ts +41 -0
  71. package/dist/api/request/crud/cetus/RatesManager.js +94 -0
  72. package/dist/api/request/crud/cetus/RatesManager.js.map +1 -0
  73. package/dist/api/request/crud/cetus/SourceManager.d.ts +35 -0
  74. package/dist/api/request/crud/cetus/SourceManager.js +84 -0
  75. package/dist/api/request/crud/cetus/SourceManager.js.map +1 -0
  76. package/dist/api/request/crud/cetus/StrategyManager.d.ts +42 -0
  77. package/dist/api/request/crud/cetus/StrategyManager.js +88 -0
  78. package/dist/api/request/crud/cetus/StrategyManager.js.map +1 -0
  79. package/dist/api/request/crud/cetus/StrategyOrderManager.d.ts +46 -0
  80. package/dist/api/request/crud/cetus/StrategyOrderManager.js +92 -0
  81. package/dist/api/request/crud/cetus/StrategyOrderManager.js.map +1 -0
  82. package/dist/api/request/crud/cetus/TransactionsManager.d.ts +52 -0
  83. package/dist/api/request/crud/cetus/TransactionsManager.js +96 -0
  84. package/dist/api/request/crud/cetus/TransactionsManager.js.map +1 -0
  85. package/dist/api/request/crud/common/ActivityHistoryManager.d.ts +40 -0
  86. package/dist/api/request/crud/common/ActivityHistoryManager.js +86 -0
  87. package/dist/api/request/crud/common/ActivityHistoryManager.js.map +1 -0
  88. package/dist/api/request/crud/common/AvailablePlatformManager.d.ts +37 -0
  89. package/dist/api/request/crud/common/AvailablePlatformManager.js +84 -0
  90. package/dist/api/request/crud/common/AvailablePlatformManager.js.map +1 -0
  91. package/dist/api/request/crud/common/ComponentManager.d.ts +53 -0
  92. package/dist/api/request/crud/common/ComponentManager.js +75 -0
  93. package/dist/api/request/crud/common/ComponentManager.js.map +1 -0
  94. package/dist/api/request/crud/common/KeyManager.d.ts +39 -0
  95. package/dist/api/request/crud/common/KeyManager.js +88 -0
  96. package/dist/api/request/crud/common/KeyManager.js.map +1 -0
  97. package/dist/api/request/crud/common/PlatformManager.d.ts +45 -0
  98. package/dist/api/request/crud/common/PlatformManager.js +79 -0
  99. package/dist/api/request/crud/common/PlatformManager.js.map +1 -0
  100. package/dist/api/request/crud/common/RoleManager.d.ts +52 -0
  101. package/dist/api/request/crud/common/RoleManager.js +72 -0
  102. package/dist/api/request/crud/common/RoleManager.js.map +1 -0
  103. package/dist/api/request/crud/common/StatusManager.d.ts +34 -0
  104. package/dist/api/request/crud/common/StatusManager.js +74 -0
  105. package/dist/api/request/crud/common/StatusManager.js.map +1 -0
  106. package/dist/api/request/crud/common/TypeManager.d.ts +33 -0
  107. package/dist/api/request/crud/common/TypeManager.js +76 -0
  108. package/dist/api/request/crud/common/TypeManager.js.map +1 -0
  109. package/dist/api/request/crud/common/UserCredentialsManager.d.ts +39 -0
  110. package/dist/api/request/crud/common/UserCredentialsManager.js +84 -0
  111. package/dist/api/request/crud/common/UserCredentialsManager.js.map +1 -0
  112. package/dist/api/request/crud/common/UserManager.d.ts +35 -0
  113. package/dist/api/request/crud/common/UserManager.js +80 -0
  114. package/dist/api/request/crud/common/UserManager.js.map +1 -0
  115. package/dist/index.d.ts +36 -0
  116. package/dist/index.js +71 -1
  117. package/dist/index.js.map +1 -1
  118. package/package.json +1 -1
@@ -0,0 +1,26 @@
1
+ import { IBitsoBook } from './tools/BitsoBook';
2
+ import { IBitsoOrder } from './tools/BitsoOrder';
3
+ import { IBitsoTrade, IBitsoTradeRequest } from './tools/BitsoTrade';
4
+ export interface BitsoApiConfig {
5
+ url: string;
6
+ apiKey: string;
7
+ apiSecret: string;
8
+ }
9
+ export declare class BitsoApiConnection {
10
+ private config;
11
+ constructor(config: BitsoApiConfig);
12
+ private sign;
13
+ getBalances(): Promise<import("./tools/BitsoBalance").IBitsoBalance[]>;
14
+ getAvailableBookList(): Promise<IBitsoBook[]>;
15
+ getOrderBook(book: IBitsoBook, aggregate?: boolean): Promise<import("./tools/BitsoOrderBook").IBitsoOrderBook>;
16
+ placeOrder(body: IBitsoOrder): Promise<{
17
+ oid: string;
18
+ } | undefined>;
19
+ lookUpOrder(oid: string): Promise<import("./tools/BitsoOrder").IBitsoOrderDetails[]>;
20
+ getUserOpenOrders(book: IBitsoBook): Promise<import("./tools/BitsoOrder").IBitsoOrderDetails[]>;
21
+ cancelOrder(oid: string): Promise<string[]>;
22
+ getTrades(book: IBitsoTradeRequest): Promise<IBitsoTrade[]>;
23
+ getOrderTrades(oid: string): Promise<import("./tools/BitsoTrade").IBitsoTradeDetails[]>;
24
+ getFees(): Promise<any>;
25
+ getTicker(book: IBitsoBook): Promise<any>;
26
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BitsoApiConnection = void 0;
13
+ const crypto_js_1 = require("crypto-js");
14
+ const RequestAxiosCall_1 = require("../request/RequestAxiosCall");
15
+ const BitsoBalance_1 = require("./tools/BitsoBalance");
16
+ const BitsoBook_1 = require("./tools/BitsoBook");
17
+ const BitsoOrderBook_1 = require("./tools/BitsoOrderBook");
18
+ const BitsoOrder_1 = require("./tools/BitsoOrder");
19
+ const BitsoTrade_1 = require("./tools/BitsoTrade");
20
+ class BitsoApiConnection {
21
+ constructor(config) {
22
+ this.config = config;
23
+ }
24
+ sign(method, path, body) {
25
+ let nonce = Date.now();
26
+ let message = nonce + method + path + (body ? JSON.stringify(body) : "");
27
+ console.log("> message:", message);
28
+ const hash = (0, crypto_js_1.HmacSHA256)(message, this.config.apiSecret);
29
+ let signature = crypto_js_1.enc.Hex.stringify(hash);
30
+ return {
31
+ headers: {
32
+ Authorization: `Bitso ${this.config.apiKey}:${nonce}:${signature}`
33
+ }
34
+ };
35
+ }
36
+ getBalances() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ let signature = this.sign('GET', '/api/v3/balance/');
39
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/balance/`, signature);
40
+ return (0, BitsoBalance_1.parseBitsoBalanceArray)(response.payload.balances);
41
+ });
42
+ }
43
+ getAvailableBookList() {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ let signature = this.sign('GET', `/api/v3/available_books/`);
46
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/available_books/`, signature);
47
+ return (0, BitsoBook_1.parseBitsoBookArray)(response.payload);
48
+ });
49
+ }
50
+ getOrderBook(book, aggregate) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ let signature = this.sign('GET', `/api/v3/order_book/?book=${book.book}&aggregate=${aggregate !== null && aggregate !== void 0 ? aggregate : true}`);
53
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/order_book/?book=${book.book}&aggregate=${aggregate !== null && aggregate !== void 0 ? aggregate : true}`, signature);
54
+ return (0, BitsoOrderBook_1.parseBitsoOrderBook)(response.payload);
55
+ });
56
+ }
57
+ placeOrder(body) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ let signature = this.sign('POST', `/api/v3/orders/`, body);
60
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.post(`${this.config.url}/api/v3/orders/`, body, signature);
61
+ return response.success ? response.payload : undefined;
62
+ });
63
+ }
64
+ lookUpOrder(oid) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ let signature = this.sign('GET', `/api/v3/orders/${oid}/`);
67
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/orders/${oid}/`, signature);
68
+ return response.success ? (0, BitsoOrder_1.parseBitsoOrderDetailsArray)(response.payload) : [];
69
+ });
70
+ }
71
+ getUserOpenOrders(book) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ let signature = this.sign('GET', `/api/v3/open_orders/?book=${book.book}`);
74
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/open_orders/?book=${book.book}`, signature);
75
+ return response.success ? (0, BitsoOrder_1.parseBitsoOrderDetailsArray)(response.payload) : [];
76
+ });
77
+ }
78
+ cancelOrder(oid) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ let signature = this.sign('DELETE', `/api/v3/orders/${oid}/`);
81
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.delete(`${this.config.url}/api/v3/orders/${oid}/`, signature);
82
+ return response.success ? response.payload : [];
83
+ });
84
+ }
85
+ getTrades(book) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ let path = `/api/v3/trades/?book=${book.book}${book.limit ? '&limit=' + book.limit : ''}${book.maker ? '&maker=' + book.maker : ''}${book.sort ? '&sort=' + book.sort : ''}`;
88
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}${path}`, this.sign('GET', path));
89
+ return response.success ? (0, BitsoTrade_1.parseBitsoTradeArray)(response.payload) : [];
90
+ });
91
+ }
92
+ getOrderTrades(oid) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ try {
95
+ let signature = this.sign('GET', `/api/v3/order_trades/${oid}/`);
96
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/order_trades/${oid}/`, signature);
97
+ return response.success ? (0, BitsoTrade_1.parseBitsoTradeDetailsArray)(response.payload) : [];
98
+ }
99
+ catch (err) {
100
+ console.log("> err", err.response.status, ":", err.response.data);
101
+ return [];
102
+ }
103
+ });
104
+ }
105
+ getFees() {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ let signature = this.sign('GET', `/api/v3/fees/`);
108
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/fees/`, signature);
109
+ return response;
110
+ });
111
+ }
112
+ getTicker(book) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ let signature = this.sign('GET', `/api/v3/ticker/?book=${book.book}`);
115
+ let response = yield RequestAxiosCall_1.RequestAxiosCall.get(`${this.config.url}/api/v3/ticker/?book=${book.book}`, signature);
116
+ return response;
117
+ });
118
+ }
119
+ }
120
+ exports.BitsoApiConnection = BitsoApiConnection;
121
+ //# sourceMappingURL=BitsoApiConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoApiConnection.js","sourceRoot":"","sources":["../../../src/api/bitso/BitsoApiConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface IBitsoBalance {
2
+ currency: string;
3
+ available: number;
4
+ locked: number;
5
+ total: number;
6
+ pending_deposit: number;
7
+ pending_withdrawal: number;
8
+ }
9
+ export declare function parseBitsoBalance(response: {
10
+ [key: string]: string;
11
+ }): IBitsoBalance;
12
+ export declare function parseBitsoBalanceArray(response: {
13
+ [key: string]: string;
14
+ }[]): IBitsoBalance[];
15
+ export declare function findBalances(currencies: string[], balances: IBitsoBalance[]): {
16
+ [key: string]: IBitsoBalance;
17
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBitsoBalance = parseBitsoBalance;
4
+ exports.parseBitsoBalanceArray = parseBitsoBalanceArray;
5
+ exports.findBalances = findBalances;
6
+ function parseBitsoBalance(response) {
7
+ return {
8
+ currency: response.currency,
9
+ available: parseFloat(response.available),
10
+ locked: parseFloat(response.locked),
11
+ total: parseFloat(response.total),
12
+ pending_deposit: parseFloat(response.pending_deposit),
13
+ pending_withdrawal: parseFloat(response.pending_withdrawal),
14
+ };
15
+ }
16
+ function parseBitsoBalanceArray(response) {
17
+ let result = [];
18
+ for (let datum of response)
19
+ result.push(parseBitsoBalance(datum));
20
+ return result;
21
+ }
22
+ function findBalances(currencies, balances) {
23
+ let result = {};
24
+ for (let balance of balances)
25
+ if (currencies.includes(balance.currency))
26
+ result[balance.currency] = balance;
27
+ return result;
28
+ }
29
+ //# sourceMappingURL=BitsoBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoBalance.js","sourceRoot":"","sources":["../../../../src/api/bitso/tools/BitsoBalance.ts"],"names":[],"mappings":";;AASA,8CASC;AAED,wDAKC;AAED,oCAMC;AAxBD,SAAgB,iBAAiB,CAAC,QAAoC;IAClE,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrD,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC9D,CAAC;AACN,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAsC;IACzE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,YAAY,CAAC,UAAoB,EAAE,QAAyB;IACxE,IAAI,MAAM,GAAqC,EAAE,CAAC;IAClD,KAAK,IAAI,OAAO,IAAI,QAAQ;QACxB,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAC3C,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,38 @@
1
+ export interface IBitsoBookFeesRate {
2
+ maker: number;
3
+ taker: number;
4
+ volume?: number;
5
+ }
6
+ export interface IBitsoBook {
7
+ book: string;
8
+ default_chart: string;
9
+ minimum_price: number;
10
+ maximum_price: number;
11
+ minimum_value: number;
12
+ maximum_value: number;
13
+ minimum_amount: number;
14
+ maximum_amount: number;
15
+ tick_size: number;
16
+ decimals: number;
17
+ fees: {
18
+ flat_rate: IBitsoBookFeesRate;
19
+ structure: IBitsoBookFeesRate[];
20
+ };
21
+ }
22
+ export declare function parseBitsoBookArray(response: {
23
+ [key: string]: string;
24
+ fees: any;
25
+ }[]): IBitsoBook[];
26
+ export declare function parseBitsoBook(response: {
27
+ [key: string]: string;
28
+ fees: any;
29
+ }): IBitsoBook;
30
+ export declare function parseBitsoBookFeesRateArray(response: {
31
+ [key: string]: string;
32
+ }[]): IBitsoBookFeesRate[];
33
+ export declare function parseBitsoBookFeesRate(response: {
34
+ [key: string]: string;
35
+ }): IBitsoBookFeesRate;
36
+ export declare function findBitsoBook(pairs: string[], books: IBitsoBook[]): {
37
+ [key: string]: IBitsoBook;
38
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBitsoBookArray = parseBitsoBookArray;
4
+ exports.parseBitsoBook = parseBitsoBook;
5
+ exports.parseBitsoBookFeesRateArray = parseBitsoBookFeesRateArray;
6
+ exports.parseBitsoBookFeesRate = parseBitsoBookFeesRate;
7
+ exports.findBitsoBook = findBitsoBook;
8
+ function parseBitsoBookArray(response) {
9
+ let result = [];
10
+ for (let datum of response)
11
+ result.push(parseBitsoBook(datum));
12
+ return result;
13
+ }
14
+ function parseBitsoBook(response) {
15
+ return {
16
+ book: response.book,
17
+ default_chart: response.default_chart,
18
+ minimum_price: parseFloat(response.minimum_price),
19
+ maximum_price: parseFloat(response.maximum_price),
20
+ minimum_value: parseFloat(response.minimum_value),
21
+ maximum_value: parseFloat(response.maximum_value),
22
+ minimum_amount: parseFloat(response.minimum_amount),
23
+ maximum_amount: parseFloat(response.maximum_amount),
24
+ tick_size: parseFloat(response.tick_size),
25
+ decimals: calculateDecimals(parseFloat(response.tick_size)),
26
+ fees: {
27
+ flat_rate: parseBitsoBookFeesRate(response.fees.flat_rate),
28
+ structure: parseBitsoBookFeesRateArray(response.fees.structure)
29
+ }
30
+ };
31
+ }
32
+ function parseBitsoBookFeesRateArray(response) {
33
+ let result = [];
34
+ for (let value of response)
35
+ result.push(parseBitsoBookFeesRate(value));
36
+ return result;
37
+ }
38
+ function parseBitsoBookFeesRate(response) {
39
+ return {
40
+ maker: parseFloat(response.maker),
41
+ taker: parseFloat(response.taker),
42
+ volume: response.volume ? parseFloat(response.volume) : undefined
43
+ };
44
+ }
45
+ function findBitsoBook(pairs, books) {
46
+ let result = {};
47
+ for (let book of books)
48
+ if (pairs.includes(book.book))
49
+ result[book.book] = book;
50
+ return result;
51
+ }
52
+ function calculateDecimals(tick_size) {
53
+ let cnt = 0;
54
+ while (tick_size < 1) {
55
+ tick_size *= 10;
56
+ cnt++;
57
+ }
58
+ return cnt;
59
+ }
60
+ //# sourceMappingURL=BitsoBook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoBook.js","sourceRoot":"","sources":["../../../../src/api/bitso/tools/BitsoBook.ts"],"names":[],"mappings":";;AAuBA,kDAKC;AAED,wCAiBC;AAED,kEAKC;AAED,wDAMC;AAED,sCAMC;AA/CD,SAAgB,mBAAmB,CAAC,QAAgD;IAChF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,cAAc,CAAC,QAA8C;IACzE,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjD,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnD,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnD,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,EAAE;YACF,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1D,SAAS,EAAE,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;SAClE;KACJ,CAAC;AACN,CAAC;AAED,SAAgB,2BAA2B,CAAC,QAAsC;IAC9E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAoC;IACvE,OAAO;QACH,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACpE,CAAC;AACN,CAAC;AAED,SAAgB,aAAa,CAAC,KAAe,EAAE,KAAmB;IAC9D,IAAI,MAAM,GAAkC,EAAE,CAAC;IAC/C,KAAK,IAAI,IAAI,IAAI,KAAK;QAClB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IACxC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;QACnB,SAAS,IAAI,EAAE,CAAC;QAChB,GAAG,EAAE,CAAC;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,42 @@
1
+ export interface IBitsoOrder {
2
+ book: string;
3
+ major?: number;
4
+ minor?: number;
5
+ origin_id?: string;
6
+ price?: number;
7
+ side: 'buy' | 'sell';
8
+ stop?: string;
9
+ type: 'market' | 'limit';
10
+ time_in_force?: 'goodtillcancelled' | 'fillorkill' | 'immediateorcancel' | 'postonly';
11
+ }
12
+ export interface IBitsoOrderDetails {
13
+ book: string;
14
+ created_at: string;
15
+ oid: string;
16
+ original_amount: number;
17
+ origin_id?: string;
18
+ original_value: number;
19
+ price?: number;
20
+ side: 'buy' | 'sell';
21
+ status: 'queued' | 'open' | 'partially' | 'filled' | 'cancelled' | 'completed' | 'partially filled';
22
+ stop?: number;
23
+ time_in_force: 'goodtillcancelled' | 'fillorkill' | 'immediateorcancel' | 'postonly';
24
+ triggered_at?: string;
25
+ type: 'market' | 'limit';
26
+ unfilled_amount: number;
27
+ updated_at: string;
28
+ }
29
+ export declare function parseBitsoOrderDetailsArray(response: {
30
+ [key: string]: string;
31
+ side: 'buy' | 'sell';
32
+ status: 'queued' | 'open' | 'partially' | 'filled' | 'cancelled' | 'completed' | 'partially filled';
33
+ time_in_force: 'goodtillcancelled' | 'fillorkill' | 'immediateorcancel' | 'postonly';
34
+ type: 'market' | 'limit';
35
+ }[]): IBitsoOrderDetails[];
36
+ export declare function parseBitsoOrderDetails(response: {
37
+ [key: string]: string;
38
+ side: 'buy' | 'sell';
39
+ status: 'queued' | 'open' | 'partially' | 'filled' | 'cancelled' | 'completed' | 'partially filled';
40
+ time_in_force: 'goodtillcancelled' | 'fillorkill' | 'immediateorcancel' | 'postonly';
41
+ type: 'market' | 'limit';
42
+ }): IBitsoOrderDetails;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBitsoOrderDetailsArray = parseBitsoOrderDetailsArray;
4
+ exports.parseBitsoOrderDetails = parseBitsoOrderDetails;
5
+ function parseBitsoOrderDetailsArray(response) {
6
+ let result = [];
7
+ for (let datum of response)
8
+ result.push(parseBitsoOrderDetails(datum));
9
+ return result;
10
+ }
11
+ function parseBitsoOrderDetails(response) {
12
+ return {
13
+ book: response.book,
14
+ unfilled_amount: parseFloat(response.unfilled_amount),
15
+ original_amount: parseFloat(response.original_amount),
16
+ original_value: parseFloat(response.original_value),
17
+ created_at: response.created_at,
18
+ updated_at: response.updated_at,
19
+ oid: response.oid,
20
+ side: response.side,
21
+ status: response.status,
22
+ time_in_force: response.time_in_force,
23
+ type: response.type,
24
+ origin_id: response.origin_id,
25
+ price: response.price ? parseFloat(response.price) : undefined,
26
+ stop: response.stop ? parseFloat(response.stop) : undefined,
27
+ triggered_at: response.triggered_at
28
+ };
29
+ }
30
+ //# sourceMappingURL=BitsoOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoOrder.js","sourceRoot":"","sources":["../../../../src/api/bitso/tools/BitsoOrder.ts"],"names":[],"mappings":";;AA8BA,kEAWC;AAED,wDAwBC;AArCD,SAAgB,2BAA2B,CAAC,QAMrC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAMlC;IACD,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrD,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrD,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnD,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,YAAY,EAAE,QAAQ,CAAC,YAAY;KACtC,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface IBitsoBookOrder {
2
+ book: string;
3
+ price: number;
4
+ amount: number;
5
+ oid: string;
6
+ }
7
+ export interface IBitsoOrderBook {
8
+ updated_at: string;
9
+ sequence: number;
10
+ bids: IBitsoBookOrder[];
11
+ asks: IBitsoBookOrder[];
12
+ }
13
+ export declare function parseBitsoOrderBook(response: any): IBitsoOrderBook;
14
+ export declare function parseBitsoOrderArray(values: any[]): IBitsoBookOrder[];
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBitsoOrderBook = parseBitsoOrderBook;
4
+ exports.parseBitsoOrderArray = parseBitsoOrderArray;
5
+ function parseBitsoOrderBook(response) {
6
+ return {
7
+ updated_at: response.updated_at,
8
+ sequence: parseInt(response.sequence),
9
+ bids: parseBitsoOrderArray(response.bids),
10
+ asks: parseBitsoOrderArray(response.asks)
11
+ };
12
+ }
13
+ function parseBitsoOrderArray(values) {
14
+ let result = [];
15
+ for (let value of values)
16
+ result.push({
17
+ book: value.book,
18
+ price: parseFloat(value.price),
19
+ amount: parseFloat(value.amount),
20
+ oid: value.oid
21
+ });
22
+ return result;
23
+ }
24
+ //# sourceMappingURL=BitsoOrderBook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoOrderBook.js","sourceRoot":"","sources":["../../../../src/api/bitso/tools/BitsoOrderBook.ts"],"names":[],"mappings":";;AAcA,kDAOC;AAED,oDAUC;AAnBD,SAAgB,mBAAmB,CAAC,QAAa;IAC7C,OAAO;QACH,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC5C,CAAA;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAa;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,MAAM;QACpB,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAChC,GAAG,EAAE,KAAK,CAAC,GAAG;SACjB,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface IBitsoTradeRequest {
2
+ book: string;
3
+ limit?: number;
4
+ maker?: string;
5
+ sort?: 'asc' | 'desc';
6
+ }
7
+ export interface IBitsoTrade {
8
+ book: string;
9
+ created_at: string;
10
+ amount: number;
11
+ maker_side: 'buy' | 'sell';
12
+ price: number;
13
+ tid: number;
14
+ }
15
+ export interface IBitsoTradeDetails {
16
+ book: string;
17
+ created_at: string;
18
+ fees_amount: number;
19
+ side: 'buy' | 'sell';
20
+ minor: number;
21
+ minor_currency: string;
22
+ major: number;
23
+ major_currency: string;
24
+ maker_side: 'buy' | 'sell';
25
+ price: number;
26
+ tid: number;
27
+ oid: string;
28
+ fees_currency: string;
29
+ }
30
+ export declare function parseBitsoTradeArray(response: {
31
+ [key: string]: any;
32
+ }[]): IBitsoTrade[];
33
+ export declare function parseBitsoTrade(response: {
34
+ [key: string]: any;
35
+ }): IBitsoTrade;
36
+ export declare function parseBitsoTradeDetailsArray(response: {
37
+ [key: string]: any;
38
+ }[]): IBitsoTradeDetails[];
39
+ export declare function parseBitsoTradeDetails(response: {
40
+ [key: string]: any;
41
+ }): IBitsoTradeDetails;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBitsoTradeArray = parseBitsoTradeArray;
4
+ exports.parseBitsoTrade = parseBitsoTrade;
5
+ exports.parseBitsoTradeDetailsArray = parseBitsoTradeDetailsArray;
6
+ exports.parseBitsoTradeDetails = parseBitsoTradeDetails;
7
+ function parseBitsoTradeArray(response) {
8
+ let result = [];
9
+ for (let datum of response)
10
+ result.push(parseBitsoTrade(datum));
11
+ return result;
12
+ }
13
+ function parseBitsoTrade(response) {
14
+ return {
15
+ book: response.book,
16
+ created_at: response.created_at,
17
+ amount: parseFloat(response.amount),
18
+ maker_side: response.maker_side,
19
+ price: parseFloat(response.price),
20
+ tid: response.tid
21
+ };
22
+ }
23
+ function parseBitsoTradeDetailsArray(response) {
24
+ let result = [];
25
+ for (let datum of response)
26
+ result.push(parseBitsoTradeDetails(datum));
27
+ return result;
28
+ }
29
+ function parseBitsoTradeDetails(response) {
30
+ return {
31
+ book: response.book,
32
+ created_at: response.created_at,
33
+ maker_side: response.maker_side,
34
+ price: parseFloat(response.price),
35
+ tid: response.tid,
36
+ fees_amount: parseFloat(response.fees_amount),
37
+ fees_currency: response.fees_currency,
38
+ major: parseFloat(response.major),
39
+ major_currency: response.major_currency,
40
+ minor: parseFloat(response.minor),
41
+ minor_currency: response.minor_currency,
42
+ side: response.side,
43
+ oid: response.oid
44
+ };
45
+ }
46
+ //# sourceMappingURL=BitsoTrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitsoTrade.js","sourceRoot":"","sources":["../../../../src/api/bitso/tools/BitsoTrade.ts"],"names":[],"mappings":";;AAgCA,oDAKC;AAED,0CASC;AAED,kEAKC;AAED,wDAgBC;AAzCD,SAAgB,oBAAoB,CAAC,QAAmC;IACpE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,eAAe,CAAC,QAAgC;IAC5D,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;KACpB,CAAC;AACN,CAAC;AAED,SAAgB,2BAA2B,CAAC,QAAmC;IAC3E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,IAAI,QAAQ;QACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAgC;IACnE,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;KACpB,CAAC;AACN,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Request } from "express";
2
+ import { APICheck, APICheckConfig, APICheckResult } from "./APIChecker";
3
+ export declare class RoleServicePermissionsChecker implements APICheck {
4
+ private service;
5
+ private sessionServiceUrl;
6
+ private roleManager;
7
+ constructor(service: string, sessionServiceUrl: string, sessionServiceCrud: string);
8
+ getConfig(): APICheckConfig;
9
+ apply(config: APICheckConfig, req: Request): Promise<APICheckResult>;
10
+ private checkServicePermissions;
11
+ private isMethodAndPathAllowed;
12
+ private unexpectedErrorRejection;
13
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RoleServicePermissionsChecker = void 0;
13
+ const RequestAxiosCall_1 = require("../request/RequestAxiosCall");
14
+ const RoleManager_1 = require("../request/crud/common/RoleManager");
15
+ class RoleServicePermissionsChecker {
16
+ constructor(service, sessionServiceUrl, sessionServiceCrud) {
17
+ this.service = service;
18
+ this.sessionServiceUrl = sessionServiceUrl;
19
+ this.roleManager = new RoleManager_1.RoleManager(`${sessionServiceCrud}/v1`);
20
+ }
21
+ getConfig() {
22
+ return {
23
+ check: "rolePermissionService",
24
+ };
25
+ }
26
+ apply(config, req) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ var _a, _b, _c;
29
+ try {
30
+ const { platform } = req.headers;
31
+ let headers = {
32
+ headers: {
33
+ "Authorization": req.headers.authorization,
34
+ "platform": platform
35
+ }
36
+ };
37
+ // Verify the JWT and platform with the session service
38
+ let verification = yield RequestAxiosCall_1.RequestAxiosCall.post(`${this.sessionServiceUrl}/v1/verify`, { jwt: ((_a = req.headers.authorization) !== null && _a !== void 0 ? _a : 'NoToken').replace("Bearer ", ""), platform: platform }, headers);
39
+ // Fetch the service role
40
+ let role = yield this.roleManager.find({ name: verification === null || verification === void 0 ? void 0 : verification.role, config: headers });
41
+ // Check if the service and endpoint are allowed
42
+ return this.checkServicePermissions((_c = (_b = role === null || role === void 0 ? void 0 : role.permissions) === null || _b === void 0 ? void 0 : _b.services) !== null && _c !== void 0 ? _c : {}, req, verification);
43
+ }
44
+ catch (error) {
45
+ return this.unexpectedErrorRejection(error);
46
+ }
47
+ });
48
+ }
49
+ // Checks if the requested service, method, and path are allowed for the user's role.
50
+ checkServicePermissions(permissions, req, verification) {
51
+ if (permissions[this.service]) {
52
+ if (this.isMethodAndPathAllowed(permissions[this.service], req))
53
+ return { approved: true, payload: verification };
54
+ return {
55
+ approved: false,
56
+ rejection: {
57
+ code: 401,
58
+ payload: {
59
+ status: "Error",
60
+ message: `Method or Path are not allowed: ${req.method} ${req.baseUrl + req.path.replace(/\/\d+$/, "")}`
61
+ }
62
+ }
63
+ };
64
+ }
65
+ return {
66
+ approved: false,
67
+ rejection: {
68
+ code: 401,
69
+ payload: {
70
+ status: "Error",
71
+ message: `Service is not allowed: ${this.service}`
72
+ }
73
+ }
74
+ };
75
+ }
76
+ //Checks if the HTTP method and path are allowed in the permissions object.
77
+ isMethodAndPathAllowed(permissions, req) {
78
+ return permissions[req.method] && permissions[req.method][req.baseUrl + req.path.replace(/\/\d+$/, "")];
79
+ }
80
+ unexpectedErrorRejection(error) {
81
+ var _a, _b, _c, _d;
82
+ return {
83
+ approved: false,
84
+ rejection: {
85
+ code: (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 500,
86
+ payload: { status: "Error", message: (_d = (_c = error === null || error === void 0 ? void 0 : error.response) === null || _c === void 0 ? void 0 : _c.data) !== null && _d !== void 0 ? _d : error }
87
+ },
88
+ };
89
+ }
90
+ }
91
+ exports.RoleServicePermissionsChecker = RoleServicePermissionsChecker;
92
+ //# sourceMappingURL=RoleServicePermissionsChecker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleServicePermissionsChecker.js","sourceRoot":"","sources":["../../../src/api/check/RoleServicePermissionsChecker.ts"],"names":[],"mappings":"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"}