finary-community 0.1.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 (46) hide show
  1. package/README.md +229 -0
  2. package/dist/auth/auth-manager.d.ts +12 -0
  3. package/dist/auth/auth-manager.js +120 -0
  4. package/dist/auth/login-helper.d.ts +11 -0
  5. package/dist/auth/login-helper.js +163 -0
  6. package/dist/client/benchmarks.d.ts +7 -0
  7. package/dist/client/benchmarks.js +15 -0
  8. package/dist/client/checkings.d.ts +15 -0
  9. package/dist/client/checkings.js +46 -0
  10. package/dist/client/finary-client.d.ts +16 -0
  11. package/dist/client/finary-client.js +70 -0
  12. package/dist/client/investments.d.ts +20 -0
  13. package/dist/client/investments.js +67 -0
  14. package/dist/client/savings.d.ts +13 -0
  15. package/dist/client/savings.js +46 -0
  16. package/dist/greetings.d.ts +2 -0
  17. package/dist/greetings.js +12 -0
  18. package/dist/index.d.ts +8 -0
  19. package/dist/index.js +25 -0
  20. package/dist/interfaces/benchmark.d.ts +10 -0
  21. package/dist/interfaces/benchmark.js +3 -0
  22. package/dist/interfaces/checking.d.ts +78 -0
  23. package/dist/interfaces/checking.js +3 -0
  24. package/dist/interfaces/common.d.ts +15 -0
  25. package/dist/interfaces/common.js +22 -0
  26. package/dist/interfaces/distribution.d.ts +9 -0
  27. package/dist/interfaces/distribution.js +3 -0
  28. package/dist/interfaces/index.d.ts +22 -0
  29. package/dist/interfaces/index.js +28 -0
  30. package/dist/interfaces/investment.d.ts +346 -0
  31. package/dist/interfaces/investment.js +8 -0
  32. package/dist/interfaces/organization.d.ts +9 -0
  33. package/dist/interfaces/organization.js +3 -0
  34. package/dist/interfaces/savings.d.ts +83 -0
  35. package/dist/interfaces/savings.js +3 -0
  36. package/dist/interfaces/timeseries.d.ts +9 -0
  37. package/dist/interfaces/timeseries.js +3 -0
  38. package/dist/interfaces/transaction.d.ts +78 -0
  39. package/dist/interfaces/transaction.js +3 -0
  40. package/dist/interfaces/user.d.ts +163 -0
  41. package/dist/interfaces/user.js +3 -0
  42. package/dist/scripts/setup-credentials.d.ts +1 -0
  43. package/dist/scripts/setup-credentials.js +38 -0
  44. package/dist/utils/console-logger.d.ts +6 -0
  45. package/dist/utils/console-logger.js +16 -0
  46. package/package.json +34 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckingClient = void 0;
