@fintekkers/ledger-models 0.1.80 → 0.1.81
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.
- package/.env +1 -1
- package/node/wrappers/models/position/positionfilter.js +22 -3
- package/node/wrappers/models/position/positionfilter.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.ts +23 -3
- package/node/wrappers/services/portfolio-service/{portfolio.test.js → portfolioService.test.js} +4 -3
- package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -0
- package/node/wrappers/services/portfolio-service/{portfolio.test.ts → portfolioService.test.ts} +2 -1
- package/node/wrappers/services/position-service/PositionService.js +21 -1
- package/node/wrappers/services/position-service/PositionService.js.map +1 -1
- package/node/wrappers/services/position-service/PositionService.ts +18 -0
- package/node/wrappers/services/position-service/position.test.js +33 -6
- package/node/wrappers/services/position-service/position.test.js.map +1 -1
- package/node/wrappers/services/position-service/position.test.ts +15 -4
- package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +2 -2
- package/node/wrappers/services/transaction-service/transaction.test.js +2 -0
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +2 -0
- package/package.json +1 -1
- package/node/wrappers/services/portfolio-service/portfolio.test.js.map +0 -1
package/.env
CHANGED
|
@@ -8,22 +8,41 @@ var PositionFilter = /** @class */ (function () {
|
|
|
8
8
|
function PositionFilter() {
|
|
9
9
|
this.filters = [];
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
13
|
+
* @param {*} fieldValueString The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
14
|
+
*/
|
|
15
|
+
PositionFilter.prototype.addEqualsStringFilter = function (field, fieldValueString) {
|
|
16
|
+
return this.addFilter(field, position_util_pb_1.PositionFilterOperator.EQUALS, null, fieldValueString);
|
|
17
|
+
};
|
|
11
18
|
/**
|
|
12
19
|
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
13
20
|
* @param {*} fieldValue The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
14
21
|
*/
|
|
15
22
|
PositionFilter.prototype.addEqualsFilter = function (field, fieldValue) {
|
|
16
|
-
|
|
23
|
+
if (typeof fieldValue === 'string') {
|
|
24
|
+
return this.addEqualsStringFilter(field, fieldValue);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return this.addFilter(field, position_util_pb_1.PositionFilterOperator.EQUALS, fieldValue, null);
|
|
28
|
+
}
|
|
17
29
|
};
|
|
18
30
|
/**
|
|
19
31
|
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
20
32
|
* @param {*} fieldValue The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
21
33
|
*/
|
|
22
|
-
PositionFilter.prototype.addFilter = function (field, fieldValue,
|
|
34
|
+
PositionFilter.prototype.addFilter = function (field, operator, fieldValue, fieldValueString) {
|
|
23
35
|
var fieldMapEntry = new position_util_pb_1.FieldMapEntry();
|
|
24
36
|
fieldMapEntry.setField(field); //FieldProto.ASSET_CLASS);
|
|
25
|
-
fieldMapEntry.setFieldValuePacked((0, serialization_util_1.pack)(fieldValue));
|
|
26
37
|
fieldMapEntry.setOperator(operator);
|
|
38
|
+
if (fieldValueString)
|
|
39
|
+
fieldMapEntry.setStringValue(fieldValueString);
|
|
40
|
+
else if (fieldValue) {
|
|
41
|
+
fieldMapEntry.setFieldValuePacked((0, serialization_util_1.pack)(fieldValue));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new Error("Need to provide a string, or object");
|
|
45
|
+
}
|
|
27
46
|
this.filters.push(fieldMapEntry);
|
|
28
47
|
return this;
|
|
29
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionfilter.js","sourceRoot":"","sources":["positionfilter.ts"],"names":[],"mappings":";;;AAAA,yFAA6G;AAE7G,kEAAmD;AACnD,6FAA6F;AAE7F;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,wCAAe,GAAf,UAAgB,KAAiB,EAAE,UAAe;QAC9C,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"positionfilter.js","sourceRoot":"","sources":["positionfilter.ts"],"names":[],"mappings":";;;AAAA,yFAA6G;AAE7G,kEAAmD;AACnD,6FAA6F;AAE7F;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,8CAAqB,GAArB,UAAsB,KAAiB,EAAE,gBAAwB;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,wCAAe,GAAf,UAAgB,KAAiB,EAAE,UAAe;QAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAoB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,yCAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,kCAAS,GAAT,UAAU,KAAiB,EAAE,QAAgC,EAAE,UAAgB,EAAE,gBAAyB;QACtG,IAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;QACzD,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,gBAAgB;YAChB,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;aAC9C,IAAI,UAAU,EAAE,CAAC;YAClB,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,UAAU,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAU,GAAV;QACI,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,gCAAO,GAAP;QACI,IAAM,mBAAmB,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACtD,mBAAmB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACrD,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACL,qBAAC;AAAD,CAAC,AA5DD,IA4DC;AA5DY,wCAAc"}
|
|
@@ -10,23 +10,43 @@ export class PositionFilter {
|
|
|
10
10
|
this.filters = [];
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
15
|
+
* @param {*} fieldValueString The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
16
|
+
*/
|
|
17
|
+
addEqualsStringFilter(field: FieldProto, fieldValueString: string): PositionFilter {
|
|
18
|
+
return this.addFilter(field, PositionFilterOperator.EQUALS, null, fieldValueString);
|
|
19
|
+
}
|
|
20
|
+
|
|
13
21
|
/**
|
|
14
22
|
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
15
23
|
* @param {*} fieldValue The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
16
24
|
*/
|
|
17
25
|
addEqualsFilter(field: FieldProto, fieldValue: any): PositionFilter {
|
|
18
|
-
|
|
26
|
+
if (typeof fieldValue === 'string') {
|
|
27
|
+
return this.addEqualsStringFilter(field, fieldValue as string);
|
|
28
|
+
} else {
|
|
29
|
+
return this.addFilter(field, PositionFilterOperator.EQUALS, fieldValue, null);
|
|
30
|
+
}
|
|
19
31
|
}
|
|
32
|
+
|
|
20
33
|
/**
|
|
21
34
|
* @param {*} field FieldProto.ASSET_CLASS, as an example
|
|
22
35
|
* @param {*} fieldValue The appropriate value for the FieldProto, e.g. FieldProto.ASSET_CLASS would have a string fieldValue
|
|
23
36
|
*/
|
|
24
|
-
addFilter(field: FieldProto,
|
|
37
|
+
addFilter(field: FieldProto, operator: PositionFilterOperator, fieldValue?: any, fieldValueString?: string): PositionFilter {
|
|
25
38
|
const fieldMapEntry = new FieldMapEntry();
|
|
26
39
|
fieldMapEntry.setField(field); //FieldProto.ASSET_CLASS);
|
|
27
|
-
fieldMapEntry.setFieldValuePacked(pack(fieldValue));
|
|
28
40
|
fieldMapEntry.setOperator(operator);
|
|
29
41
|
|
|
42
|
+
if (fieldValueString)
|
|
43
|
+
fieldMapEntry.setStringValue(fieldValueString);
|
|
44
|
+
else if (fieldValue) {
|
|
45
|
+
fieldMapEntry.setFieldValuePacked(pack(fieldValue));
|
|
46
|
+
} else {
|
|
47
|
+
throw new Error("Need to provide a string, or object");
|
|
48
|
+
}
|
|
49
|
+
|
|
30
50
|
this.filters.push(fieldMapEntry);
|
|
31
51
|
return this;
|
|
32
52
|
}
|
package/node/wrappers/services/portfolio-service/{portfolio.test.js → portfolioService.test.js}
RENAMED
|
@@ -46,7 +46,7 @@ var PortfolioService_1 = require("./PortfolioService");
|
|
|
46
46
|
var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
|
|
47
47
|
var positionfilter_1 = require("../../models/position/positionfilter");
|
|
48
48
|
test('test creating a portfolio against the api.fintekkers.org portfolio service', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
-
var id_proto, now, portfolioService, portfolio, validationSummary, createPortfolioResponse, searchResults;
|
|
49
|
+
var id_proto, now, portfolioService, portfolio, validationSummary, createPortfolioResponse, portfolioFilter, searchResults;
|
|
50
50
|
return __generator(this, function (_a) {
|
|
51
51
|
switch (_a.label) {
|
|
52
52
|
case 0:
|
|
@@ -67,7 +67,8 @@ test('test creating a portfolio against the api.fintekkers.org portfolio service
|
|
|
67
67
|
case 2:
|
|
68
68
|
createPortfolioResponse = _a.sent();
|
|
69
69
|
expect(createPortfolioResponse.getPortfolioResponseList().length).toBe(1);
|
|
70
|
-
|
|
70
|
+
portfolioFilter = new positionfilter_1.PositionFilter().addEqualsStringFilter(field_pb_1.FieldProto.PORTFOLIO_NAME, 'TEST PORTFOLIO');
|
|
71
|
+
return [4 /*yield*/, portfolioService.searchPortfolio(now.toProto(), portfolioFilter)];
|
|
71
72
|
case 3:
|
|
72
73
|
searchResults = _a.sent();
|
|
73
74
|
expect(searchResults.length > 0).toBe(true);
|
|
@@ -75,4 +76,4 @@ test('test creating a portfolio against the api.fintekkers.org portfolio service
|
|
|
75
76
|
}
|
|
76
77
|
});
|
|
77
78
|
}); }, 30000);
|
|
78
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=portfolioService.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolioService.test.js","sourceRoot":"","sources":["portfolioService.test.ts"],"names":[],"mappings":";AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,cAAc;AACd,yEAA0E;AAC1E,8CAAgD;AAChD,gDAAkD;AAElD,qBAAqB;AACrB,uDAAsD;AACtD,kFAAmF;AAEnF,uEAAsE;AAGtE,IAAI,CAAC,4EAA4E,EAAE;;;;;gBAC3E,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBAE7B,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;gBAE1C,SAAS,GAAG,IAAI,6BAAc,EAAE,CAAC;gBACvC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACtC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5B,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAET,qBAAM,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAA;;gBAA7E,iBAAiB,GAAG,SAAyD;gBACjF,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEG,qBAAM,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,EAAA;;gBAAzG,uBAAuB,GAAiC,SAAiD;gBAC7G,MAAM,CAAC,uBAAuB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEtE,eAAe,GAAG,IAAI,+BAAc,EAAE,CAAC,qBAAqB,CAAC,qBAAU,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAC1F,qBAAM,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,EAAA;;gBAAtF,aAAa,GAAG,SAAsE;gBAC1F,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC7C,EAAE,KAAK,CAAC,CAAC"}
|
package/node/wrappers/services/portfolio-service/{portfolio.test.ts → portfolioService.test.ts}
RENAMED
|
@@ -31,6 +31,7 @@ test('test creating a portfolio against the api.fintekkers.org portfolio service
|
|
|
31
31
|
var createPortfolioResponse: CreatePortfolioResponseProto = await portfolioService.createPortfolio(portfolio);
|
|
32
32
|
expect(createPortfolioResponse.getPortfolioResponseList().length).toBe(1);
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
let portfolioFilter = new PositionFilter().addEqualsStringFilter(FieldProto.PORTFOLIO_NAME, 'TEST PORTFOLIO');
|
|
35
|
+
var searchResults = await portfolioService.searchPortfolio(now.toProto(), portfolioFilter);
|
|
35
36
|
expect(searchResults.length > 0).toBe(true);
|
|
36
37
|
}, 30000);
|
|
@@ -47,6 +47,25 @@ var PositionService = /** @class */ (function () {
|
|
|
47
47
|
function PositionService() {
|
|
48
48
|
this.client = new position_service_grpc_pb_1.PositionClient(requestcontext_1.default.apiURL, requestcontext_1.default.apiCredentials);
|
|
49
49
|
}
|
|
50
|
+
PositionService.prototype.validateRequest = function (positionRequest) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
var tmpClient, request;
|
|
53
|
+
return __generator(this, function (_a) {
|
|
54
|
+
tmpClient = this.client;
|
|
55
|
+
request = positionRequest.toProto();
|
|
56
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
57
|
+
tmpClient.validateQueryRequest(request, function (error, response) {
|
|
58
|
+
if (error) {
|
|
59
|
+
reject(error);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
resolve(response); // Return response from the callback
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
})];
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
};
|
|
50
69
|
PositionService.prototype.search = function (positionRequest) {
|
|
51
70
|
return __awaiter(this, void 0, void 0, function () {
|
|
52
71
|
function processStreamSynchronously() {
|
|
@@ -71,13 +90,14 @@ var PositionService = /** @class */ (function () {
|
|
|
71
90
|
});
|
|
72
91
|
});
|
|
73
92
|
}
|
|
74
|
-
var tmpClient, listPositions, request;
|
|
93
|
+
var tmpClient, listPositions, request, positionService;
|
|
75
94
|
return __generator(this, function (_a) {
|
|
76
95
|
switch (_a.label) {
|
|
77
96
|
case 0:
|
|
78
97
|
tmpClient = this.client;
|
|
79
98
|
listPositions = [];
|
|
80
99
|
request = positionRequest.toProto();
|
|
100
|
+
positionService = this;
|
|
81
101
|
return [4 /*yield*/, processStreamSynchronously()];
|
|
82
102
|
case 1: return [2 /*return*/, _a.sent()];
|
|
83
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionService.js","sourceRoot":"","sources":["PositionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,2DAA0D;AAM1D,sBAAsB;AACtB,mHAAwG;AAExG,OAAO;AACP,oEAA0D;
|
|
1
|
+
{"version":3,"file":"PositionService.js","sourceRoot":"","sources":["PositionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,2DAA0D;AAM1D,sBAAsB;AACtB,mHAAwG;AAExG,OAAO;AACP,oEAA0D;AAI1D;IAGE;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,EAAE,wBAAS,CAAC,cAAc,CAAC,CAAC;IAC/E,CAAC;IAEK,yCAAe,GAArB,UAAsB,eAAqC;;;;gBACnD,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,OAAO,GAA8B,eAAe,CAAC,OAAO,EAAE,CAAC;gBAErE,sBAAO,IAAI,OAAO,CAAe,UAAC,OAAO,EAAE,MAAM;wBAC/C,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAE,QAAQ;4BACtD,IAAI,KAAK,EAAE,CAAC;gCACV,MAAM,CAAC,KAAK,CAAC,CAAC;4BAChB,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC;4BACzD,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,EAAC;;;KACJ;IAEK,gCAAM,GAAZ,UAAa,eAAqC;;YAOhD,SAAe,0BAA0B;;;;wBACjC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAE1C,sBAAO,IAAI,OAAO,CAAa,UAAC,OAAO,EAAE,MAAM;gCAC7C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,QAAoC;oCACtD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,UAAC,QAAQ;wCAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oCAC7C,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;oCAChB,OAAO,CAAC,aAAa,CAAC,CAAC;gCACzB,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,GAAG;oCACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;oCAC3C,MAAM,CAAC,GAAG,CAAC,CAAC;gCACd,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,EAAC;;;aACJ;;;;;wBAzBK,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBACxB,aAAa,GAAe,EAAE,CAAC;wBAC/B,OAAO,GAA8B,eAAe,CAAC,OAAO,EAAE,CAAC;wBAE/D,eAAe,GAAG,IAAI,CAAC;wBAuBtB,qBAAM,0BAA0B,EAAE,EAAA;4BAAzC,sBAAO,SAAkC,EAAC;;;;KAC3C;IACH,sBAAC;AAAD,CAAC,AApDD,IAoDC;AAEQ,0CAAe"}
|
|
@@ -11,6 +11,7 @@ import { PositionClient } from '../../../fintekkers/services/position-service/po
|
|
|
11
11
|
//Utils
|
|
12
12
|
import EnvConfig from '../../models/utils/requestcontext';
|
|
13
13
|
import { QueryPositionRequest } from '../../requests/position/QueryPositionRequest';
|
|
14
|
+
import { SummaryProto } from '../../../fintekkers/requests/util/errors/summary_pb';
|
|
14
15
|
|
|
15
16
|
class PositionService {
|
|
16
17
|
private client: PositionClient;
|
|
@@ -19,11 +20,28 @@ class PositionService {
|
|
|
19
20
|
this.client = new PositionClient(EnvConfig.apiURL, EnvConfig.apiCredentials);
|
|
20
21
|
}
|
|
21
22
|
|
|
23
|
+
async validateRequest(positionRequest: QueryPositionRequest): Promise<SummaryProto> {
|
|
24
|
+
const tmpClient = this.client;
|
|
25
|
+
const request: QueryPositionRequestProto = positionRequest.toProto();
|
|
26
|
+
|
|
27
|
+
return new Promise<SummaryProto>((resolve, reject) => {
|
|
28
|
+
tmpClient.validateQueryRequest(request, (error, response) => {
|
|
29
|
+
if (error) {
|
|
30
|
+
reject(error);
|
|
31
|
+
} else {
|
|
32
|
+
resolve(response); // Return response from the callback
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
22
38
|
async search(positionRequest: QueryPositionRequest): Promise<Position[]> {
|
|
23
39
|
const tmpClient = this.client;
|
|
24
40
|
const listPositions: Position[] = [];
|
|
25
41
|
const request: QueryPositionRequestProto = positionRequest.toProto();
|
|
26
42
|
|
|
43
|
+
const positionService = this;
|
|
44
|
+
|
|
27
45
|
async function processStreamSynchronously(): Promise<Position[]> {
|
|
28
46
|
const stream2 = tmpClient.search(request);
|
|
29
47
|
|
|
@@ -44,10 +44,13 @@ var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
|
44
44
|
var PositionService_1 = require("../../services/position-service/PositionService");
|
|
45
45
|
var QueryPositionRequest_1 = require("../../requests/position/QueryPositionRequest");
|
|
46
46
|
test('test getting a position against the api.fintekkers.org position service', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
47
|
-
var isTrue;
|
|
47
|
+
var fields, measures, isTrue;
|
|
48
48
|
return __generator(this, function (_a) {
|
|
49
49
|
switch (_a.label) {
|
|
50
|
-
case 0:
|
|
50
|
+
case 0:
|
|
51
|
+
fields = [field_pb_1.FieldProto.SECURITY_ID, field_pb_1.FieldProto.TRADE_DATE, field_pb_1.FieldProto.PRODUCT_TYPE, field_pb_1.FieldProto.PORTFOLIO, field_pb_1.FieldProto.PRODUCT_TYPE];
|
|
52
|
+
measures = [measure_pb_1.MeasureProto.DIRECTED_QUANTITY];
|
|
53
|
+
return [4 /*yield*/, testPosition(fields, measures)];
|
|
51
54
|
case 1:
|
|
52
55
|
isTrue = _a.sent();
|
|
53
56
|
expect(isTrue).toBe(true);
|
|
@@ -55,14 +58,38 @@ test('test getting a position against the api.fintekkers.org position service',
|
|
|
55
58
|
}
|
|
56
59
|
});
|
|
57
60
|
}); }, 30000);
|
|
58
|
-
function
|
|
61
|
+
test('test invalid request against the api.fintekkers.org position service', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
var fields, measures, error_1, request, summary;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
fields = [field_pb_1.FieldProto.SECURITY_ID, field_pb_1.FieldProto.TAX_LOT_CLOSE_DATE, field_pb_1.FieldProto.TRADE_DATE];
|
|
67
|
+
measures = [measure_pb_1.MeasureProto.DIRECTED_QUANTITY];
|
|
68
|
+
_a.label = 1;
|
|
69
|
+
case 1:
|
|
70
|
+
_a.trys.push([1, 3, , 5]);
|
|
71
|
+
return [4 /*yield*/, testPosition(fields, measures)];
|
|
72
|
+
case 2:
|
|
73
|
+
_a.sent();
|
|
74
|
+
return [3 /*break*/, 5];
|
|
75
|
+
case 3:
|
|
76
|
+
error_1 = _a.sent();
|
|
77
|
+
request = QueryPositionRequest_1.QueryPositionRequest.from(fields, measures);
|
|
78
|
+
return [4 /*yield*/, new PositionService_1.PositionService().validateRequest(request)];
|
|
79
|
+
case 4:
|
|
80
|
+
summary = _a.sent();
|
|
81
|
+
expect(summary.getErrorsList().length).toBeGreaterThan(0);
|
|
82
|
+
return [3 /*break*/, 5];
|
|
83
|
+
case 5: return [2 /*return*/];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}); }, 30000);
|
|
87
|
+
function testPosition(fields, measures) {
|
|
59
88
|
return __awaiter(this, void 0, void 0, function () {
|
|
60
|
-
var
|
|
89
|
+
var request, positions, position_1;
|
|
61
90
|
return __generator(this, function (_a) {
|
|
62
91
|
switch (_a.label) {
|
|
63
92
|
case 0:
|
|
64
|
-
fields = [field_pb_1.FieldProto.SECURITY_ID, field_pb_1.FieldProto.TRADE_DATE, field_pb_1.FieldProto.PRODUCT_TYPE, field_pb_1.FieldProto.PORTFOLIO, field_pb_1.FieldProto.PRODUCT_TYPE];
|
|
65
|
-
measures = [measure_pb_1.MeasureProto.DIRECTED_QUANTITY];
|
|
66
93
|
request = QueryPositionRequest_1.QueryPositionRequest.from(fields, measures);
|
|
67
94
|
return [4 /*yield*/, new PositionService_1.PositionService().search(request)];
|
|
68
95
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,6EAA8E;AAE9E,cAAc;AACd,yEAA0E;AAE1E,qBAAqB;AACrB,mFAAkF;AAClF,qFAAoF;AAEpF,IAAI,CAAC,yEAAyE,EAAE
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,6EAA8E;AAE9E,cAAc;AACd,yEAA0E;AAE1E,qBAAqB;AACrB,mFAAkF;AAClF,qFAAoF;AAEpF,IAAI,CAAC,yEAAyE,EAAE;;;;;gBAC1E,MAAM,GAAG,CAAC,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,UAAU,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,YAAY,CAAC,CAAC;gBACjI,QAAQ,GAAG,CAAC,yBAAY,CAAC,iBAAiB,CAAC,CAAC;gBACjC,qBAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAA;;gBAA7C,MAAM,GAAG,SAAoC;gBACnD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC3B,EAAE,KAAK,CAAC,CAAC;AAEV,IAAI,CAAC,sEAAsE,EAAE;;;;;gBACvE,MAAM,GAAG,CAAC,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,kBAAkB,EAAE,qBAAU,CAAC,UAAU,CAAC,CAAC;gBACxF,QAAQ,GAAG,CAAC,yBAAY,CAAC,iBAAiB,CAAC,CAAC;;;;gBAE9C,qBAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAA;;gBAApC,SAAoC,CAAC;;;;gBAEjC,OAAO,GAAyB,2CAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClE,qBAAM,IAAI,iCAAe,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAA;;gBAA9D,OAAO,GAAG,SAAoD;gBAClE,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;;;;;KAE7D,EAAE,KAAK,CAAC,CAAC;AAGV,SAAe,YAAY,CAAC,MAAoB,EAAE,QAAwB;;;;;;oBACpE,OAAO,GAAyB,2CAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAChE,qBAAM,IAAI,iCAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;oBAAvD,SAAS,GAAG,SAA2C;oBAE3D,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAA;wBAEjD,aAAW,SAAS,CAAC,CAAC,CAAC,CAAC;wBAE5B,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;4BAClB,UAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAChC,CAAC,CAAC,CAAA;wBACF,sBAAO,IAAI,EAAA;oBACb,CAAC;yBAAM,CAAC;wBACN,sBAAO,KAAK,EAAC;oBACf,CAAC;;;;;CACF"}
|
|
@@ -9,15 +9,26 @@ import { PositionService } from '../../services/position-service/PositionService
|
|
|
9
9
|
import { QueryPositionRequest } from '../../requests/position/QueryPositionRequest';
|
|
10
10
|
|
|
11
11
|
test('test getting a position against the api.fintekkers.org position service', async () => {
|
|
12
|
-
|
|
12
|
+
let fields = [FieldProto.SECURITY_ID, FieldProto.TRADE_DATE, FieldProto.PRODUCT_TYPE, FieldProto.PORTFOLIO, FieldProto.PRODUCT_TYPE];
|
|
13
|
+
let measures = [MeasureProto.DIRECTED_QUANTITY];
|
|
14
|
+
const isTrue = await testPosition(fields, measures);
|
|
13
15
|
expect(isTrue).toBe(true);
|
|
14
16
|
}, 30000);
|
|
15
17
|
|
|
16
|
-
async
|
|
17
|
-
|
|
18
|
-
let fields = [FieldProto.SECURITY_ID, FieldProto.TRADE_DATE, FieldProto.PRODUCT_TYPE, FieldProto.PORTFOLIO, FieldProto.PRODUCT_TYPE];
|
|
18
|
+
test('test invalid request against the api.fintekkers.org position service', async () => {
|
|
19
|
+
let fields = [FieldProto.SECURITY_ID, FieldProto.TAX_LOT_CLOSE_DATE, FieldProto.TRADE_DATE];
|
|
19
20
|
let measures = [MeasureProto.DIRECTED_QUANTITY];
|
|
21
|
+
try {
|
|
22
|
+
await testPosition(fields, measures);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
let request: QueryPositionRequest = QueryPositionRequest.from(fields, measures);
|
|
25
|
+
let summary = await new PositionService().validateRequest(request);
|
|
26
|
+
expect(summary.getErrorsList().length).toBeGreaterThan(0);
|
|
27
|
+
}
|
|
28
|
+
}, 30000);
|
|
29
|
+
|
|
20
30
|
|
|
31
|
+
async function testPosition(fields: FieldProto[], measures: MeasureProto[]): Promise<boolean> {
|
|
21
32
|
let request: QueryPositionRequest = QueryPositionRequest.from(fields, measures);
|
|
22
33
|
let positions = await new PositionService().search(request);
|
|
23
34
|
|
|
@@ -71,7 +71,7 @@ var TransactionService = /** @class */ (function () {
|
|
|
71
71
|
};
|
|
72
72
|
TransactionService.prototype.createTransaction = function (transaction) {
|
|
73
73
|
return __awaiter(this, void 0, void 0, function () {
|
|
74
|
-
var createRequest,
|
|
74
|
+
var createRequest, createTransactionAsync, response;
|
|
75
75
|
return __generator(this, function (_a) {
|
|
76
76
|
switch (_a.label) {
|
|
77
77
|
case 0:
|
|
@@ -79,8 +79,8 @@ var TransactionService = /** @class */ (function () {
|
|
|
79
79
|
createRequest.setObjectClass('TransactionRequest');
|
|
80
80
|
createRequest.setVersion('0.0.1');
|
|
81
81
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
82
|
-
|
|
83
|
-
return [4 /*yield*/,
|
|
82
|
+
createTransactionAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
|
|
83
|
+
return [4 /*yield*/, createTransactionAsync(createRequest)];
|
|
84
84
|
case 1:
|
|
85
85
|
response = _a.sent();
|
|
86
86
|
return [2 /*return*/, response];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["TransactionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAiC;AAEjC,SAAS;AACT,oEAA+D;AAK/D,cAAc;AAEd,sBAAsB;AACtB,4HAAiH;AACjH,wHAAuH;AAEvH,sHAAqH;AAErH,oEAA0D;AAG1D;IAGE;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,+CAAiB,CAAC,wBAAS,CAAC,MAAM,EAAE,wBAAS,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAEK,sDAAyB,GAA/B,UAAgC,WAAwB;;;;;;wBAChD,aAAa,GAAG,IAAI,6DAA6B,EAAE,CAAC;wBAC1D,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;wBACnD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAErD,2BAA2B,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnF,qBAAM,2BAA2B,CAAC,aAAa,CAAC,EAAA;;wBAA3D,QAAQ,GAAG,SAAgD;wBACjE,sBAAO,QAAQ,EAAC;;;;KACjB;IAEK,8CAAiB,GAAvB,UAAwB,WAAwB;;;;;;wBACxC,aAAa,GAAG,IAAI,6DAA6B,EAAE,CAAC;wBAC1D,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;wBACnD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAErD,
|
|
1
|
+
{"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["TransactionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,8 +41,8 @@ class TransactionService {
|
|
|
41
41
|
createRequest.setVersion('0.0.1');
|
|
42
42
|
createRequest.setCreateTransactionInput(transaction.proto);
|
|
43
43
|
|
|
44
|
-
const
|
|
45
|
-
const response = await
|
|
44
|
+
const createTransactionAsync = promisify(this.client.createOrUpdate.bind(this.client));
|
|
45
|
+
const response = await createTransactionAsync(createRequest);
|
|
46
46
|
return response;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -52,6 +52,7 @@ var TransactionService_1 = require("./TransactionService");
|
|
|
52
52
|
var transaction_1 = require("../../models/transaction/transaction");
|
|
53
53
|
var assert = require("assert");
|
|
54
54
|
var positionfilter_1 = require("../../models/position/positionfilter");
|
|
55
|
+
var position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
|
|
55
56
|
test('test printing a transaction to string', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
57
|
var isTrue;
|
|
57
58
|
return __generator(this, function (_a) {
|
|
@@ -176,6 +177,7 @@ function getTransaction(now, positionFilter, today) {
|
|
|
176
177
|
transaction.setTradeDate(today);
|
|
177
178
|
transaction.setSettlementDate(today); //Same day settlement
|
|
178
179
|
transaction.setTransactionType(transaction_type_pb_1.TransactionTypeProto.BUY);
|
|
180
|
+
transaction.setPositionStatus(position_status_pb_1.PositionStatusProto.EXECUTED);
|
|
179
181
|
transaction.setPrice(new price_pb_1.PriceProto()
|
|
180
182
|
.setObjectClass('Price')
|
|
181
183
|
.setAsOf(now.toProto())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["transaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,qFAAqF;AACrF,+EAA+E;AAE/E,cAAc;AACd,yEAA0E;AAE1E,8CAAgD;AAChD,gDAAkD;AAElD,uEAAsE;AACtE,kGAAkG;AAClG,wFAAyF;AACzF,sEAAuE;AACvE,0EAAyE;AACzE,2DAA0D;AAC1D,oEAA+D;AAG/D,+BAAkC;AAClC,uEAAsE;
|
|
1
|
+
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["transaction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { CreateTransactionResponseProto } from '../../../fintekkers/requests/tra
|
|
|
19
19
|
|
|
20
20
|
import assert = require("assert");
|
|
21
21
|
import { PositionFilter } from '../../models/position/positionfilter';
|
|
22
|
+
import { PositionStatusProto } from '../../../fintekkers/models/position/position_status_pb';
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
test('test printing a transaction to string', async () => {
|
|
@@ -124,6 +125,7 @@ async function getTransaction(now: dt.ZonedDateTime, positionFilter: PositionFil
|
|
|
124
125
|
transaction.setTradeDate(today);
|
|
125
126
|
transaction.setSettlementDate(today); //Same day settlement
|
|
126
127
|
transaction.setTransactionType(TransactionTypeProto.BUY);
|
|
128
|
+
transaction.setPositionStatus(PositionStatusProto.EXECUTED);
|
|
127
129
|
transaction.setPrice(
|
|
128
130
|
new PriceProto()
|
|
129
131
|
.setObjectClass('Price')
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.test.js","sourceRoot":"","sources":["portfolio.test.ts"],"names":[],"mappings":";AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,cAAc;AACd,yEAA0E;AAC1E,8CAAgD;AAChD,gDAAkD;AAElD,qBAAqB;AACrB,uDAAsD;AACtD,kFAAmF;AAEnF,uEAAsE;AAGtE,IAAI,CAAC,4EAA4E,EAAE;;;;;gBAC3E,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBAE7B,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;gBAE1C,SAAS,GAAG,IAAI,6BAAc,EAAE,CAAC;gBACvC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACtC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5B,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAET,qBAAM,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAA;;gBAA7E,iBAAiB,GAAG,SAAyD;gBACjF,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEG,qBAAM,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,EAAA;;gBAAzG,uBAAuB,GAAiC,SAAiD;gBAC7G,MAAM,CAAC,uBAAuB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEtD,qBAAM,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,+BAAc,EAAE,CAAC,eAAe,CAAC,qBAAU,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAA;;gBAAxJ,aAAa,GAAG,SAAwI;gBAC5J,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC7C,EAAE,KAAK,CAAC,CAAC"}
|