@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.
Files changed (30) hide show
  1. package/.env +1 -1
  2. package/node/wrappers/models/portfolio/portfolio.js +3 -3
  3. package/node/wrappers/models/portfolio/portfolio.js.map +1 -1
  4. package/node/wrappers/models/portfolio/portfolio.ts +3 -3
  5. package/node/wrappers/models/position/position.js +42 -3
  6. package/node/wrappers/models/position/position.js.map +1 -1
  7. package/node/wrappers/models/position/position.test.js +42 -8
  8. package/node/wrappers/models/position/position.test.js.map +1 -1
  9. package/node/wrappers/models/position/position.test.ts +23 -5
  10. package/node/wrappers/models/position/position.ts +34 -3
  11. package/node/wrappers/models/position/positionfilter.js +22 -3
  12. package/node/wrappers/models/position/positionfilter.js.map +1 -1
  13. package/node/wrappers/models/position/positionfilter.ts +23 -3
  14. package/node/wrappers/services/portfolio-service/{portfolio.test.js → portfolioService.test.js} +4 -3
  15. package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -0
  16. package/node/wrappers/services/portfolio-service/{portfolio.test.ts → portfolioService.test.ts} +2 -1
  17. package/node/wrappers/services/position-service/PositionService.js +21 -1
  18. package/node/wrappers/services/position-service/PositionService.js.map +1 -1
  19. package/node/wrappers/services/position-service/PositionService.ts +18 -0
  20. package/node/wrappers/services/position-service/position.test.js +58 -6
  21. package/node/wrappers/services/position-service/position.test.js.map +1 -1
  22. package/node/wrappers/services/position-service/position.test.ts +34 -4
  23. package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
  24. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  25. package/node/wrappers/services/transaction-service/TransactionService.ts +2 -2
  26. package/node/wrappers/services/transaction-service/transaction.test.js +2 -0
  27. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
  28. package/node/wrappers/services/transaction-service/transaction.test.ts +2 -0
  29. package/package.json +1 -1
  30. 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
 