4
+ const interfaces_1 = require("../interfaces");
5
+ class CheckingClient {
6
+ constructor(requestHandler) {
7
+ this.requestHandler = requestHandler;
8
+ }
9
+ async getAccounts(organizationId, membershipId, period = interfaces_1.FinaryPeriod.ALL) {
10
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/accounts?period=${period}`);
11
+ return response.result;
12
+ }
13
+ async getAccount(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.ALL) {
14
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/accounts/${accountId}?period=${period}`);
15
+ return response.result;
16
+ }
17
+ async getPortfolio(organizationId, membershipId, period = interfaces_1.FinaryPeriod.ALL) {
18
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings?period=${period}`);
19
+ return response.result;
20
+ }
21
+ async getTimeseries(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
22
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/timeseries?period=${period}&timeseries_type=${type}`);
23
+ return response.result;
24
+ }
25
+ async getAccountTimeseries(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
26
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/accounts/${accountId}/timeseries?period=${period}&timeseries_type=${type}`);
27
+ return response.result;
28
+ }
29
+ async getDistribution(organizationId, membershipId, type = interfaces_1.DistributionType.ACCOUNT) {
30
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/distribution?type=${type}`);
31
+ return response.result;
32
+ }
33
+ async getTransactions(organizationId, membershipId, page = 1, perPage = 50, query = '', accountId) {
34
+ let url = `/organizations/${organizationId}/memberships/${membershipId}/portfolio/checkings/transactions?page=${page}&per_page=${perPage}`;
35
+ if (query) {
36
+ url += `&query=${encodeURIComponent(query)}`;
37
+ }
38
+ if (accountId) {
39
+ url += `&account_id=${accountId}`;
40
+ }
41
+ const response = await this.requestHandler.authenticatedRequest(url);
42
+ return response.result;
43
+ }
44
+ }
45
+ exports.CheckingClient = CheckingClient;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jaGVja2luZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQTBLO0FBTTFLLE1BQWEsY0FBYztJQUN2QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBSSxDQUFDO0lBRWhELEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRztRQUMxRyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLHdDQUF3QyxNQUFNLEVBQUUsQ0FDL0csQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBaUIsRUFBRSxTQUF1Qix5QkFBWSxDQUFDLEdBQUc7UUFDNUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxpQ0FBaUMsU0FBUyxXQUFXLE1BQU0sRUFBRSxDQUM1SCxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUF1Qix5QkFBWSxDQUFDLEdBQUc7UUFDM0csTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSwrQkFBK0IsTUFBTSxFQUFFLENBQ3RHLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRyxFQUFFLE9BQXVCLDJCQUFjLENBQUMsR0FBRztRQUN2SixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLDBDQUEwQyxNQUFNLG9CQUFvQixJQUFJLEVBQUUsQ0FDekksQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRyxFQUFFLE9BQXVCLDJCQUFjLENBQUMsR0FBRztRQUNqTCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLGlDQUFpQyxTQUFTLHNCQUFzQixNQUFNLG9CQUFvQixJQUFJLEVBQUUsQ0FDL0osQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsT0FBeUIsNkJBQWdCLENBQUMsT0FBTztRQUN4SCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLDBDQUEwQyxJQUFJLEVBQUUsQ0FDL0csQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsT0FBZSxDQUFDLEVBQUUsVUFBa0IsRUFBRSxFQUFFLFFBQWdCLEVBQUUsRUFBRSxTQUFrQjtRQUNySixJQUFJLEdBQUcsR0FBRyxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSwwQ0FBMEMsSUFBSSxhQUFhLE9BQU8sRUFBRSxDQUFDO1FBQzNJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixHQUFHLElBQUksVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osR0FBRyxJQUFJLGVBQWUsU0FBUyxFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBZ0MsR0FBRyxDQUFDLENBQUM7UUFDcEcsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQXhERCx3Q0F3REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5hcnlSZXNwb25zZSwgQ2hlY2tpbmdBY2NvdW50LCBDaGVja2luZ1BvcnRmb2xpbywgRmluYXJ5UGVyaW9kLCBUaW1lc2VyaWVzLCBUaW1lc2VyaWVzVHlwZSwgRGlzdHJpYnV0aW9uLCBEaXN0cmlidXRpb25UeXBlLCBUcmFuc2FjdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RIYW5kbGVyIHtcclxuICAgIGF1dGhlbnRpY2F0ZWRSZXF1ZXN0PFQ+KGVuZHBvaW50OiBzdHJpbmcsIG1ldGhvZD86IHN0cmluZywgYm9keT86IGFueSk6IFByb21pc2U8VD47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGVja2luZ0NsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcikgeyB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnRzKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nLCBwZXJpb2Q6IEZpbmFyeVBlcmlvZCA9IEZpbmFyeVBlcmlvZC5BTEwpOiBQcm9taXNlPENoZWNraW5nQWNjb3VudFtdPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPENoZWNraW5nQWNjb3VudFtdPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL2NoZWNraW5ncy9hY2NvdW50cz9wZXJpb2Q9JHtwZXJpb2R9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWNjb3VudChvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLkFMTCk6IFByb21pc2U8Q2hlY2tpbmdBY2NvdW50PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPENoZWNraW5nQWNjb3VudD4+KFxyXG4gICAgICAgICAgICBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9jaGVja2luZ3MvYWNjb3VudHMvJHthY2NvdW50SWR9P3BlcmlvZD0ke3BlcmlvZH1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRQb3J0Zm9saW8ob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLkFMTCk6IFByb21pc2U8Q2hlY2tpbmdQb3J0Zm9saW8+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8Q2hlY2tpbmdQb3J0Zm9saW8+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vY2hlY2tpbmdzP3BlcmlvZD0ke3BlcmlvZH1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRUaW1lc2VyaWVzKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nLCBwZXJpb2Q6IEZpbmFyeVBlcmlvZCA9IEZpbmFyeVBlcmlvZC5ZVEQsIHR5cGU6IFRpbWVzZXJpZXNUeXBlID0gVGltZXNlcmllc1R5cGUuU1VNKTogUHJvbWlzZTxUaW1lc2VyaWVzW10+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8VGltZXNlcmllc1tdPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL2NoZWNraW5ncy90aW1lc2VyaWVzP3BlcmlvZD0ke3BlcmlvZH0mdGltZXNlcmllc190eXBlPSR7dHlwZX1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBY2NvdW50VGltZXNlcmllcyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCwgdHlwZTogVGltZXNlcmllc1R5cGUgPSBUaW1lc2VyaWVzVHlwZS5TVU0pOiBQcm9taXNlPFRpbWVzZXJpZXNbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxUaW1lc2VyaWVzW10+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vY2hlY2tpbmdzL2FjY291bnRzLyR7YWNjb3VudElkfS90aW1lc2VyaWVzP3BlcmlvZD0ke3BlcmlvZH0mdGltZXNlcmllc190eXBlPSR7dHlwZX1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREaXN0cmlidXRpb24ob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIHR5cGU6IERpc3RyaWJ1dGlvblR5cGUgPSBEaXN0cmlidXRpb25UeXBlLkFDQ09VTlQpOiBQcm9taXNlPERpc3RyaWJ1dGlvbj4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxEaXN0cmlidXRpb24+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vY2hlY2tpbmdzL2Rpc3RyaWJ1dGlvbj90eXBlPSR7dHlwZX1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvbnMob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIHBhZ2U6IG51bWJlciA9IDEsIHBlclBhZ2U6IG51bWJlciA9IDUwLCBxdWVyeTogc3RyaW5nID0gJycsIGFjY291bnRJZD86IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xyXG4gICAgICAgIGxldCB1cmwgPSBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9jaGVja2luZ3MvdHJhbnNhY3Rpb25zP3BhZ2U9JHtwYWdlfSZwZXJfcGFnZT0ke3BlclBhZ2V9YDtcclxuICAgICAgICBpZiAocXVlcnkpIHtcclxuICAgICAgICAgICAgdXJsICs9IGAmcXVlcnk9JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnkpfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhY2NvdW50SWQpIHtcclxuICAgICAgICAgICAgdXJsICs9IGAmYWNjb3VudF9pZD0ke2FjY291bnRJZH1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8VHJhbnNhY3Rpb25bXT4+KHVybCk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { CheckingClient } from "./checkings";
2
+ import { BenchmarkClient } from "./benchmarks";
3
+ import { InvestmentClient } from "./investments";
4
+ import { SavingsClient } from "./savings";
5
+ import { AuthConfig, UserProfile, Organization } from "../interfaces";
6
+ export declare class FinaryClient {
7
+ private auth;
8
+ checkings: CheckingClient;
9
+ benchmarks: BenchmarkClient;
10
+ investments: InvestmentClient;
11
+ savings: SavingsClient;
12
+ constructor(config: AuthConfig);
13
+ authenticatedRequest<T>(endpoint: string, method?: string, body?: any): Promise<T>;
14
+ getUserProfile(): Promise<UserProfile>;
15
+ getOrganizations(): Promise<Organization[]>;
16
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FinaryClient = void 0;
4
+ const auth_manager_1 = require("../auth/auth-manager");
5
+ const checkings_1 = require("./checkings");
6
+ const benchmarks_1 = require("./benchmarks");
7
+ const investments_1 = require("./investments");
8
+ const savings_1 = require("./savings");
9
+ const API_BASE = "https://api.finary.com";
10
+ class FinaryClient {
11
+ constructor(config) {
12
+ this.auth = new auth_manager_1.AuthManager(config);
13
+ this.checkings = new checkings_1.CheckingClient(this);
14
+ this.benchmarks = new benchmarks_1.BenchmarkClient(this);
15
+ this.investments = new investments_1.InvestmentClient(this);
16
+ this.savings = new savings_1.SavingsClient(this);
17
+ }
18
+ async authenticatedRequest(endpoint, method = "GET", body) {
19
+ let token = await this.auth.getToken();
20
+ const makeReq = async (t) => {
21
+ const creds = this.auth.getCredentials();
22
+ const headers = {
23
+ ...(creds.headers || {}),
24
+ "Authorization": `Bearer ${t}`,
25
+ "Content-Type": "application/json"
26
+ };
27
+ // Cleanup headers
28
+ delete headers['content-length'];
29
+ delete headers['host'];
30
+ delete headers['connection'];
31
+ delete headers['cookie'];
32
+ Object.keys(headers).forEach(k => { if (k.startsWith(':'))
33
+ delete headers[k]; });
34
+ const options = {
35
+ method: method,
36
+ headers: headers
37
+ };
38
+ if (body) {
39
+ options.body = JSON.stringify(body);
40
+ }
41
+ return await fetch(`${API_BASE}${endpoint}`, options);
42
+ };
43
+ let response = await makeReq(token);
44
+ if (response.status === 401) {
45
+ console.warn("401 Received, refreshing token...");
46
+ try {
47
+ token = await this.auth.refreshToken();
48
+ response = await makeReq(token);
49
+ }
50
+ catch (e) {
51
+ console.error(`Refresh failed: ${e}`);
52
+ throw e;
53
+ }
54
+ }
55
+ if (!response.ok) {
56
+ throw new Error(`Request to ${endpoint} failed: ${response.status}`);
57
+ }
58
+ return (await response.json());
59
+ }
60
+ async getUserProfile() {
61
+ const response = await this.authenticatedRequest('/users/me');
62
+ return response.result;
63
+ }
64
+ async getOrganizations() {
65
+ const response = await this.authenticatedRequest('/users/me/organizations');
66
+ return response.result;
67
+ }
68
+ }
69
+ exports.FinaryClient = FinaryClient;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYXJ5LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvZmluYXJ5LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBbUQ7QUFDbkQsMkNBQTZDO0FBQzdDLDZDQUErQztBQUMvQywrQ0FBaUQ7QUFDakQsdUNBQTBDO0FBRzFDLE1BQU0sUUFBUSxHQUFHLHdCQUF3QixDQUFDO0FBRTFDLE1BQWEsWUFBWTtJQU9yQixZQUFZLE1BQWtCO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSwwQkFBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSwwQkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSw0QkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSw4QkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFJLFFBQWdCLEVBQUUsU0FBaUIsS0FBSyxFQUFFLElBQVU7UUFDckYsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXZDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFTLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUEyQjtnQkFDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2dCQUN4QixlQUFlLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQzlCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUVGLGtCQUFrQjtZQUNsQixPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpGLE1BQU0sT0FBTyxHQUFnQjtnQkFDekIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTyxFQUFFLE9BQU87YUFDbkIsQ0FBQztZQUVGLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFFRCxPQUFPLE1BQU0sS0FBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQztRQUVGLElBQUksUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDO2dCQUNELEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZDLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLENBQUMsQ0FBQztZQUNaLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxRQUFRLFlBQVksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBTSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBOEIsV0FBVyxDQUFDLENBQUM7UUFDM0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFpQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzVHLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0NBQ0o7QUExRUQsb0NBMEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aE1hbmFnZXIgfSBmcm9tIFwiLi4vYXV0aC9hdXRoLW1hbmFnZXJcIjtcclxuaW1wb3J0IHsgQ2hlY2tpbmdDbGllbnQgfSBmcm9tIFwiLi9jaGVja2luZ3NcIjtcclxuaW1wb3J0IHsgQmVuY2htYXJrQ2xpZW50IH0gZnJvbSBcIi4vYmVuY2htYXJrc1wiO1xyXG5pbXBvcnQgeyBJbnZlc3RtZW50Q2xpZW50IH0gZnJvbSBcIi4vaW52ZXN0bWVudHNcIjtcclxuaW1wb3J0IHsgU2F2aW5nc0NsaWVudCB9IGZyb20gXCIuL3NhdmluZ3NcIjtcclxuaW1wb3J0IHsgQXV0aENvbmZpZywgRmluYXJ5UmVzcG9uc2UsIFVzZXJQcm9maWxlLCBPcmdhbml6YXRpb24sIENoZWNraW5nQWNjb3VudCwgQ2hlY2tpbmdQb3J0Zm9saW8sIEZpbmFyeVBlcmlvZCwgVGltZXNlcmllcywgVGltZXNlcmllc1R5cGUsIERpc3RyaWJ1dGlvbiwgRGlzdHJpYnV0aW9uVHlwZSwgVHJhbnNhY3Rpb24gfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5cclxuY29uc3QgQVBJX0JBU0UgPSBcImh0dHBzOi8vYXBpLmZpbmFyeS5jb21cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGaW5hcnlDbGllbnQge1xyXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoTWFuYWdlcjtcclxuICAgIHB1YmxpYyBjaGVja2luZ3M6IENoZWNraW5nQ2xpZW50O1xyXG4gICAgcHVibGljIGJlbmNobWFya3M6IEJlbmNobWFya0NsaWVudDtcclxuICAgIHB1YmxpYyBpbnZlc3RtZW50czogSW52ZXN0bWVudENsaWVudDtcclxuICAgIHB1YmxpYyBzYXZpbmdzOiBTYXZpbmdzQ2xpZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogQXV0aENvbmZpZykge1xyXG4gICAgICAgIHRoaXMuYXV0aCA9IG5ldyBBdXRoTWFuYWdlcihjb25maWcpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tpbmdzID0gbmV3IENoZWNraW5nQ2xpZW50KHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYmVuY2htYXJrcyA9IG5ldyBCZW5jaG1hcmtDbGllbnQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5pbnZlc3RtZW50cyA9IG5ldyBJbnZlc3RtZW50Q2xpZW50KHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2F2aW5ncyA9IG5ldyBTYXZpbmdzQ2xpZW50KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBhdXRoZW50aWNhdGVkUmVxdWVzdDxUPihlbmRwb2ludDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZyA9IFwiR0VUXCIsIGJvZHk/OiBhbnkpOiBQcm9taXNlPFQ+IHtcclxuICAgICAgICBsZXQgdG9rZW4gPSBhd2FpdCB0aGlzLmF1dGguZ2V0VG9rZW4oKTtcclxuXHJcbiAgICAgICAgY29uc3QgbWFrZVJlcSA9IGFzeW5jICh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY3JlZHMgPSB0aGlzLmF1dGguZ2V0Q3JlZGVudGlhbHMoKTtcclxuICAgICAgICAgICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcclxuICAgICAgICAgICAgICAgIC4uLihjcmVkcy5oZWFkZXJzIHx8IHt9KSxcclxuICAgICAgICAgICAgICAgIFwiQXV0aG9yaXphdGlvblwiOiBgQmVhcmVyICR7dH1gLFxyXG4gICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIC8vIENsZWFudXAgaGVhZGVyc1xyXG4gICAgICAgICAgICBkZWxldGUgaGVhZGVyc1snY29udGVudC1sZW5ndGgnXTtcclxuICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbJ2hvc3QnXTtcclxuICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbJ2Nvbm5lY3Rpb24nXTtcclxuICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbJ2Nvb2tpZSddO1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKGsgPT4geyBpZiAoay5zdGFydHNXaXRoKCc6JykpIGRlbGV0ZSBoZWFkZXJzW2tdOyB9KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBtZXRob2QsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZiAoYm9keSkge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBmZXRjaChgJHtBUElfQkFTRX0ke2VuZHBvaW50fWAsIG9wdGlvbnMpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IG1ha2VSZXEodG9rZW4pO1xyXG5cclxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiNDAxIFJlY2VpdmVkLCByZWZyZXNoaW5nIHRva2VuLi4uXCIpO1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgdG9rZW4gPSBhd2FpdCB0aGlzLmF1dGgucmVmcmVzaFRva2VuKCk7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IG1ha2VSZXEodG9rZW4pO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBSZWZyZXNoIGZhaWxlZDogJHtlfWApO1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgdG8gJHtlbmRwb2ludH0gZmFpbGVkOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBUO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRVc2VyUHJvZmlsZSgpOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFVzZXJQcm9maWxlPj4oJy91c2Vycy9tZScpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldE9yZ2FuaXphdGlvbnMoKTogUHJvbWlzZTxPcmdhbml6YXRpb25bXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxPcmdhbml6YXRpb25bXT4+KCcvdXNlcnMvbWUvb3JnYW5pemF0aW9ucycpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { InvestmentPortfolio, FinaryPeriod, Timeseries, TimeseriesType, Distribution, InvestmentDistributionType, DividendsResponse, SectorAllocationResponse, GeographicalAllocationResponse, FeesResponse, InvestmentAccount, AccountFeesResponse } from "../interfaces";
2
+ import { RequestHandler } from "./checkings";
3
+ export declare class InvestmentClient {
4
+ private requestHandler;
5
+ constructor(requestHandler: RequestHandler);
6
+ getPortfolio(organizationId: string, membershipId: string, period?: FinaryPeriod): Promise<InvestmentPortfolio>;
7
+ getTimeseries(organizationId: string, membershipId: string, period?: FinaryPeriod, type?: TimeseriesType): Promise<Timeseries[]>;
8
+ getDistribution(organizationId: string, membershipId: string, type?: InvestmentDistributionType, period?: FinaryPeriod): Promise<Distribution>;
9
+ getDividends(organizationId: string, membershipId: string, withRealEstate?: boolean): Promise<DividendsResponse>;
10
+ getSectorAllocation(organizationId: string, membershipId: string): Promise<SectorAllocationResponse>;
11
+ getGeographicalAllocation(organizationId: string, membershipId: string): Promise<GeographicalAllocationResponse>;
12
+ getFees(organizationId: string, membershipId: string): Promise<FeesResponse>;
13
+ getAccount(organizationId: string, membershipId: string, accountId: string, period?: FinaryPeriod): Promise<InvestmentAccount>;
14
+ getAccountTimeseries(organizationId: string, membershipId: string, accountId: string, period?: FinaryPeriod, type?: TimeseriesType): Promise<Timeseries[]>;
15
+ getAccountDistribution(organizationId: string, membershipId: string, accountId: string, type?: InvestmentDistributionType, period?: FinaryPeriod): Promise<Distribution>;
16
+ getAccountDividends(organizationId: string, membershipId: string, accountId: string, withRealEstate?: boolean): Promise<DividendsResponse>;
17
+ getAccountSectorAllocation(organizationId: string, membershipId: string, accountId: string): Promise<SectorAllocationResponse>;
18
+ getAccountGeographicalAllocation(organizationId: string, membershipId: string, accountId: string): Promise<GeographicalAllocationResponse>;
19
+ getAccountFees(organizationId: string, membershipId: string, accountId: string): Promise<AccountFeesResponse>;
20
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvestmentClient = void 0;
4
+ const interfaces_1 = require("../interfaces");
5
+ class InvestmentClient {
6
+ constructor(requestHandler) {
7
+ this.requestHandler = requestHandler;
8
+ }
9
+ async getPortfolio(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD) {
10
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments?period=${period}`);
11
+ return response.result;
12
+ }
13
+ async getTimeseries(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
14
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/timeseries?period=${period}&timeseries_type=${type}`);
15
+ return response.result;
16
+ }
17
+ async getDistribution(organizationId, membershipId, type = interfaces_1.InvestmentDistributionType.STOCK, period = interfaces_1.FinaryPeriod.YTD) {
18
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/distribution?type=${type}&period=${period}`);
19
+ return response.result;
20
+ }
21
+ async getDividends(organizationId, membershipId, withRealEstate = true) {
22
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/dividends?with_real_estate=${withRealEstate}`);
23
+ return response.result;
24
+ }
25
+ async getSectorAllocation(organizationId, membershipId) {
26
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/sector_allocation`);
27
+ return response.result;
28
+ }
29
+ async getGeographicalAllocation(organizationId, membershipId) {
30
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/geographical_allocation`);
31
+ return response.result;
32
+ }
33
+ async getFees(organizationId, membershipId) {
34
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/fees?new_format=true`);
35
+ return response.result;
36
+ }
37
+ async getAccount(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.YTD) {
38
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}?period=${period}`);
39
+ return response.result;
40
+ }
41
+ async getAccountTimeseries(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
42
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/timeseries?period=${period}&timeseries_type=${type}`);
43
+ return response.result;
44
+ }
45
+ async getAccountDistribution(organizationId, membershipId, accountId, type = interfaces_1.InvestmentDistributionType.STOCK, period = interfaces_1.FinaryPeriod.YTD) {
46
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/distribution?type=${type}&period=${period}`);
47
+ return response.result;
48
+ }
49
+ async getAccountDividends(organizationId, membershipId, accountId, withRealEstate = true) {
50
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/dividends?with_real_estate=${withRealEstate}`);
51
+ return response.result;
52
+ }
53
+ async getAccountSectorAllocation(organizationId, membershipId, accountId) {
54
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/sector_allocation`);
55
+ return response.result;
56
+ }
57
+ async getAccountGeographicalAllocation(organizationId, membershipId, accountId) {
58
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/geographical_allocation`);
59
+ return response.result;
60
+ }
61
+ async getAccountFees(organizationId, membershipId, accountId) {
62
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/investments/accounts/${accountId}/fees?new_format=true`);
63
+ return response.result;
64
+ }
65
+ }
66
+ exports.InvestmentClient = InvestmentClient;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZXN0bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2ludmVzdG1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUEyUjtBQUczUixNQUFhLGdCQUFnQjtJQUN6QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBSSxDQUFDO0lBRWhELEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRztRQUMzRyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLGlDQUFpQyxNQUFNLEVBQUUsQ0FDeEcsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHLEVBQUUsT0FBdUIsMkJBQWMsQ0FBQyxHQUFHO1FBQ3ZKLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksNENBQTRDLE1BQU0sb0JBQW9CLElBQUksRUFBRSxDQUMzSSxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxPQUFtQyx1Q0FBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHO1FBQ25MLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksNENBQTRDLElBQUksV0FBVyxNQUFNLEVBQUUsQ0FDbEksQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsaUJBQTBCLElBQUk7UUFDbEcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxxREFBcUQsY0FBYyxFQUFFLENBQ3BJLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLFlBQW9CO1FBQ3pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksMENBQTBDLENBQ3pHLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxjQUFzQixFQUFFLFlBQW9CO1FBQy9FLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksZ0RBQWdELENBQy9HLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBc0IsRUFBRSxZQUFvQjtRQUM3RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLDZDQUE2QyxDQUM1RyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRztRQUM1SCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLG1DQUFtQyxTQUFTLFdBQVcsTUFBTSxFQUFFLENBQzlILENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBaUIsRUFBRSxTQUF1Qix5QkFBWSxDQUFDLEdBQUcsRUFBRSxPQUF1QiwyQkFBYyxDQUFDLEdBQUc7UUFDakwsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxtQ0FBbUMsU0FBUyxzQkFBc0IsTUFBTSxvQkFBb0IsSUFBSSxFQUFFLENBQ2pLLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBaUIsRUFBRSxPQUFtQyx1Q0FBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHO1FBQzdNLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksbUNBQW1DLFNBQVMsc0JBQXNCLElBQUksV0FBVyxNQUFNLEVBQUUsQ0FDeEosQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLGlCQUEwQixJQUFJO1FBQzVILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksbUNBQW1DLFNBQVMsK0JBQStCLGNBQWMsRUFBRSxDQUMxSixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLFNBQWlCO1FBQ25HLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksbUNBQW1DLFNBQVMsb0JBQW9CLENBQy9ILENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBaUI7UUFDekcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxtQ0FBbUMsU0FBUywwQkFBMEIsQ0FDckksQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBaUI7UUFDdkYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxtQ0FBbUMsU0FBUyx1QkFBdUIsQ0FDbEksQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0NBQ0o7QUFwR0QsNENBb0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluYXJ5UmVzcG9uc2UsIEludmVzdG1lbnRQb3J0Zm9saW8sIEZpbmFyeVBlcmlvZCwgVGltZXNlcmllcywgVGltZXNlcmllc1R5cGUsIERpc3RyaWJ1dGlvbiwgSW52ZXN0bWVudERpc3RyaWJ1dGlvblR5cGUsIERpdmlkZW5kc1Jlc3BvbnNlLCBTZWN0b3JBbGxvY2F0aW9uUmVzcG9uc2UsIEdlb2dyYXBoaWNhbEFsbG9jYXRpb25SZXNwb25zZSwgRmVlc1Jlc3BvbnNlLCBJbnZlc3RtZW50QWNjb3VudCwgQWNjb3VudEZlZXNSZXNwb25zZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSBcIi4vY2hlY2tpbmdzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSW52ZXN0bWVudENsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcikgeyB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFBvcnRmb2xpbyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgcGVyaW9kOiBGaW5hcnlQZXJpb2QgPSBGaW5hcnlQZXJpb2QuWVREKTogUHJvbWlzZTxJbnZlc3RtZW50UG9ydGZvbGlvPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPEludmVzdG1lbnRQb3J0Zm9saW8+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHM/cGVyaW9kPSR7cGVyaW9kfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFRpbWVzZXJpZXMob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCwgdHlwZTogVGltZXNlcmllc1R5cGUgPSBUaW1lc2VyaWVzVHlwZS5TVU0pOiBQcm9taXNlPFRpbWVzZXJpZXNbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxUaW1lc2VyaWVzW10+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvdGltZXNlcmllcz9wZXJpb2Q9JHtwZXJpb2R9JnRpbWVzZXJpZXNfdHlwZT0ke3R5cGV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGlzdHJpYnV0aW9uKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nLCB0eXBlOiBJbnZlc3RtZW50RGlzdHJpYnV0aW9uVHlwZSA9IEludmVzdG1lbnREaXN0cmlidXRpb25UeXBlLlNUT0NLLCBwZXJpb2Q6IEZpbmFyeVBlcmlvZCA9IEZpbmFyeVBlcmlvZC5ZVEQpOiBQcm9taXNlPERpc3RyaWJ1dGlvbj4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxEaXN0cmlidXRpb24+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvZGlzdHJpYnV0aW9uP3R5cGU9JHt0eXBlfSZwZXJpb2Q9JHtwZXJpb2R9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGl2aWRlbmRzKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nLCB3aXRoUmVhbEVzdGF0ZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPERpdmlkZW5kc1Jlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPERpdmlkZW5kc1Jlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL2ludmVzdG1lbnRzL2RpdmlkZW5kcz93aXRoX3JlYWxfZXN0YXRlPSR7d2l0aFJlYWxFc3RhdGV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2VjdG9yQWxsb2NhdGlvbihvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZyk6IFByb21pc2U8U2VjdG9yQWxsb2NhdGlvblJlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFNlY3RvckFsbG9jYXRpb25SZXNwb25zZT4+KFxyXG4gICAgICAgICAgICBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9pbnZlc3RtZW50cy9zZWN0b3JfYWxsb2NhdGlvbmBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEdlb2dyYXBoaWNhbEFsbG9jYXRpb24ob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcpOiBQcm9taXNlPEdlb2dyYXBoaWNhbEFsbG9jYXRpb25SZXNwb25zZT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxHZW9ncmFwaGljYWxBbGxvY2F0aW9uUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvZ2VvZ3JhcGhpY2FsX2FsbG9jYXRpb25gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRGZWVzKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nKTogUHJvbWlzZTxGZWVzUmVzcG9uc2U+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8RmVlc1Jlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL2ludmVzdG1lbnRzL2ZlZXM/bmV3X2Zvcm1hdD10cnVlYFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWNjb3VudChvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCk6IFByb21pc2U8SW52ZXN0bWVudEFjY291bnQ+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8SW52ZXN0bWVudEFjY291bnQ+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvYWNjb3VudHMvJHthY2NvdW50SWR9P3BlcmlvZD0ke3BlcmlvZH1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBY2NvdW50VGltZXNlcmllcyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCwgdHlwZTogVGltZXNlcmllc1R5cGUgPSBUaW1lc2VyaWVzVHlwZS5TVU0pOiBQcm9taXNlPFRpbWVzZXJpZXNbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxUaW1lc2VyaWVzW10+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvYWNjb3VudHMvJHthY2NvdW50SWR9L3RpbWVzZXJpZXM/cGVyaW9kPSR7cGVyaW9kfSZ0aW1lc2VyaWVzX3R5cGU9JHt0eXBlfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnREaXN0cmlidXRpb24ob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIGFjY291bnRJZDogc3RyaW5nLCB0eXBlOiBJbnZlc3RtZW50RGlzdHJpYnV0aW9uVHlwZSA9IEludmVzdG1lbnREaXN0cmlidXRpb25UeXBlLlNUT0NLLCBwZXJpb2Q6IEZpbmFyeVBlcmlvZCA9IEZpbmFyeVBlcmlvZC5ZVEQpOiBQcm9taXNlPERpc3RyaWJ1dGlvbj4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxEaXN0cmlidXRpb24+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvYWNjb3VudHMvJHthY2NvdW50SWR9L2Rpc3RyaWJ1dGlvbj90eXBlPSR7dHlwZX0mcGVyaW9kPSR7cGVyaW9kfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnREaXZpZGVuZHMob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIGFjY291bnRJZDogc3RyaW5nLCB3aXRoUmVhbEVzdGF0ZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPERpdmlkZW5kc1Jlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPERpdmlkZW5kc1Jlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL2ludmVzdG1lbnRzL2FjY291bnRzLyR7YWNjb3VudElkfS9kaXZpZGVuZHM/d2l0aF9yZWFsX2VzdGF0ZT0ke3dpdGhSZWFsRXN0YXRlfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnRTZWN0b3JBbGxvY2F0aW9uKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcsIG1lbWJlcnNoaXBJZDogc3RyaW5nLCBhY2NvdW50SWQ6IHN0cmluZyk6IFByb21pc2U8U2VjdG9yQWxsb2NhdGlvblJlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFNlY3RvckFsbG9jYXRpb25SZXNwb25zZT4+KFxyXG4gICAgICAgICAgICBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9pbnZlc3RtZW50cy9hY2NvdW50cy8ke2FjY291bnRJZH0vc2VjdG9yX2FsbG9jYXRpb25gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBY2NvdW50R2VvZ3JhcGhpY2FsQWxsb2NhdGlvbihvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcpOiBQcm9taXNlPEdlb2dyYXBoaWNhbEFsbG9jYXRpb25SZXNwb25zZT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxHZW9ncmFwaGljYWxBbGxvY2F0aW9uUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvYWNjb3VudHMvJHthY2NvdW50SWR9L2dlb2dyYXBoaWNhbF9hbGxvY2F0aW9uYFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWNjb3VudEZlZXMob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTxBY2NvdW50RmVlc1Jlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPEFjY291bnRGZWVzUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vaW52ZXN0bWVudHMvYWNjb3VudHMvJHthY2NvdW50SWR9L2ZlZXM/bmV3X2Zvcm1hdD10cnVlYFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { SavingsPortfolio, FinaryPeriod, Timeseries, TimeseriesType, Distribution, DistributionType, SavingsAccount, Transaction } from "../interfaces";
2
+ import { RequestHandler } from "./checkings";
3
+ export declare class SavingsClient {
4
+ private requestHandler;
5
+ constructor(requestHandler: RequestHandler);
6
+ getPortfolio(organizationId: string, membershipId: string, period?: FinaryPeriod): Promise<SavingsPortfolio>;
7
+ getAccounts(organizationId: string, membershipId: string, period?: FinaryPeriod): Promise<SavingsAccount[]>;
8
+ getAccount(organizationId: string, membershipId: string, accountId: string, period?: FinaryPeriod): Promise<SavingsAccount>;
9
+ getAccountTimeseries(organizationId: string, membershipId: string, accountId: string, period?: FinaryPeriod, type?: TimeseriesType): Promise<Timeseries[]>;
10
+ getTimeseries(organizationId: string, membershipId: string, period?: FinaryPeriod, type?: TimeseriesType): Promise<Timeseries[]>;
11
+ getDistribution(organizationId: string, membershipId: string, type?: DistributionType): Promise<Distribution>;
12
+ getTransactions(organizationId: string, membershipId: string, page?: number, perPage?: number, query?: string, accountId?: string): Promise<Transaction[]>;
13
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SavingsClient = void 0;
4
+ const interfaces_1 = require("../interfaces");
5
+ class SavingsClient {
6
+ constructor(requestHandler) {
7
+ this.requestHandler = requestHandler;
8
+ }
9
+ async getPortfolio(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD) {
10
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings?period=${period}`);
11
+ return response.result;
12
+ }
13
+ async getAccounts(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD) {
14
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/accounts?period=${period}`);
15
+ return response.result;
16
+ }
17
+ async getAccount(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.YTD) {
18
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/accounts/${accountId}?period=${period}`);
19
+ return response.result;
20
+ }
21
+ async getAccountTimeseries(organizationId, membershipId, accountId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
22
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/accounts/${accountId}/timeseries?period=${period}&timeseries_type=${type}`);
23
+ return response.result;
24
+ }
25
+ async getTimeseries(organizationId, membershipId, period = interfaces_1.FinaryPeriod.YTD, type = interfaces_1.TimeseriesType.SUM) {
26
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/timeseries?period=${period}&timeseries_type=${type}`);
27
+ return response.result;
28
+ }
29
+ async getDistribution(organizationId, membershipId, type = interfaces_1.DistributionType.ACCOUNT) {
30
+ const response = await this.requestHandler.authenticatedRequest(`/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/distribution?type=${type}`);
31
+ return response.result;
32
+ }
33
+ async getTransactions(organizationId, membershipId, page = 1, perPage = 50, query = '', accountId) {
34
+ let url = `/organizations/${organizationId}/memberships/${membershipId}/portfolio/savings/transactions?page=${page}&per_page=${perPage}`;
35
+ if (query) {
36
+ url += `&query=${encodeURIComponent(query)}`;
37
+ }
38
+ if (accountId) {
39
+ url += `&account_id=${accountId}`;
40
+ }
41
+ const response = await this.requestHandler.authenticatedRequest(url);
42
+ return response.result;
43
+ }
44
+ }
45
+ exports.SavingsClient = SavingsClient;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc2F2aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBd0s7QUFHeEssTUFBYSxhQUFhO0lBQ3RCLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFJLENBQUM7SUFFaEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHO1FBQzNHLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksNkJBQTZCLE1BQU0sRUFBRSxDQUNwRyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUF1Qix5QkFBWSxDQUFDLEdBQUc7UUFDMUcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxrQkFBa0IsY0FBYyxnQkFBZ0IsWUFBWSxzQ0FBc0MsTUFBTSxFQUFFLENBQzdHLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLFNBQWlCLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHO1FBQzVILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksK0JBQStCLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FDMUgsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLFNBQXVCLHlCQUFZLENBQUMsR0FBRyxFQUFFLE9BQXVCLDJCQUFjLENBQUMsR0FBRztRQUNqTCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLCtCQUErQixTQUFTLHNCQUFzQixNQUFNLG9CQUFvQixJQUFJLEVBQUUsQ0FDN0osQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFzQixFQUFFLFlBQW9CLEVBQUUsU0FBdUIseUJBQVksQ0FBQyxHQUFHLEVBQUUsT0FBdUIsMkJBQWMsQ0FBQyxHQUFHO1FBQ3ZKLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksd0NBQXdDLE1BQU0sb0JBQW9CLElBQUksRUFBRSxDQUN2SSxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxPQUF5Qiw2QkFBZ0IsQ0FBQyxPQUFPO1FBQ3hILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDM0Qsa0JBQWtCLGNBQWMsZ0JBQWdCLFlBQVksd0NBQXdDLElBQUksRUFBRSxDQUM3RyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFDTSxLQUFLLENBQUMsZUFBZSxDQUFDLGNBQXNCLEVBQUUsWUFBb0IsRUFBRSxPQUFlLENBQUMsRUFBRSxVQUFrQixFQUFFLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLFNBQWtCO1FBQ3JKLElBQUksR0FBRyxHQUFHLGtCQUFrQixjQUFjLGdCQUFnQixZQUFZLHdDQUF3QyxJQUFJLGFBQWEsT0FBTyxFQUFFLENBQUM7UUFDekksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLEdBQUcsSUFBSSxVQUFVLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixHQUFHLElBQUksZUFBZSxTQUFTLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFnQyxHQUFHLENBQUMsQ0FBQztRQUNwRyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBdkRELHNDQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbmFyeVJlc3BvbnNlLCBTYXZpbmdzUG9ydGZvbGlvLCBGaW5hcnlQZXJpb2QsIFRpbWVzZXJpZXMsIFRpbWVzZXJpZXNUeXBlLCBEaXN0cmlidXRpb24sIERpc3RyaWJ1dGlvblR5cGUsIFNhdmluZ3NBY2NvdW50LCBUcmFuc2FjdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSBcIi4vY2hlY2tpbmdzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2aW5nc0NsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcikgeyB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFBvcnRmb2xpbyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgcGVyaW9kOiBGaW5hcnlQZXJpb2QgPSBGaW5hcnlQZXJpb2QuWVREKTogUHJvbWlzZTxTYXZpbmdzUG9ydGZvbGlvPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFNhdmluZ3NQb3J0Zm9saW8+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vc2F2aW5ncz9wZXJpb2Q9JHtwZXJpb2R9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWNjb3VudHMob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCk6IFByb21pc2U8U2F2aW5nc0FjY291bnRbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxTYXZpbmdzQWNjb3VudFtdPj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL3NhdmluZ3MvYWNjb3VudHM/cGVyaW9kPSR7cGVyaW9kfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnQob3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyc2hpcElkOiBzdHJpbmcsIGFjY291bnRJZDogc3RyaW5nLCBwZXJpb2Q6IEZpbmFyeVBlcmlvZCA9IEZpbmFyeVBlcmlvZC5ZVEQpOiBQcm9taXNlPFNhdmluZ3NBY2NvdW50PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFNhdmluZ3NBY2NvdW50Pj4oXHJcbiAgICAgICAgICAgIGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL3NhdmluZ3MvYWNjb3VudHMvJHthY2NvdW50SWR9P3BlcmlvZD0ke3BlcmlvZH1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBY2NvdW50VGltZXNlcmllcyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgYWNjb3VudElkOiBzdHJpbmcsIHBlcmlvZDogRmluYXJ5UGVyaW9kID0gRmluYXJ5UGVyaW9kLllURCwgdHlwZTogVGltZXNlcmllc1R5cGUgPSBUaW1lc2VyaWVzVHlwZS5TVU0pOiBQcm9taXNlPFRpbWVzZXJpZXNbXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0SGFuZGxlci5hdXRoZW50aWNhdGVkUmVxdWVzdDxGaW5hcnlSZXNwb25zZTxUaW1lc2VyaWVzW10+PihcclxuICAgICAgICAgICAgYC9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9uSWR9L21lbWJlcnNoaXBzLyR7bWVtYmVyc2hpcElkfS9wb3J0Zm9saW8vc2F2aW5ncy9hY2NvdW50cy8ke2FjY291bnRJZH0vdGltZXNlcmllcz9wZXJpb2Q9JHtwZXJpb2R9JnRpbWVzZXJpZXNfdHlwZT0ke3R5cGV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VGltZXNlcmllcyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgcGVyaW9kOiBGaW5hcnlQZXJpb2QgPSBGaW5hcnlQZXJpb2QuWVRELCB0eXBlOiBUaW1lc2VyaWVzVHlwZSA9IFRpbWVzZXJpZXNUeXBlLlNVTSk6IFByb21pc2U8VGltZXNlcmllc1tdPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPFRpbWVzZXJpZXNbXT4+KFxyXG4gICAgICAgICAgICBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9zYXZpbmdzL3RpbWVzZXJpZXM/cGVyaW9kPSR7cGVyaW9kfSZ0aW1lc2VyaWVzX3R5cGU9JHt0eXBlfWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERpc3RyaWJ1dGlvbihvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgdHlwZTogRGlzdHJpYnV0aW9uVHlwZSA9IERpc3RyaWJ1dGlvblR5cGUuQUNDT1VOVCk6IFByb21pc2U8RGlzdHJpYnV0aW9uPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3RIYW5kbGVyLmF1dGhlbnRpY2F0ZWRSZXF1ZXN0PEZpbmFyeVJlc3BvbnNlPERpc3RyaWJ1dGlvbj4+KFxyXG4gICAgICAgICAgICBgL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb25JZH0vbWVtYmVyc2hpcHMvJHttZW1iZXJzaGlwSWR9L3BvcnRmb2xpby9zYXZpbmdzL2Rpc3RyaWJ1dGlvbj90eXBlPSR7dHlwZX1gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgfVxyXG4gICAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9ucyhvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJzaGlwSWQ6IHN0cmluZywgcGFnZTogbnVtYmVyID0gMSwgcGVyUGFnZTogbnVtYmVyID0gNTAsIHF1ZXJ5OiBzdHJpbmcgPSAnJywgYWNjb3VudElkPzogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbltdPiB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbklkfS9tZW1iZXJzaGlwcy8ke21lbWJlcnNoaXBJZH0vcG9ydGZvbGlvL3NhdmluZ3MvdHJhbnNhY3Rpb25zP3BhZ2U9JHtwYWdlfSZwZXJfcGFnZT0ke3BlclBhZ2V9YDtcclxuICAgICAgICBpZiAocXVlcnkpIHtcclxuICAgICAgICAgICAgdXJsICs9IGAmcXVlcnk9JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnkpfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhY2NvdW50SWQpIHtcclxuICAgICAgICAgICAgdXJsICs9IGAmYWNjb3VudF9pZD0ke2FjY291bnRJZH1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdEhhbmRsZXIuYXV0aGVudGljYXRlZFJlcXVlc3Q8RmluYXJ5UmVzcG9uc2U8VHJhbnNhY3Rpb25bXT4+KHVybCk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare const hello: (name: string) => string;
2
+ export declare const goodbye: (name: string) => string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.goodbye = exports.hello = void 0;
4
+ const hello = (name) => {
5
+ return `Hello, ${name}!`;
6
+ };
7
+ exports.hello = hello;
8
+ const goodbye = (name) => {
9
+ return `Goodbye, ${name}.`;
10
+ };
11
+ exports.goodbye = goodbye;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZXRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dyZWV0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxNQUFNLEtBQUssR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFO0lBQzFDLE9BQU8sVUFBVSxJQUFJLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUM7QUFGVyxRQUFBLEtBQUssU0FFaEI7QUFFSyxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFO0lBQzVDLE9BQU8sWUFBWSxJQUFJLEdBQUcsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFGVyxRQUFBLE9BQU8sV0FFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaGVsbG8gPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgIHJldHVybiBgSGVsbG8sICR7bmFtZX0hYDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnb29kYnllID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gYEdvb2RieWUsICR7bmFtZX0uYDtcclxufTtcclxuIl19
@@ -0,0 +1,8 @@
1
+ export * from './interfaces';
2
+ export * from './auth/auth-manager';
3
+ export * from './client/finary-client';
4
+ export * from './client/checkings';
5
+ export * from './client/benchmarks';
6
+ export * from './client/investments';
7
+ export * from './client/savings';
8
+ export * from './auth/login-helper';
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./interfaces"), exports);
18
+ __exportStar(require("./auth/auth-manager"), exports);
19
+ __exportStar(require("./client/finary-client"), exports);
20
+ __exportStar(require("./client/checkings"), exports);
21
+ __exportStar(require("./client/benchmarks"), exports);
22
+ __exportStar(require("./client/investments"), exports);
23
+ __exportStar(require("./client/savings"), exports);
24
+ __exportStar(require("./auth/login-helper"), exports);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QixzREFBb0M7QUFDcEMseURBQXVDO0FBQ3ZDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLG1EQUFpQztBQUNqQyxzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGgvYXV0aC1tYW5hZ2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQvZmluYXJ5LWNsaWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50L2NoZWNraW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50L2JlbmNobWFya3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NsaWVudC9pbnZlc3RtZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50L3NhdmluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGgvbG9naW4taGVscGVyJzsiXX0=
@@ -0,0 +1,10 @@
1
+ export interface BenchmarkAsset {
2
+ id: string;
3
+ name: string;
4
+ isin: string | null;
5
+ url: string;
6
+ period_evolution: number;
7
+ period_evolution_percent: number;
8
+ display_value_difference: number;
9
+ display_value_evolution: number;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYmVuY2htYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJlbmNobWFya0Fzc2V0IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc2luOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBwZXJpb2RfZXZvbHV0aW9uOiBudW1iZXI7XHJcbiAgICBwZXJpb2RfZXZvbHV0aW9uX3BlcmNlbnQ6IG51bWJlcjtcclxuICAgIGRpc3BsYXlfdmFsdWVfZGlmZmVyZW5jZTogbnVtYmVyO1xyXG4gICAgZGlzcGxheV92YWx1ZV9ldm9sdXRpb246IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { DisplayCurrency } from './user';
2
+ export interface CheckingAccount {
3
+ id: string;
4
+ slug: string;
5
+ name: string;
6
+ manual_type: string | null;
7
+ balance: number;
8
+ display_balance: number;
9
+ organization_balance: number;
10
+ display_organization_balance: number;
11
+ share: number;
12
+ last_sync_at: string;
13
+ is_manual: boolean;
14
+ currency: DisplayCurrency;
15
+ display_currency: DisplayCurrency;
16
+ transactions_count: number;
17
+ bank_account_type: BankAccountType;
18
+ bank: Institution;
19
+ institution: Institution;
20
+ fiats: FiatAsset[];
21
+ ownership_repartition: OwnershipRepartition[];
22
+ }
23
+ export interface CheckingPortfolio {
24
+ total: PortfolioTotal;
25
+ accounts: CheckingAccount[];
26
+ ownership_repartition: OwnershipRepartition[];
27
+ }
28
+ export interface PortfolioTotal {
29
+ amount: number;
30
+ evolution: number;
31
+ period_evolution: number;
32
+ display_amount: number;
33
+ display_upnl_difference: number;
34
+ display_value_difference: number;
35
+ display_value_evolution: number | null;
36
+ evolution_percent: number;
37
+ period_evolution_percent: number | null;
38
+ display_upnl_percent: number;
39
+ }
40
+ export interface BankAccountType {
41
+ id: string;
42
+ slug: string;
43
+ account_type: string;
44
+ subtype: string;
45
+ name: string;
46
+ display_name: string;
47
+ }
48
+ export interface Institution {
49
+ id: string;
50
+ slug: string;
51
+ name: string;
52
+ countries: string[];
53
+ logo_url: string;
54
+ is_finary_plus_only: boolean;
55
+ is_international: boolean;
56
+ }
57
+ export interface FiatAsset {
58
+ id: string;
59
+ current_value: number;
60
+ display_current_value: number;
61
+ quantity: number;
62
+ current_price: number;
63
+ fiat: DisplayCurrency;
64
+ }
65
+ export interface OwnershipRepartition {
66
+ share: number;
67
+ is_indirect: boolean;
68
+ membership: {
69
+ id: string;
70
+ member_type: string;
71
+ member: {
72
+ slug: string;
73
+ firstname: string;
74
+ lastname: string;
75
+ fullname: string;
76
+ };
77
+ };
78
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9jaGVja2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlzcGxheUN1cnJlbmN5IH0gZnJvbSAnLi91c2VyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tpbmdBY2NvdW50IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBtYW51YWxfdHlwZTogc3RyaW5nIHwgbnVsbDtcclxuICAgIGJhbGFuY2U6IG51bWJlcjtcclxuICAgIGRpc3BsYXlfYmFsYW5jZTogbnVtYmVyO1xyXG4gICAgb3JnYW5pemF0aW9uX2JhbGFuY2U6IG51bWJlcjtcclxuICAgIGRpc3BsYXlfb3JnYW5pemF0aW9uX2JhbGFuY2U6IG51bWJlcjtcclxuICAgIHNoYXJlOiBudW1iZXI7XHJcbiAgICBsYXN0X3N5bmNfYXQ6IHN0cmluZztcclxuICAgIGlzX21hbnVhbDogYm9vbGVhbjtcclxuICAgIGN1cnJlbmN5OiBEaXNwbGF5Q3VycmVuY3k7XHJcbiAgICBkaXNwbGF5X2N1cnJlbmN5OiBEaXNwbGF5Q3VycmVuY3k7XHJcbiAgICB0cmFuc2FjdGlvbnNfY291bnQ6IG51bWJlcjtcclxuICAgIGJhbmtfYWNjb3VudF90eXBlOiBCYW5rQWNjb3VudFR5cGU7XHJcbiAgICBiYW5rOiBJbnN0aXR1dGlvbjtcclxuICAgIGluc3RpdHV0aW9uOiBJbnN0aXR1dGlvbjtcclxuICAgIGZpYXRzOiBGaWF0QXNzZXRbXTtcclxuICAgIG93bmVyc2hpcF9yZXBhcnRpdGlvbjogT3duZXJzaGlwUmVwYXJ0aXRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGVja2luZ1BvcnRmb2xpbyB7XHJcbiAgICB0b3RhbDogUG9ydGZvbGlvVG90YWw7XHJcbiAgICBhY2NvdW50czogQ2hlY2tpbmdBY2NvdW50W107XHJcbiAgICBvd25lcnNoaXBfcmVwYXJ0aXRpb246IE93bmVyc2hpcFJlcGFydGl0aW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGZvbGlvVG90YWwge1xyXG4gICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICBldm9sdXRpb246IG51bWJlcjtcclxuICAgIHBlcmlvZF9ldm9sdXRpb246IG51bWJlcjtcclxuICAgIGRpc3BsYXlfYW1vdW50OiBudW1iZXI7XHJcbiAgICBkaXNwbGF5X3VwbmxfZGlmZmVyZW5jZTogbnVtYmVyO1xyXG4gICAgZGlzcGxheV92YWx1ZV9kaWZmZXJlbmNlOiBudW1iZXI7XHJcbiAgICBkaXNwbGF5X3ZhbHVlX2V2b2x1dGlvbjogbnVtYmVyIHwgbnVsbDtcclxuICAgIGV2b2x1dGlvbl9wZXJjZW50OiBudW1iZXI7XHJcbiAgICBwZXJpb2RfZXZvbHV0aW9uX3BlcmNlbnQ6IG51bWJlciB8IG51bGw7XHJcbiAgICBkaXNwbGF5X3VwbmxfcGVyY2VudDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhbmtBY2NvdW50VHlwZSB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgc2x1Zzogc3RyaW5nO1xyXG4gICAgYWNjb3VudF90eXBlOiBzdHJpbmc7XHJcbiAgICBzdWJ0eXBlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnN0aXR1dGlvbiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgc2x1Zzogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY291bnRyaWVzOiBzdHJpbmdbXTtcclxuICAgIGxvZ29fdXJsOiBzdHJpbmc7XHJcbiAgICBpc19maW5hcnlfcGx1c19vbmx5OiBib29sZWFuO1xyXG4gICAgaXNfaW50ZXJuYXRpb25hbDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWF0QXNzZXQge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIGN1cnJlbnRfdmFsdWU6IG51bWJlcjtcclxuICAgIGRpc3BsYXlfY3VycmVudF92YWx1ZTogbnVtYmVyO1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcclxuICAgIGN1cnJlbnRfcHJpY2U6IG51bWJlcjtcclxuICAgIGZpYXQ6IERpc3BsYXlDdXJyZW5jeTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPd25lcnNoaXBSZXBhcnRpdGlvbiB7XHJcbiAgICBzaGFyZTogbnVtYmVyO1xyXG4gICAgaXNfaW5kaXJlY3Q6IGJvb2xlYW47XHJcbiAgICBtZW1iZXJzaGlwOiB7XHJcbiAgICAgICAgaWQ6IHN0cmluZztcclxuICAgICAgICBtZW1iZXJfdHlwZTogc3RyaW5nO1xyXG4gICAgICAgIG1lbWJlcjoge1xyXG4gICAgICAgICAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGZpcnN0bmFtZTogc3RyaW5nO1xyXG4gICAgICAgICAgICBsYXN0bmFtZTogc3RyaW5nO1xyXG4gICAgICAgICAgICBmdWxsbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ export declare enum FinaryPeriod {
2
+ ONE_DAY = "1d",
3
+ ONE_WEEK = "1w",
4
+ ONE_MONTH = "1m",
5
+ YTD = "ytd",
6
+ ONE_YEAR = "1y",
7
+ ALL = "all"
8
+ }
9
+ export declare enum TimeseriesType {
10
+ SUM = "sum",
11
+ ALL = "all"
12
+ }
13
+ export declare enum DistributionType {
14
+ ACCOUNT = "account"
15
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DistributionType = exports.TimeseriesType = exports.FinaryPeriod = void 0;
4
+ var FinaryPeriod;
5
+ (function (FinaryPeriod) {
6
+ FinaryPeriod["ONE_DAY"] = "1d";
7
+ FinaryPeriod["ONE_WEEK"] = "1w";
8
+ FinaryPeriod["ONE_MONTH"] = "1m";
9
+ FinaryPeriod["YTD"] = "ytd";
10
+ FinaryPeriod["ONE_YEAR"] = "1y";
11
+ FinaryPeriod["ALL"] = "all";
12
+ })(FinaryPeriod || (exports.FinaryPeriod = FinaryPeriod = {}));
13
+ var TimeseriesType;
14
+ (function (TimeseriesType) {
15
+ TimeseriesType["SUM"] = "sum";
16
+ TimeseriesType["ALL"] = "all";
17
+ })(TimeseriesType || (exports.TimeseriesType = TimeseriesType = {}));
18
+ var DistributionType;
19
+ (function (DistributionType) {
20
+ DistributionType["ACCOUNT"] = "account";
21
+ })(DistributionType || (exports.DistributionType = DistributionType = {}));
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksWUFPWDtBQVBELFdBQVksWUFBWTtJQUNwQiw4QkFBYyxDQUFBO0lBQ2QsK0JBQWUsQ0FBQTtJQUNmLGdDQUFnQixDQUFBO0lBQ2hCLDJCQUFXLENBQUE7SUFDWCwrQkFBZSxDQUFBO0lBQ2YsMkJBQVcsQ0FBQTtBQUNmLENBQUMsRUFQVyxZQUFZLDRCQUFaLFlBQVksUUFPdkI7QUFFRCxJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsNkJBQVcsQ0FBQTtJQUNYLDZCQUFXLENBQUE7QUFDZixDQUFDLEVBSFcsY0FBYyw4QkFBZCxjQUFjLFFBR3pCO0FBRUQsSUFBWSxnQkFFWDtBQUZELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFGVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUUzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpbmFyeVBlcmlvZCB7XHJcbiAgICBPTkVfREFZID0gJzFkJyxcclxuICAgIE9ORV9XRUVLID0gJzF3JyxcclxuICAgIE9ORV9NT05USCA9ICcxbScsXHJcbiAgICBZVEQgPSAneXRkJyxcclxuICAgIE9ORV9ZRUFSID0gJzF5JyxcclxuICAgIEFMTCA9ICdhbGwnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRpbWVzZXJpZXNUeXBlIHtcclxuICAgIFNVTSA9ICdzdW0nLFxyXG4gICAgQUxMID0gJ2FsbCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGlzdHJpYnV0aW9uVHlwZSB7XHJcbiAgICBBQ0NPVU5UID0gJ2FjY291bnQnXHJcbn1cclxuIl19
@@ -0,0 +1,9 @@
1
+ export interface DistributionItem {
2
+ amount: number;
3
+ label: string;
4
+ share: number;
5
+ }
6
+ export interface Distribution {
7
+ total: number;
8
+ distribution: DistributionItem[];
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpc3RyaWJ1dGlvbkl0ZW0ge1xyXG4gICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgc2hhcmU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaXN0cmlidXRpb24ge1xyXG4gICAgdG90YWw6IG51bWJlcjtcclxuICAgIGRpc3RyaWJ1dGlvbjogRGlzdHJpYnV0aW9uSXRlbVtdO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ export interface Credentials {
2
+ password?: string;
3
+ token?: string;
4
+ refreshUrl?: string;
5
+ headers?: Record<string, string>;
6
+ clerkSession?: string;
7
+ cookieHeader?: string;
8
+ }
9
+ export interface AuthConfig {
10
+ credentialsPath: string;
11
+ }
12
+ export * from './common';
13
+ export * from './user';
14
+ export * from './user';
15
+ export * from './organization';
16
+ export * from './checking';
17
+ export * from './timeseries';
18
+ export * from './distribution';
19
+ export * from './transaction';
20
+ export * from './benchmark';
21
+ export * from './investment';
22
+ export * from './savings';