@fintekkers/ledger-models 0.1.79 → 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.
Files changed (32) hide show
  1. package/.env +1 -1
  2. package/node/wrappers/models/position/position.js +24 -5
  3. package/node/wrappers/models/position/position.js.map +1 -1
  4. package/node/wrappers/models/position/position.test.js +51 -11
  5. package/node/wrappers/models/position/position.test.js.map +1 -1
  6. package/node/wrappers/models/position/position.test.ts +35 -9
  7. package/node/wrappers/models/position/position.ts +26 -6
  8. package/node/wrappers/models/position/positionfilter.js +22 -3
  9. package/node/wrappers/models/position/positionfilter.js.map +1 -1
  10. package/node/wrappers/models/position/positionfilter.ts +23 -3
  11. package/node/wrappers/models/utils/serialization.js.map +1 -1
  12. package/node/wrappers/models/utils/serialization.ts +2 -0
  13. package/node/wrappers/models/utils/uuid.test.js +17 -0
  14. package/node/wrappers/models/utils/uuid.test.js.map +1 -0
  15. package/node/wrappers/models/utils/uuid.test.ts +21 -0
  16. package/node/wrappers/services/portfolio-service/{portfolio.test.js → portfolioService.test.js} +4 -3
  17. package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -0
  18. package/node/wrappers/services/portfolio-service/{portfolio.test.ts → portfolioService.test.ts} +2 -1
  19. package/node/wrappers/services/position-service/PositionService.js +21 -1
  20. package/node/wrappers/services/position-service/PositionService.js.map +1 -1
  21. package/node/wrappers/services/position-service/PositionService.ts +18 -0
  22. package/node/wrappers/services/position-service/position.test.js +33 -6
  23. package/node/wrappers/services/position-service/position.test.js.map +1 -1
  24. package/node/wrappers/services/position-service/position.test.ts +15 -4
  25. package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
  26. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  27. package/node/wrappers/services/transaction-service/TransactionService.ts +2 -2
  28. package/node/wrappers/services/transaction-service/transaction.test.js +2 -0
  29. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
  30. package/node/wrappers/services/transaction-service/transaction.test.ts +2 -0
  31. package/package.json +1 -1
  32. package/node/wrappers/services/portfolio-service/portfolio.test.js.map +0 -1
package/.env CHANGED
@@ -1,3 +1,3 @@
1
1
  # API_URL=api.fintekkers.org #this will be the default value so doesn't need to be set unless you override
2
- # API_URL=localhost #this is the value to use when running services locally
2
+ API_URL=localhost #this is the value to use when running services locally
3
3
 
