@fintekkers/ledger-models 0.1.80 → 0.1.82
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/portfolio/portfolio.js +3 -3
- package/node/wrappers/models/portfolio/portfolio.js.map +1 -1
- package/node/wrappers/models/portfolio/portfolio.ts +3 -3
- package/node/wrappers/models/position/position.js +42 -3
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test.js +42 -8
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +23 -5
- package/node/wrappers/models/position/position.ts +34 -3
- 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 +58 -6
- package/node/wrappers/services/position-service/position.test.js.map +1 -1
- package/node/wrappers/services/position-service/position.test.ts +34 -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
|
@@ -7,9 +7,9 @@ var Portfolio = /** @class */ (function () {
|
|
|
7
7
|
function Portfolio(proto) {
|
|
8
8
|
this.proto = proto;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
Portfolio.prototype.toString = function () {
|
|
11
|
+
return this.getPortfolioName();
|
|
12
|
+
};
|
|
13
13
|
Portfolio.prototype.getID = function () {
|
|
14
14
|
return uuid_1.UUID.fromU8Array(this.proto.getUuid().getRawUuid_asU8());
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["portfolio.ts"],"names":[],"mappings":";;AACA,yEAA0E;AAC1E,8CAAkD;AAClD,sCAAqC;AAErC;IAGI,mBAAY,KAAqB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["portfolio.ts"],"names":[],"mappings":";;AACA,yEAA0E;AAC1E,8CAAkD;AAClD,sCAAqC;AAErC;IAGI,mBAAY,KAAqB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,4BAAQ,GAAR;QACI,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED,yBAAK,GAAL;QACI,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,2BAAO,GAAP;QACI,OAAO,IAAI,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,oCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,6BAAS,GAAT;QACI,OAAO,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,4BAAQ,GAAR,UAAS,KAAiB;QACtB,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,qBAAU,CAAC,EAAE,CAAC;YACnB,KAAK,qBAAU,CAAC,YAAY;gBACxB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,qBAAU,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,qBAAU,CAAC,cAAc;gBAC1B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC;gBACI,MAAM,IAAI,KAAK,CAAC,iDAA0C,KAAK,CAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IACL,gBAAC;AAAD,CAAC,AAxCD,IAwCC;AAGD,kBAAe,SAAS,CAAC"}
|
|
@@ -10,9 +10,9 @@ class Portfolio {
|
|
|
10
10
|
this.proto = proto;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
toString(): string {
|
|
14
|
+
return this.getPortfolioName();
|
|
15
|
+
}
|
|
16
16
|
|
|
17
17
|
getID(): UUID {
|
|
18
18
|
return UUID.fromU8Array(this.proto.getUuid().getRawUuid_asU8());
|
|
@@ -16,9 +16,14 @@ var serialization_1 = require("../utils/serialization");
|
|
|
16
16
|
var wrappers_pb_1 = require("google-protobuf/google/protobuf/wrappers_pb");
|
|
17
17
|
var protoEnum_1 = require("../utils/protoEnum");
|
|
18
18
|
var field_1 = require("./field");
|
|
19
|
+
var uuid_1 = require("../utils/uuid");
|
|
20
|
+
var datetime_1 = require("../utils/datetime");
|
|
19
21
|
var strategy_pb_1 = require("../../../fintekkers/models/strategy/strategy_pb");
|
|
20
22
|
var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
21
23
|
var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
|
|
24
|
+
var security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
25
|
+
var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
|
|
26
|
+
var transaction_1 = require("../transaction/transaction");
|
|
22
27
|
var Position = /** @class */ (function () {
|
|
23
28
|
function Position(positionProto) {
|
|
24
29
|
this.proto = positionProto;
|
|
@@ -88,8 +93,41 @@ var Position = /** @class */ (function () {
|
|
|
88
93
|
throw new Error("Could not find measure in position");
|
|
89
94
|
};
|
|
90
95
|
Position.prototype.getFieldDisplay = function (fieldToGet) {
|
|
91
|
-
var
|
|
92
|
-
|
|
96
|
+
var value = this.getField(fieldToGet);
|
|
97
|
+
switch (typeof value) {
|
|
98
|
+
case 'string':
|
|
99
|
+
return value;
|
|
100
|
+
case 'number':
|
|
101
|
+
return "" + value;
|
|
102
|
+
case 'object':
|
|
103
|
+
if (value instanceof security_1.default) {
|
|
104
|
+
return value.toString();
|
|
105
|
+
}
|
|
106
|
+
else if (value instanceof portfolio_1.default) {
|
|
107
|
+
return value.getPortfolioName();
|
|
108
|
+
}
|
|
109
|
+
else if (value instanceof price_pb_1.PriceProto) {
|
|
110
|
+
return uuid_1.UUID.fromU8Array(value.getUuid().getRawUuid_asU8()).toString();
|
|
111
|
+
}
|
|
112
|
+
else if (value instanceof transaction_1.default) {
|
|
113
|
+
return value.toString();
|
|
114
|
+
}
|
|
115
|
+
else if (value instanceof uuid_1.UUID) {
|
|
116
|
+
return value.toString();
|
|
117
|
+
}
|
|
118
|
+
else if (value instanceof Date) {
|
|
119
|
+
return value.toString();
|
|
120
|
+
}
|
|
121
|
+
else if (value instanceof datetime_1.ZonedDateTime) {
|
|
122
|
+
return value.toString();
|
|
123
|
+
}
|
|
124
|
+
else if (value instanceof protoEnum_1.ProtoEnum) {
|
|
125
|
+
return value.toString();
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
default:
|
|
129
|
+
return "Can't display this field: " + fieldToGet.getField();
|
|
130
|
+
}
|
|
93
131
|
};
|
|
94
132
|
Position.prototype.getMeasures = function () {
|
|
95
133
|
return this.proto.getMeasuresList();
|
|
@@ -149,9 +187,10 @@ var Position = /** @class */ (function () {
|
|
|
149
187
|
case field_pb_1.FieldProto.ASSET_CLASS:
|
|
150
188
|
return wrappers_pb_1.StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
151
189
|
case field_pb_1.FieldProto.PORTFOLIO:
|
|
190
|
+
return portfolio_pb_1.PortfolioProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
152
191
|
case field_pb_1.FieldProto.SECURITY:
|
|
153
192
|
case field_pb_1.FieldProto.CASH_IMPACT_SECURITY:
|
|
154
|
-
return fieldToUnpack.getFieldValuePacked();
|
|
193
|
+
return security_pb_1.SecurityProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
155
194
|
case field_pb_1.FieldProto.IS_CANCELLED:
|
|
156
195
|
console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
|
|
157
196
|
return fieldToUnpack.getFieldValuePacked();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,yEAA0E;AAC1E,+EAAgF;AAChF,yFAAsG;AACtG,oDAA+C;AAC/C,iDAA4C;AAC5C,mEAAoE;AACpE,yFAAyF;AACzF,+EAA+E;AAC/E,8FAA+F;AAC/F,6EAA8E;AAE9E,wDAAgE;AAChE,2EAA0E;AAC1E,gDAA+C;AAC/C,iCAAgC;
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/tran
|
|
|
52
52
|
var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
53
53
|
var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
|
|
54
54
|
var tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_pb");
|
|
55
|
-
test('test the
|
|
55
|
+
test('test the enum Serialization', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
56
|
var isTrue;
|
|
57
57
|
return __generator(this, function (_a) {
|
|
58
58
|
switch (_a.label) {
|
|
@@ -60,16 +60,44 @@ test('test the position wrapper', function () { return __awaiter(void 0, void 0,
|
|
|
60
60
|
case 1:
|
|
61
61
|
isTrue = _a.sent();
|
|
62
62
|
expect(isTrue).toBe(true);
|
|
63
|
-
return [
|
|
64
|
-
|
|
63
|
+
return [2 /*return*/];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}); });
|
|
67
|
+
test('test the serialization position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
+
var isTrue;
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
switch (_a.label) {
|
|
71
|
+
case 0: return [4 /*yield*/, testSerialization()];
|
|
72
|
+
case 1:
|
|
65
73
|
isTrue = _a.sent();
|
|
66
74
|
expect(isTrue).toBe(true);
|
|
67
|
-
return [
|
|
68
|
-
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}); });
|
|
79
|
+
test('test JSON Serialization', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
80
|
+
var isTrue;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0: return [4 /*yield*/, testJsonSerialization()];
|
|
84
|
+
case 1:
|
|
69
85
|
isTrue = _a.sent();
|
|
70
86
|
expect(isTrue).toBe(true);
|
|
71
87
|
return [4 /*yield*/, testDeSerializationWithUnknownProto()];
|
|
72
|
-
case
|
|
88
|
+
case 2:
|
|
89
|
+
isTrue = _a.sent();
|
|
90
|
+
expect(isTrue).toBe(true);
|
|
91
|
+
return [2 /*return*/];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}); });
|
|
95
|
+
test('test deserialization of an unknown enum type', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
96
|
+
var isTrue;
|
|
97
|
+
return __generator(this, function (_a) {
|
|
98
|
+
switch (_a.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, testDeSerializationWithUnknownProto()];
|
|
100
|
+
case 1:
|
|
73
101
|
isTrue = _a.sent();
|
|
74
102
|
expect(isTrue).toBe(true);
|
|
75
103
|
return [2 /*return*/];
|
|
@@ -199,13 +227,19 @@ function getPosition(includeUnknownEnumValue) {
|
|
|
199
227
|
var tenorPacked = new any_pb_1.Any();
|
|
200
228
|
tenorPacked.setTypeUrl("DUMMYTYPE_TENOR");
|
|
201
229
|
tenorPacked.setValue(tenor.serializeBinary());
|
|
230
|
+
var securityPacked = new any_pb_1.Any();
|
|
231
|
+
securityPacked.setTypeUrl("DUMMYTYPE_SECURITY");
|
|
232
|
+
securityPacked.setValue(security.serializeBinary());
|
|
233
|
+
var portfolioPacked = new any_pb_1.Any();
|
|
234
|
+
portfolioPacked.setTypeUrl("DUMMYTYPE_PORTFOLIO");
|
|
235
|
+
portfolioPacked.setValue(portfolio.serializeBinary());
|
|
202
236
|
var positionStatus = includeUnknownEnumValue ?
|
|
203
237
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.UNKNOWN) :
|
|
204
238
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED);
|
|
205
239
|
var positionProto = new position_pb_1.PositionProto();
|
|
206
240
|
positionProto.setFieldsList([
|
|
207
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(
|
|
208
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(
|
|
241
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(securityPacked),
|
|
242
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolioPacked),
|
|
209
243
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
210
244
|
positionStatus,
|
|
211
245
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRANSACTION_TYPE).setEnumValue(transaction_type_pb_1.TransactionTypeProto.BUY),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAqC;AACrC,iEAA6D;AAE7D,qFAAqF;AACrF,+EAAgF;AAChF,yFAAsG;AACtG,yEAA0E;AAC1E,6EAA8E;AAC9E,+EAAgF;AAChF,kFAAmF;AACnF,uCAAsC;AACtC,sCAA0C;AAC1C,6FAA6F;AAE7F,kGAAkG;AAClG,sEAAuE;AACvE,yEAA0E;AAC1E,mFAAmF;AAEnF,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,20 +17,30 @@ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
|
17
17
|
import { TenorProto } from '../../../fintekkers/models/security/tenor_pb';
|
|
18
18
|
import { TenorTypeProto } from '../../../fintekkers/models/security/tenor_type_pb';
|
|
19
19
|
|
|
20
|
-
test('test the
|
|
20
|
+
test('test the enum Serialization', async () => {
|
|
21
21
|
let isTrue = await testEnumSerialization();
|
|
22
22
|
expect(isTrue).toBe(true);
|
|
23
|
+
});
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
test('test the serialization position wrapper', async () => {
|
|
26
|
+
let isTrue = await testSerialization();
|
|
25
27
|
expect(isTrue).toBe(true);
|
|
28
|
+
});
|
|
26
29
|
|
|
27
|
-
|
|
30
|
+
test('test JSON Serialization', async () => {
|
|
31
|
+
let isTrue = await testJsonSerialization();
|
|
28
32
|
expect(isTrue).toBe(true);
|
|
29
33
|
|
|
30
34
|
isTrue = await testDeSerializationWithUnknownProto();
|
|
31
35
|
expect(isTrue).toBe(true);
|
|
32
36
|
});
|
|
33
37
|
|
|
38
|
+
test('test deserialization of an unknown enum type', async () => {
|
|
39
|
+
let isTrue = await testDeSerializationWithUnknownProto();
|
|
40
|
+
expect(isTrue).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
|
|
34
44
|
async function testEnumSerialization(): Promise<boolean> {
|
|
35
45
|
let positionProto = new PositionProto();
|
|
36
46
|
positionProto.setFieldsList([
|
|
@@ -169,14 +179,22 @@ function getPosition(includeUnknownEnumValue: boolean) {
|
|
|
169
179
|
tenorPacked.setTypeUrl(`DUMMYTYPE_TENOR`);
|
|
170
180
|
tenorPacked.setValue(tenor.serializeBinary());
|
|
171
181
|
|
|
182
|
+
const securityPacked = new Any();
|
|
183
|
+
securityPacked.setTypeUrl(`DUMMYTYPE_SECURITY`);
|
|
184
|
+
securityPacked.setValue(security.serializeBinary());
|
|
185
|
+
|
|
186
|
+
const portfolioPacked = new Any();
|
|
187
|
+
portfolioPacked.setTypeUrl(`DUMMYTYPE_PORTFOLIO`);
|
|
188
|
+
portfolioPacked.setValue(portfolio.serializeBinary());
|
|
189
|
+
|
|
172
190
|
let positionStatus = includeUnknownEnumValue ?
|
|
173
191
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.UNKNOWN) :
|
|
174
192
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED);
|
|
175
193
|
|
|
176
194
|
let positionProto = new PositionProto();
|
|
177
195
|
positionProto.setFieldsList([
|
|
178
|
-
new FieldMapEntry().setField(FieldProto.SECURITY).setFieldValuePacked(
|
|
179
|
-
new FieldMapEntry().setField(FieldProto.PORTFOLIO).setFieldValuePacked(
|
|
196
|
+
new FieldMapEntry().setField(FieldProto.SECURITY).setFieldValuePacked(securityPacked),
|
|
197
|
+
new FieldMapEntry().setField(FieldProto.PORTFOLIO).setFieldValuePacked(portfolioPacked),
|
|
180
198
|
new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
181
199
|
positionStatus,
|
|
182
200
|
new FieldMapEntry().setField(FieldProto.TRANSACTION_TYPE).setEnumValue(TransactionTypeProto.BUY),
|
|
@@ -19,6 +19,9 @@ import { ZonedDateTime } from "../utils/datetime";
|
|
|
19
19
|
import { StrategyProto } from "../../../fintekkers/models/strategy/strategy_pb";
|
|
20
20
|
import { PriceProto } from "../../../fintekkers/models/price/price_pb";
|
|
21
21
|
import { TenorProto } from "../../../fintekkers/models/security/tenor_pb";
|
|
22
|
+
import { SecurityProto } from "../../../fintekkers/models/security/security_pb";
|
|
23
|
+
import { PortfolioProto } from "../../../fintekkers/models/portfolio/portfolio_pb";
|
|
24
|
+
import Transaction from "../transaction/transaction";
|
|
22
25
|
|
|
23
26
|
export class Position {
|
|
24
27
|
proto: PositionProto;
|
|
@@ -104,8 +107,35 @@ export class Position {
|
|
|
104
107
|
}
|
|
105
108
|
|
|
106
109
|
public getFieldDisplay(fieldToGet: FieldMapEntry): string {
|
|
107
|
-
const
|
|
108
|
-
|
|
110
|
+
const value = this.getField(fieldToGet);
|
|
111
|
+
|
|
112
|
+
switch (typeof value) {
|
|
113
|
+
case 'string':
|
|
114
|
+
return value;
|
|
115
|
+
case 'number':
|
|
116
|
+
return "" + value;
|
|
117
|
+
case 'object':
|
|
118
|
+
if (value instanceof Security) {
|
|
119
|
+
return value.toString();
|
|
120
|
+
} else if (value instanceof Portfolio) {
|
|
121
|
+
return value.getPortfolioName();
|
|
122
|
+
} else if (value instanceof PriceProto) {
|
|
123
|
+
return UUID.fromU8Array(value.getUuid().getRawUuid_asU8()).toString();
|
|
124
|
+
} else if (value instanceof Transaction) {
|
|
125
|
+
return value.toString();
|
|
126
|
+
} else if (value instanceof UUID) {
|
|
127
|
+
return value.toString();
|
|
128
|
+
} else if (value instanceof Date) {
|
|
129
|
+
return value.toString();
|
|
130
|
+
} else if (value instanceof ZonedDateTime) {
|
|
131
|
+
return value.toString();
|
|
132
|
+
} else if (value instanceof ProtoEnum) {
|
|
133
|
+
return value.toString();
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
default:
|
|
137
|
+
return "Can't display this field: " + fieldToGet.getField();
|
|
138
|
+
}
|
|
109
139
|
}
|
|
110
140
|
|
|
111
141
|
public getMeasures(): MeasureMapEntry[] {
|
|
@@ -170,9 +200,10 @@ export class Position {
|
|
|
170
200
|
case FieldProto.ASSET_CLASS:
|
|
171
201
|
return StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
172
202
|
case FieldProto.PORTFOLIO:
|
|
203
|
+
return PortfolioProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
173
204
|
case FieldProto.SECURITY:
|
|
174
205
|
case FieldProto.CASH_IMPACT_SECURITY:
|
|
175
|
-
return fieldToUnpack.getFieldValuePacked();
|
|
206
|
+
return SecurityProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
176
207
|
case FieldProto.IS_CANCELLED:
|
|
177
208
|
console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
|
|
178
209
|
return fieldToUnpack.getFieldValuePacked();
|
|
@@ -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,63 @@ 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
|
+
test('test getting a complex type from position', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
88
|
+
var fields, measures, request, positions, position, _i, _a, field, displayValue, isTrue;
|
|
89
|
+
return __generator(this, function (_b) {
|
|
90
|
+
switch (_b.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
fields = [field_pb_1.FieldProto.SECURITY, field_pb_1.FieldProto.PORTFOLIO];
|
|
93
|
+
measures = [measure_pb_1.MeasureProto.DIRECTED_QUANTITY];
|
|
94
|
+
request = QueryPositionRequest_1.QueryPositionRequest.from(fields, measures);
|
|
95
|
+
return [4 /*yield*/, new PositionService_1.PositionService().search(request)];
|
|
96
|
+
case 1:
|
|
97
|
+
positions = _b.sent();
|
|
98
|
+
position = positions[0];
|
|
99
|
+
for (_i = 0, _a = position.getFields(); _i < _a.length; _i++) {
|
|
100
|
+
field = _a[_i];
|
|
101
|
+
displayValue = position.getFieldDisplay(field);
|
|
102
|
+
expect(displayValue.indexOf("[object") != 0).toBeTruthy();
|
|
103
|
+
}
|
|
104
|
+
return [4 /*yield*/, testPosition(fields, measures)];
|
|
105
|
+
case 2:
|
|
106
|
+
isTrue = _b.sent();
|
|
107
|
+
expect(isTrue).toBe(true);
|
|
108
|
+
return [2 /*return*/];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}); }, 30000);
|
|
112
|
+
function testPosition(fields, measures) {
|
|
59
113
|
return __awaiter(this, void 0, void 0, function () {
|
|
60
|
-
var
|
|
114
|
+
var request, positions, position_1;
|
|
61
115
|
return __generator(this, function (_a) {
|
|
62
116
|
switch (_a.label) {
|
|
63
117
|
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
118
|
request = QueryPositionRequest_1.QueryPositionRequest.from(fields, measures);
|
|
67
119
|
return [4 /*yield*/, new PositionService_1.PositionService().search(request)];
|
|
68
120
|
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":"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"}
|
|
@@ -9,15 +9,45 @@ 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
|
+
|
|
30
|
+
test('test getting a complex type from position', async () => {
|
|
31
|
+
let fields = [FieldProto.SECURITY, FieldProto.PORTFOLIO];
|
|
32
|
+
let measures = [MeasureProto.DIRECTED_QUANTITY];
|
|
33
|
+
|
|
34
|
+
let request: QueryPositionRequest = QueryPositionRequest.from(fields, measures);
|
|
35
|
+
let positions = await new PositionService().search(request);
|
|
36
|
+
|
|
37
|
+
let position = positions[0];
|
|
38
|
+
|
|
39
|
+
for (let field of position.getFields()) {
|
|
40
|
+
let displayValue = position.getFieldDisplay(field);
|
|
41
|
+
|
|
42
|
+
expect(displayValue.indexOf("[object") != 0).toBeTruthy();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const isTrue = await testPosition(fields, measures);
|
|
46
|
+
expect(isTrue).toBe(true);
|
|
47
|
+
}, 30000);
|
|
48
|
+
|
|
20
49
|
|
|
50
|
+
async function testPosition(fields: FieldProto[], measures: MeasureProto[]): Promise<boolean> {
|
|
21
51
|
let request: QueryPositionRequest = QueryPositionRequest.from(fields, measures);
|
|
22
52
|
let positions = await new PositionService().search(request);
|
|
23
53
|
|
|
@@ -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"}
|