@@ -7,9 +7,9 @@ var Portfolio = /** @class */ (function () {
7
7
  function Portfolio(proto) {
8
8
  this.proto = proto;
9
9
  }
10
- // getProto(): PortfolioProto {
11
- // return this.proto;
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,+BAA+B;IAC/B,yBAAyB;IACzB,IAAI;IAEJ,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"}
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
- // getProto(): PortfolioProto {
14
- // return this.proto;
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 fieldValue = this.getField(fieldToGet);
92
- return fieldValue.toString();
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":"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"}
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;AAChC,sCAAqC;AACrC,8CAAkD;AAClD,+EAAgF;AAChF,sEAAuE;AACvE,yEAA0E;AAC1E,+EAAgF;AAChF,kFAAmF;AACnF,0DAAqD;AAErD;IAGE,kBAAY,aAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;IAC7B,CAAC;IAED,OAAO;IACP,yBAAM,GAAN;QACE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,wCAAwC;SAC9E,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,iBAAQ,GAAf,UAAgB,IAAS;QACvB,OAAO,IAAI,QAAQ,CAAC,2BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,gCAAa,GAApB,UAAqB,KAAiB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,gCAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,2BAAQ,GAAf,UAAgB,UAAyB;QACvC,KAAuB,UAA0B,EAA1B,KAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAA1B,cAA0B,EAA1B,IAA0B,EAAE,CAAC;YAA/C,IAAM,QAAQ,SAAA;YACjB,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAElD,IAAI,QAAQ,CAAC,cAAc,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpF,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACnC,CAAC;gBAED,IAAI,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,SAAS,GAAW,IAAI,aAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBACnE,IAAI,KAAK,GAAc,qBAAS,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;oBAClF,OAAO,KAAK,CAAC;gBACf,CAAC;qBAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;oBACnE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;oBAC1G,IAAI,SAAS,GAAW,IAAI,aAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBACnE,IAAI,KAAK,GAAc,qBAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,qBAAU,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE;uBACxC,qBAAU,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/C,OAAO,aAAa,CAAC,CAAC,qCAAqC;gBAC7D,CAAC;gBAED,IAAI,qBAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACjD,OAAO,IAAI,kBAAQ,CAAC,aAAa,CAAC,CAAC;gBACrC,CAAC;gBAED,IAAI,qBAAU,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAClD,OAAO,IAAI,mBAAS,CAAC,aAAa,CAAC,CAAC;gBACtC,CAAC;gBAED,OAAO,sCAAsB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAEM,kCAAe,GAAtB,UAAuB,OAAqB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,kCAAe,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,6BAAU,GAAlB,UAAmB,YAA6B;QAC9C,KAAyB,UAA4B,EAA5B,KAAA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAA5B,cAA4B,EAA5B,IAA4B,EAAE,CAAC;YAAnD,IAAM,UAAU,SAAA;YACnB,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC1D,OAAO,sCAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAuB,CAAC;YACvG,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAEM,kCAAe,GAAtB,UAAuB,UAAyB;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExC,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,EAAE,GAAG,KAAK,CAAC;YACpB,KAAK,QAAQ;gBACX,IAAI,KAAK,YAAY,kBAAQ,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,mBAAS,EAAE,CAAC;oBACtC,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,YAAY,qBAAU,EAAE,CAAC;oBACvC,OAAO,WAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACxE,CAAC;qBAAM,IAAI,KAAK,YAAY,qBAAW,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,WAAI,EAAE,CAAC;oBACjC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBACjC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,wBAAa,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,qBAAS,EAAE,CAAC;oBACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR;gBACE,OAAO,4BAA4B,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IAEM,8BAAW,GAAlB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAEM,4BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAoB,UAAgB,EAAhB,KAAA,IAAI,CAAC,SAAS,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,EAAE,CAAC;YAAlC,IAAM,KAAK,SAAA;YACd,MAAM,IAAI,UAAG,qBAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAG,CAAC;YAC7C,MAAM,IAAI,UAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAG,CAAC;QAC9C,CAAC;QAED,KAAsB,UAAkB,EAAlB,KAAA,IAAI,CAAC,WAAW,EAAE,EAAlB,cAAkB,EAAlB,IAAkB,EAAE,CAAC;YAAtC,IAAM,OAAO,SAAA;YAChB,MAAM,IAAI,UAAG,yBAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAG,CAAC;YACnD,IAAM,GAAG,GAAY,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,UAAG,GAAG,CAAC,QAAQ,EAAE,MAAG,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEa,oBAAW,GAAzB,UAA0B,aAA4B;QACpD,QAAQ,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,KAAK,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,qBAAU,CAAC,WAAW,CAAC;YAC5B,KAAK,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,qBAAU,CAAC,EAAE;gBAChB,OAAO,mBAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,wCAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/F,KAAK,qBAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,qBAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,qBAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,qBAAU,CAAC,eAAe,CAAC;YAChC,KAAK,qBAAU,CAAC,iBAAiB,CAAC;YAClC,KAAK,qBAAU,CAAC,kBAAkB,CAAC;YACnC,KAAK,qBAAU,CAAC,cAAc;gBAC5B,OAAO,8BAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1F,KAAK,qBAAU,CAAC,UAAU;gBACxB,OAAO,+BAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3F,KAAK,qBAAU,CAAC,QAAQ;gBACtB,OAAO,2BAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,qBAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,qBAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,KAAK,qBAAU,CAAC,gBAAgB,CAAC;YACjC,KAAK,qBAAU,CAAC,eAAe;gBAC7B,OAAO,aAAa,CAAC;YACvB,KAAK,qBAAU,CAAC,cAAc,CAAC;YAC/B,KAAK,qBAAU,CAAC,oBAAoB,CAAC;YACrC,KAAK,qBAAU,CAAC,oBAAoB,CAAC;YACrC,KAAK,qBAAU,CAAC,cAAc,CAAC;YAC/B,KAAK,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,qBAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,yBAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvF,KAAK,qBAAU,CAAC,SAAS;gBACvB,OAAO,6BAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1F,KAAK,qBAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,qBAAU,CAAC,oBAAoB;gBAClC,OAAO,2BAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,KAAK,qBAAU,CAAC,YAAY;gBAC1B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBACtE,OAAO,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC7C;gBACE,MAAM,IAAI,KAAK,CAAC,4CAAqC,qBAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,sBAAmB,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AA5LD,IA4LC;AA5LY,4BAAQ"}
@@ -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 position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
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 [4 /*yield*/, testSerialization()];
64
- case 2:
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 [4 /*yield*/, testJsonSerialization()];
68
- case 3:
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 4:
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(security),
208
- new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
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":"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"}
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 position wrapper', async () => {
20
+ test('test the enum Serialization', async () => {
21
21
  let isTrue = await testEnumSerialization();
22
22
  expect(isTrue).toBe(true);
23
+ });
23
24
 
24
- isTrue = await testSerialization();
25
+ test('test the serialization position wrapper', async () => {
26
+ let isTrue = await testSerialization();
25
27
  expect(isTrue).toBe(true);
28
+ });
26
29
 
27
- isTrue = await testJsonSerialization();
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(security),
179
- new FieldMapEntry().setField(FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
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 fieldValue = this.getField(fieldToGet);
108
- return fieldValue.toString();
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
- 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
  }
@@ -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,63 @@ 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
+ 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 fields, measures, request, positions, position_1;
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;;;;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":"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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
- 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
+
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, 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,mBAAmB,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnE,qBAAM,mBAAmB,CAAC,aAAa,CAAC,EAAA;;wBAAnD,QAAQ,GAAG,SAAwC;wBACzD,sBAAO,QAAQ,EAAC;;;;KACjB;IAED,8CAAiB,GAAjB,UAAkB,IAAyB,EAAE,cAA8B,EAAE,UAAwB;QAAxB,2BAAA,EAAA,gBAAwB;QAEnG,IAAM,aAAa,GAAG,IAAI,2DAA4B,EAAE,CAAC;QACzD,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5B,aAAa,CAAC,yBAAyB,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9B,SAAe,0BAA0B;;;;oBACjC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC5C,OAAO,GAAkB,EAAE,CAAC;oBAEhC,sBAAO,IAAI,OAAO,CAAgB,UAAC,OAAO,EAAE,MAAM;4BAChD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,QAAuC;gCACzD,QAAQ,CAAC,0BAA0B,EAAE,CAAC,OAAO,CAAC,UAAC,WAAW;oCACxD,IAAM,GAAG,GAAgB,IAAI,qBAAW,CAAC,WAAW,CAAC,CAAC;oCACtD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCACpB,CAAC,CAAC,CAAA;4BACJ,CAAC,CAAC,CAAC;4BAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;gCAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gCAClD,OAAO,CAAC,OAAO,CAAC,CAAC;4BACnB,CAAC,CAAC,CAAC;4BAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,GAAG;gCACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;gCAC3C,MAAM,CAAC,GAAG,CAAC,CAAC;4BACd,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,EAAC;;;SACJ;QAED,OAAO,0BAA0B,EAAE,CAAC;IACtC,CAAC;IACH,yBAAC;AAAD,CAAC,AAnED,IAmEC;AAEQ,gDAAkB"}
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.80",
4
+ "version": "0.1.82",
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"}