@@ -16,6 +16,9 @@ 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 strategy_pb_1 = require("../../../fintekkers/models/strategy/strategy_pb");
20
+ var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
21
+ var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
19
22
  var Position = /** @class */ (function () {
20
23
  function Position(positionProto) {
21
24
  this.proto = positionProto;
@@ -57,6 +60,10 @@ var Position = /** @class */ (function () {
57
60
  return proto;
58
61
  }
59
62
  var unpackedValue = Position.unpackField(tmpField);
63
+ if (field_pb_1.FieldProto.PRICE == fieldToGet.getField()
64
+ || field_pb_1.FieldProto.TENOR == fieldToGet.getField()) {
65
+ return unpackedValue; //instanceof PriceProto || TenorProto
66
+ }
60
67
  if (field_pb_1.FieldProto.SECURITY == fieldToGet.getField()) {
61
68
  return new security_1.default(unpackedValue);
62
69
  }
@@ -109,6 +116,7 @@ var Position = /** @class */ (function () {
109
116
  switch (fieldToUnpack.getField()) {
110
117
  case field_pb_1.FieldProto.PORTFOLIO_ID:
111
118
  case field_pb_1.FieldProto.SECURITY_ID:
119
+ case field_pb_1.FieldProto.PRICE_ID:
112
120
  case field_pb_1.FieldProto.ID:
113
121
  return uuid_pb_1.UUIDProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
114
122
  case field_pb_1.FieldProto.AS_OF:
@@ -119,25 +127,36 @@ var Position = /** @class */ (function () {
119
127
  case field_pb_1.FieldProto.SETTLEMENT_DATE:
120
128
  case field_pb_1.FieldProto.TAX_LOT_OPEN_DATE:
121
129
  case field_pb_1.FieldProto.TAX_LOT_CLOSE_DATE:
130
+ case field_pb_1.FieldProto.EFFECTIVE_DATE:
122
131
  return local_date_pb_1.LocalDateProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
123
132
  case field_pb_1.FieldProto.IDENTIFIER:
124
133
  return identifier_pb_1.IdentifierProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
134
+ case field_pb_1.FieldProto.STRATEGY:
135
+ return strategy_pb_1.StrategyProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
136
+ case field_pb_1.FieldProto.TENOR:
137
+ return tenor_pb_1.TenorProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
138
+ case field_pb_1.FieldProto.PRICE:
139
+ return price_pb_1.PriceProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
125
140
  case field_pb_1.FieldProto.TRANSACTION_TYPE:
126
141
  case field_pb_1.FieldProto.POSITION_STATUS:
127
- // Assuming ProtoEnum is properly defined elsewhere
128
- // const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToUnpack.field];
129
- return fieldToUnpack; //new ProtoEnum(descriptor, fieldToUnpack.enumValue);
142
+ return fieldToUnpack;
130
143
  case field_pb_1.FieldProto.PORTFOLIO_NAME:
131
144
  case field_pb_1.FieldProto.SECURITY_DESCRIPTION:
145
+ case field_pb_1.FieldProto.SECURITY_ISSUER_NAME:
146
+ case field_pb_1.FieldProto.ADJUSTED_TENOR:
132
147
  case field_pb_1.FieldProto.PRODUCT_TYPE:
148
+ case field_pb_1.FieldProto.PRODUCT_CLASS:
133
149
  case field_pb_1.FieldProto.ASSET_CLASS:
134
150
  return wrappers_pb_1.StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
135
151
  case field_pb_1.FieldProto.PORTFOLIO:
136
- return fieldToUnpack.getFieldValuePacked();
137
152
  case field_pb_1.FieldProto.SECURITY:
153
+ case field_pb_1.FieldProto.CASH_IMPACT_SECURITY:
154
+ return fieldToUnpack.getFieldValuePacked();
155
+ case field_pb_1.FieldProto.IS_CANCELLED:
156
+ console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
138
157
  return fieldToUnpack.getFieldValuePacked();
139
158
  default:
140
- throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()]));
159
+ throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()], ". Mapping missing"));
141
160
  }
142
161
  };
143
162
  return Position;
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,9 @@ var position_1 = require("./position");
49
49
  var date_1 = require("../utils/date");
50
50
  var position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
51
51
  var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
52
+ var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
53
+ var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
54
+ var tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_pb");
52
55
  test('test the position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
53
56
  var isTrue;
54
57
  return __generator(this, function (_a) {
@@ -63,6 +66,10 @@ test('test the position wrapper', function () { return __awaiter(void 0, void 0,
63
66
  expect(isTrue).toBe(true);
64
67
  return [4 /*yield*/, testJsonSerialization()];
65
68
  case 3:
69
+ isTrue = _a.sent();
70
+ expect(isTrue).toBe(true);
71
+ return [4 /*yield*/, testDeSerializationWithUnknownProto()];
72
+ case 4:
66
73
  isTrue = _a.sent();
67
74
  expect(isTrue).toBe(true);
68
75
  return [2 /*return*/];
@@ -96,18 +103,16 @@ function testEnumSerialization() {
96
103
  }
97
104
  function testJsonSerialization() {
98
105
  return __awaiter(this, void 0, void 0, function () {
99
- var security, portfolio, tradeDate, productType, id, tradeDatePacked, idPacked, positionProto, position, position2, tradeDatePosition;
106
+ var tradeDate, productType, id, tradeDatePacked, idPacked, positionProto, position, position2, tradeDatePosition;
100
107
  return __generator(this, function (_a) {
101
- security = new security_pb_1.SecurityProto().setAssetClass("Test");
102
- portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
103
108
  tradeDate = date_1.LocalDate.today().toDate();
104
109
  productType = "Test product type";
105
110
  id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
106
111
  tradeDatePacked = new any_pb_1.Any();
107
- tradeDatePacked.setTypeUrl("Doesn't matter");
112
+ tradeDatePacked.setTypeUrl("DUMMYTYPE_DATE");
108
113
  tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
109
114
  idPacked = new any_pb_1.Any();
110
- idPacked.setTypeUrl("Doesn't matter");
115
+ idPacked.setTypeUrl("DUMMYTYPE_ID");
111
116
  idPacked.setValue(id.toUUIDProto().serializeBinary());
112
117
  positionProto = new position_pb_1.PositionProto();
113
118
  positionProto.setFieldsList([
@@ -115,6 +120,7 @@ function testJsonSerialization() {
115
120
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
116
121
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED),
117
122
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
123
+ new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY_DESCRIPTION).setStringValue("Dummy"),
118
124
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
119
125
  ]);
120
126
  position = new position_1.Position(positionProto);
@@ -124,15 +130,16 @@ function testJsonSerialization() {
124
130
  expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
125
131
  expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
126
132
  expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
133
+ expect(position2.getFieldValue(field_pb_1.FieldProto.SECURITY_DESCRIPTION)).toBe("Dummy");
127
134
  return [2 /*return*/, true];
128
135
  });
129
136
  });
130
137
  }
131
138
  function testSerialization() {
132
139
  return __awaiter(this, void 0, void 0, function () {
133
- var _a, position, tradeDate, security, portfolio, productType, id, tradeDatePosition, securityPosition, portfolioPosition, positionID;
140
+ var _a, position, tradeDate, security, portfolio, productType, id, tradeDatePosition, securityPosition, portfolioPosition, positionID, price, tenor;
134
141
  return __generator(this, function (_b) {
135
- _a = getPosition(), position = _a.position, tradeDate = _a.tradeDate, security = _a.security, portfolio = _a.portfolio, productType = _a.productType, id = _a.id;
142
+ _a = getPosition(false), position = _a.position, tradeDate = _a.tradeDate, security = _a.security, portfolio = _a.portfolio, productType = _a.productType, id = _a.id;
136
143
  tradeDatePosition = position.getFieldValue(field_pb_1.FieldProto.TRADE_DATE);
137
144
  expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
138
145
  expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
@@ -146,33 +153,66 @@ function testSerialization() {
146
153
  expect(positionID.toString()).toBe(id.toString());
147
154
  expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("EXECUTED");
148
155
  expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY)).toBe(1);
156
+ price = position.getFieldValue(field_pb_1.FieldProto.PRICE);
157
+ expect(price.getPrice().getArbitraryPrecisionValue()).toBe("1.0");
158
+ tenor = position.getFieldValue(field_pb_1.FieldProto.TENOR);
159
+ expect(tenor.getTermValue()).toBe("3M");
160
+ return [2 /*return*/, true];
161
+ });
162
+ });
163
+ }
164
+ function testDeSerializationWithUnknownProto() {
165
+ return __awaiter(this, void 0, void 0, function () {
166
+ var position;
167
+ return __generator(this, function (_a) {
168
+ position = getPosition(true).position;
169
+ expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("UNKNOWN");
149
170
  return [2 /*return*/, true];
150
171
  });
151
172
  });
152
173
  }
153
- function getPosition() {
174
+ function getPosition(includeUnknownEnumValue) {
154
175
  var security = new security_pb_1.SecurityProto().setAssetClass("Test");
155
176
  var portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
156
177
  var tradeDate = date_1.LocalDate.today().toDate();
157
178
  var productType = "Test product type";
158
179
  var id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
180
+ var price = new price_pb_1.PriceProto()
181
+ .setPrice(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0"))
182
+ .setUuid(id.toUUIDProto())
183
+ .setSecurity(security);
184
+ var tenor = new tenor_pb_1.TenorProto()
185
+ .setTenorType(tenor_type_pb_1.TenorTypeProto.TERM)
186
+ .setTermValue("3M");
187
+ ;
159
188
  var measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
160
189
  var measureValue = new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0");
161
190
  var tradeDatePacked = new any_pb_1.Any();
162
- tradeDatePacked.setTypeUrl("Doesn't matter");
191
+ tradeDatePacked.setTypeUrl("DUMMYTYPE_DATE");
163
192
  tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
164
193
  var idPacked = new any_pb_1.Any();
165
- idPacked.setTypeUrl("Doesn't matter");
194
+ idPacked.setTypeUrl("DUMMYTYPE_ID");
166
195
  idPacked.setValue(id.toUUIDProto().serializeBinary());
196
+ var pricePacked = new any_pb_1.Any();
197
+ pricePacked.setTypeUrl("DUMMYTYPE_PRICE");
198
+ pricePacked.setValue(price.serializeBinary());
199
+ var tenorPacked = new any_pb_1.Any();
200
+ tenorPacked.setTypeUrl("DUMMYTYPE_TENOR");
201
+ tenorPacked.setValue(tenor.serializeBinary());
202
+ var positionStatus = includeUnknownEnumValue ?
203
+ new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.UNKNOWN) :
204
+ new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED);
167
205
  var positionProto = new position_pb_1.PositionProto();
168
206
  positionProto.setFieldsList([
169
207
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(security),
170
208
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
171
209
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
172
- new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.UNKNOWN),
210
+ positionStatus,
173
211
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRANSACTION_TYPE).setEnumValue(transaction_type_pb_1.TransactionTypeProto.BUY),
212
+ new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TENOR).setFieldValuePacked(tenorPacked),
174
213
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
175
214
  new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
215
+ new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRICE).setFieldValuePacked(pricePacked)
176
216
  ]);
177
217
  positionProto.setMeasuresList([
178
218
  new position_util_pb_1.MeasureMapEntry().setMeasure(measure).setMeasureDecimalValue(measureValue)
@@ -1 +1 @@
1
- {"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ import { LocalDate } from '../utils/date';
13
13
  import { PositionStatusProto } from '../../../fintekkers/models/position/position_status_pb';
14
14
  import { ProtoEnum } from '../utils/protoEnum';
15
15
  import { TransactionTypeProto } from '../../../fintekkers/models/transaction/transaction_type_pb';
16
+ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
17
+ import { TenorProto } from '../../../fintekkers/models/security/tenor_pb';
18
+ import { TenorTypeProto } from '../../../fintekkers/models/security/tenor_type_pb';
16
19
 
17
20
  test('test the position wrapper', async () => {
18
21
  let isTrue = await testEnumSerialization();
@@ -26,7 +29,6 @@ test('test the position wrapper', async () => {
26
29
 
27
30
  isTrue = await testDeSerializationWithUnknownProto();
28
31
  expect(isTrue).toBe(true);
29
-
30
32
  });
31
33
 
32
34
  async function testEnumSerialization(): Promise<boolean> {
@@ -55,20 +57,17 @@ async function testEnumSerialization(): Promise<boolean> {
55
57
  return true;
56
58
  }
57
59
 
58
-
59
60
  async function testJsonSerialization(): Promise<boolean> {
60
- let security = new SecurityProto().setAssetClass("Test");
61
- let portfolio = new PortfolioProto().setPortfolioName("Test portfolio");
62
61
  let tradeDate = LocalDate.today().toDate();
63
62
  let productType = "Test product type";
64
63
  let id = new UUID(UUID.random().toBytes());
65
64
 
66
65
  const tradeDatePacked = new Any();
67
- tradeDatePacked.setTypeUrl(`Doesn't matter`);
66
+ tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
68
67
  tradeDatePacked.setValue(LocalDate.from(tradeDate).toProto().serializeBinary());
69
68
 
70
69
  const idPacked = new Any();
71
- idPacked.setTypeUrl(`Doesn't matter`);
70
+ idPacked.setTypeUrl(`DUMMYTYPE_ID`);
72
71
  idPacked.setValue(id.toUUIDProto().serializeBinary());
73
72
 
74
73
  let positionProto = new PositionProto();
@@ -77,19 +76,21 @@ async function testJsonSerialization(): Promise<boolean> {
77
76
  new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
78
77
  new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED),
79
78
  new FieldMapEntry().setField(FieldProto.PRODUCT_TYPE).setStringValue(productType),
79
+ new FieldMapEntry().setField(FieldProto.SECURITY_DESCRIPTION).setStringValue("Dummy"),
80
80
  new FieldMapEntry().setField(FieldProto.ID).setFieldValuePacked(idPacked),
81
81
  ]);
82
82
  let position = new Position(positionProto);
83
83
 
84
84
  let position2 = Position.fromJSON(position.toJSON());
85
85
 
86
-
87
86
  let tradeDatePosition = position2.getFieldValue(FieldProto.TRADE_DATE);
88
87
  expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
89
88
  expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
90
89
  expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
91
90
  expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
92
91
 
92
+ expect(position2.getFieldValue(FieldProto.SECURITY_DESCRIPTION)).toBe("Dummy");
93
+
93
94
  return true;
94
95
  }
95
96
 
@@ -117,6 +118,12 @@ async function testSerialization(): Promise<boolean> {
117
118
 
118
119
  expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY)).toBe(1);
119
120
 
121
+ let price: PriceProto = position.getFieldValue(FieldProto.PRICE);
122
+ expect(price.getPrice().getArbitraryPrecisionValue()).toBe("1.0");
123
+
124
+ let tenor: TenorProto = position.getFieldValue(FieldProto.TENOR);
125
+ expect(tenor.getTermValue()).toBe("3M");
126
+
120
127
  return true;
121
128
  }
122
129
 
@@ -134,17 +141,34 @@ function getPosition(includeUnknownEnumValue: boolean) {
134
141
  let productType = "Test product type";
135
142
  let id = new UUID(UUID.random().toBytes());
136
143
 
144
+ let price = new PriceProto()
145
+ .setPrice(new DecimalValueProto().setArbitraryPrecisionValue("1.0"))
146
+ .setUuid(id.toUUIDProto())
147
+ .setSecurity(security);
148
+
149
+ let tenor = new TenorProto()
150
+ .setTenorType(TenorTypeProto.TERM)
151
+ .setTermValue("3M");;
152
+
137
153
  let measure = MeasureProto.DIRECTED_QUANTITY;
138
154
  let measureValue = new DecimalValueProto().setArbitraryPrecisionValue("1.0");
139
155
 
140
156
  const tradeDatePacked = new Any();
141
- tradeDatePacked.setTypeUrl(`Doesn't matter`);
157
+ tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
142
158
  tradeDatePacked.setValue(LocalDate.from(tradeDate).toProto().serializeBinary());
143
159
 
144
160
  const idPacked = new Any();
145
- idPacked.setTypeUrl(`Doesn't matter`);
161
+ idPacked.setTypeUrl(`DUMMYTYPE_ID`);
146
162
  idPacked.setValue(id.toUUIDProto().serializeBinary());
147
163
 
164
+ const pricePacked = new Any();
165
+ pricePacked.setTypeUrl(`DUMMYTYPE_PRICE`);
166
+ pricePacked.setValue(price.serializeBinary());
167
+
168
+ const tenorPacked = new Any();
169
+ tenorPacked.setTypeUrl(`DUMMYTYPE_TENOR`);
170
+ tenorPacked.setValue(tenor.serializeBinary());
171
+
148
172
  let positionStatus = includeUnknownEnumValue ?
149
173
  new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.UNKNOWN) :
150
174
  new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED);
@@ -156,8 +180,10 @@ function getPosition(includeUnknownEnumValue: boolean) {
156
180
  new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
157
181
  positionStatus,
158
182
  new FieldMapEntry().setField(FieldProto.TRANSACTION_TYPE).setEnumValue(TransactionTypeProto.BUY),
183
+ new FieldMapEntry().setField(FieldProto.TENOR).setFieldValuePacked(tenorPacked),
159
184
  new FieldMapEntry().setField(FieldProto.PRODUCT_TYPE).setStringValue(productType),
160
185
  new FieldMapEntry().setField(FieldProto.ID).setFieldValuePacked(idPacked),
186
+ new FieldMapEntry().setField(FieldProto.PRICE).setFieldValuePacked(pricePacked)
161
187
  ]);
162
188
 
163
189
  positionProto.setMeasuresList([
@@ -16,6 +16,9 @@ import { ProtoEnum } from "../utils/protoEnum";
16
16
  import { Field } from "./field";
17
17
  import { UUID } from "../utils/uuid";
18
18
  import { ZonedDateTime } from "../utils/datetime";
19
+ import { StrategyProto } from "../../../fintekkers/models/strategy/strategy_pb";
20
+ import { PriceProto } from "../../../fintekkers/models/price/price_pb";
21
+ import { TenorProto } from "../../../fintekkers/models/security/tenor_pb";
19
22
 
20
23
  export class Position {
21
24
  proto: PositionProto;
@@ -44,7 +47,7 @@ export class Position {
44
47
  return this.getField(new FieldMapEntry().setField(field));
45
48
  }
46
49
 
47
- public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Portfolio | UUID | Date | ZonedDateTime | number {
50
+ public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Portfolio | UUID | Date | ZonedDateTime | number | PriceProto {
48
51
  for (const tmpField of this.proto.getFieldsList()) {
49
52
  if (tmpField.getField() === fieldToGet.getField()) {
50
53
 
@@ -66,6 +69,11 @@ export class Position {
66
69
 
67
70
  const unpackedValue = Position.unpackField(tmpField);
68
71
 
72
+ if (FieldProto.PRICE == fieldToGet.getField()
73
+ || FieldProto.TENOR == fieldToGet.getField()) {
74
+ return unpackedValue; //instanceof PriceProto || TenorProto
75
+ }
76
+
69
77
  if (FieldProto.SECURITY == fieldToGet.getField()) {
70
78
  return new Security(unpackedValue);
71
79
  }
@@ -129,6 +137,7 @@ export class Position {
129
137
  switch (fieldToUnpack.getField()) {
130
138
  case FieldProto.PORTFOLIO_ID:
131
139
  case FieldProto.SECURITY_ID:
140
+ case FieldProto.PRICE_ID:
132
141
  case FieldProto.ID:
133
142
  return UUIDProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
134
143
  case FieldProto.AS_OF:
@@ -139,25 +148,36 @@ export class Position {
139
148
  case FieldProto.SETTLEMENT_DATE:
140
149
  case FieldProto.TAX_LOT_OPEN_DATE:
141
150
  case FieldProto.TAX_LOT_CLOSE_DATE:
151
+ case FieldProto.EFFECTIVE_DATE:
142
152
  return LocalDateProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
143
153
  case FieldProto.IDENTIFIER:
144
154
  return IdentifierProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
155
+ case FieldProto.STRATEGY:
156
+ return StrategyProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
157
+ case FieldProto.TENOR:
158
+ return TenorProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
159
+ case FieldProto.PRICE:
160
+ return PriceProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
145
161
  case FieldProto.TRANSACTION_TYPE:
146
162
  case FieldProto.POSITION_STATUS:
147
- // Assuming ProtoEnum is properly defined elsewhere
148
- // const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToUnpack.field];
149
- return fieldToUnpack; //new ProtoEnum(descriptor, fieldToUnpack.enumValue);
163
+ return fieldToUnpack;
150
164
  case FieldProto.PORTFOLIO_NAME:
151
165
  case FieldProto.SECURITY_DESCRIPTION:
166
+ case FieldProto.SECURITY_ISSUER_NAME:
167
+ case FieldProto.ADJUSTED_TENOR:
152
168
  case FieldProto.PRODUCT_TYPE:
169
+ case FieldProto.PRODUCT_CLASS:
153
170
  case FieldProto.ASSET_CLASS:
154
171
  return StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
155
172
  case FieldProto.PORTFOLIO:
156
- return fieldToUnpack.getFieldValuePacked();
157
173
  case FieldProto.SECURITY:
174
+ case FieldProto.CASH_IMPACT_SECURITY:
175
+ return fieldToUnpack.getFieldValuePacked();
176
+ case FieldProto.IS_CANCELLED:
177
+ console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
158
178
  return fieldToUnpack.getFieldValuePacked();
159
179
  default:
160
- throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}`);
180
+ throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}. Mapping missing`);
161
181
  }
162
182
  }
163
183
  }
@@ -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
- return this.addFilter(field, fieldValue, position_util_pb_1.PositionFilterOperator.EQUALS);
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, operator) {
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,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,yCAAsB,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IACD;;;OAGG;IACH,kCAAS,GAAT,UAAU,KAAiB,EAAE,UAAe,EAAE,QAAgC;QAC1E,IAAM,aAAa,GAAG,IAAI,gCAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;QACzD,aAAa,CAAC,mBAAmB,CAAC,IAAA,yBAAI,EAAC,UAAU,CAAC,CAAC,CAAC;QACpD,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,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,AAxCD,IAwCC;AAxCY,wCAAc"}
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
- return this.addFilter(field, fieldValue, PositionFilterOperator.EQUALS);
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, fieldValue: any, operator: PositionFilterOperator): PositionFilter {
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,8FAA+F;AAC/F,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AAEpE,uCAA2C;AAC3C,yCAAwC;AACxC,+BAA8B;AAC9B,2EAA0E;AAE1E;IAAA;IAmDA,CAAC;IAlDQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,8BAAc,EAAE;iBACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;iBAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,wBAAa,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAC1B,OAAO,yBAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6CAAsC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACrF,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ;QACzB,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YAC7B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;YAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YACvC,OAAO,IAAI,wBAAa,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAG,YAAY,+BAAe,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,YAAY,yBAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzG,OAAO,IAAI,qBAAS,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,wDAAsB"}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AACA,8FAA+F;AAC/F,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AAEpE,uCAA2C;AAC3C,yCAAwC;AACxC,+BAA8B;AAC9B,2EAA0E;AAG1E;IAAA;IAmDA,CAAC;IAlDQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,8BAAc,EAAE;iBACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;iBAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,wBAAa,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAC1B,OAAO,yBAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6CAAsC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACrF,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ;QACzB,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YAC7B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;YAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YACvC,OAAO,IAAI,wBAAa,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAG,YAAY,+BAAe,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,YAAY,yBAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzG,OAAO,IAAI,qBAAS,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,wDAAsB"}
@@ -1,3 +1,4 @@
1
+ import { PriceProto } from "../../../fintekkers/models/price/price_pb";
1
2
  import { IdentifierProto } from "../../../fintekkers/models/security/identifier/identifier_pb";
2
3
  import { DecimalValueProto } from "../../../fintekkers/models/util/decimal_value_pb";
3
4
  import { LocalDateProto } from "../../../fintekkers/models/util/local_date_pb";
@@ -8,6 +9,7 @@ import { ZonedDateTime } from "./datetime";
8
9
  import { ProtoEnum } from "./protoEnum";
9
10
  import { UUID } from "./uuid";
10
11
  import { StringValue } from 'google-protobuf/google/protobuf/wrappers_pb';
12
+ import { Any } from 'google-protobuf/google/protobuf/any_pb';
11
13
 
12
14
  export class ProtoSerializationUtil {
13
15
  static serialize(obj: any) { //}: UUIDProto | LocalDateProto | LocalTimestampProto | DecimalValueProto | StringValue {
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var assert = require("assert");
4
+ var uuid_1 = require("./uuid");
5
+ test('test packing/unpacking string', function () {
6
+ testString();
7
+ });
8
+ function testString() {
9
+ var test_uuid_bytes = [217, 98, 253, 240, 51, 225, 77, 157, 153, 155, 126, 195, 80, 240, 203, 119];
10
+ var test_uuid = new uuid_1.UUID(test_uuid_bytes);
11
+ assert(test_uuid.toString() == 'd962fdf0-33e1-4d9d-999b-7ec350f0cb77');
12
+ var test_uuid_bytes_copy = uuid_1.UUID.fromString(test_uuid.toString());
13
+ assert(test_uuid_bytes.length === test_uuid_bytes_copy.length &&
14
+ test_uuid_bytes.every(function (value, index) { return value === test_uuid_bytes_copy[index]; }));
15
+ assert(uuid_1.UUID.random().toString().length == 36);
16
+ }
17
+ //# sourceMappingURL=uuid.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.test.js","sourceRoot":"","sources":["uuid.test.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAClC,+BAA8B;AAE9B,IAAI,CAAC,+BAA+B,EAAE;IACpC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU;IACjB,IAAM,eAAe,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrG,IAAM,SAAS,GAAG,IAAI,WAAI,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,sCAAsC,CAAC,CAAC;IACvE,IAAM,oBAAoB,GAAG,WAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,MAAM,CACJ,eAAe,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM;QACtD,eAAe,CAAC,KAAK,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,KAAK,oBAAoB,CAAC,KAAK,CAAC,EAArC,CAAqC,CAAC,CAC/E,CAAC;IAEF,MAAM,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import assert = require('assert');
2
+ import { UUID } from './uuid';
3
+
4
+ test('test packing/unpacking string', () => {
5
+ testString();
6
+ });
7
+
8
+ function testString() {
9
+ const test_uuid_bytes = [217, 98, 253, 240, 51, 225, 77, 157, 153, 155, 126, 195, 80, 240, 203, 119];
10
+ const test_uuid = new UUID(test_uuid_bytes);
11
+ assert(test_uuid.toString() == 'd962fdf0-33e1-4d9d-999b-7ec350f0cb77');
12
+ const test_uuid_bytes_copy = UUID.fromString(test_uuid.toString());
13
+
14
+ assert(
15
+ test_uuid_bytes.length === test_uuid_bytes_copy.length &&
16
+ test_uuid_bytes.every((value, index) => value === test_uuid_bytes_copy[index])
17
+ );
18
+
19
+ assert(UUID.random().toString().length == 36);
20
+ }
21
+
@@ -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
- return [4 /*yield*/, portfolioService.searchPortfolio(now.toProto(), new positionfilter_1.PositionFilter().addEqualsFilter(field_pb_1.FieldProto.PORTFOLIO_NAME, 'TEST PORTFOLIO'))];
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=portfolio.test.js.map
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"}
@@ -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
- var searchResults = await portfolioService.searchPortfolio(now.toProto(), new PositionFilter().addEqualsFilter(FieldProto.PORTFOLIO_NAME, 'TEST PORTFOLIO'));
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;AAG1D;IAGE;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,EAAE,wBAAS,CAAC,cAAc,CAAC,CAAC;IAC/E,CAAC;IAEK,gCAAM,GAAZ,UAAa,eAAqC;;YAKhD,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;;;;;wBAvBK,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBACxB,aAAa,GAAe,EAAE,CAAC;wBAC/B,OAAO,GAA8B,eAAe,CAAC,OAAO,EAAE,CAAC;wBAuB9D,qBAAM,0BAA0B,EAAE,EAAA;4BAAzC,sBAAO,SAAkC,EAAC;;;;KAC3C;IACH,sBAAC;AAAD,CAAC,AAnCD,IAmCC;AAEQ,0CAAe"}
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: return [4 /*yield*/, testPosition()];
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 testPosition() {
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 fields, measures, request, positions, position_1;
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;;;;oBAC/D,qBAAM,YAAY,EAAE,EAAA;;gBAA7B,MAAM,GAAG,SAAoB;gBACnC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC3B,EAAE,KAAK,CAAC,CAAC;AAEV,SAAe,YAAY;;;;;;oBAErB,MAAM,GAAG,CAAC,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,UAAU,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,YAAY,CAAC,CAAC;oBACjI,QAAQ,GAAG,CAAC,yBAAY,CAAC,iBAAiB,CAAC,CAAC;oBAE5C,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"}
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
- const isTrue = await testPosition();
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 function testPosition(): Promise<boolean> {
17
- //Get the Federal Reserve portfolio
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, createSecurityAsync, response;
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
- createSecurityAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
83
- return [4 /*yield*/, createSecurityAsync(createRequest)];
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":"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"}
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 createSecurityAsync = promisify(this.client.createOrUpdate.bind(this.client));
45
- const response = await createSecurityAsync(createRequest);
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":"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"}
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,7 +1,7 @@
1
1
  {
2
2
  "name": "@fintekkers/ledger-models",
3
3
  "todo": "Replace the version with build script version number",
4
- "version": "0.1.79",
4
+ "version": "0.1.81",
5
5
  "description": "ledger model protos ",
6
6
  "authors": [
7
7
  "David Doherty",
@@ -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"}