@fintekkers/ledger-models 0.4.43 → 0.4.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +7 -15
- package/node/fintekkers/models/portfolio/portfolio_pb.js +35 -132
- package/node/fintekkers/models/position/position_filter_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_filter_pb.js +35 -132
- package/node/fintekkers/models/position/position_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_pb.js +35 -132
- package/node/fintekkers/models/price/price_pb.d.ts +7 -15
- package/node/fintekkers/models/price/price_pb.js +35 -132
- package/node/fintekkers/models/security/bond/issuance_pb.d.ts +7 -15
- package/node/fintekkers/models/security/bond/issuance_pb.js +35 -132
- package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +7 -15
- package/node/fintekkers/models/security/identifier/identifier_pb.js +35 -132
- package/node/fintekkers/models/security/index_composition_pb.d.ts +7 -15
- package/node/fintekkers/models/security/index_composition_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.d.ts +7 -15
- package/node/fintekkers/models/security/security_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.test.js +4 -8
- package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
- package/node/fintekkers/models/security/security_pb.test.ts +4 -5
- package/node/fintekkers/models/security/tenor_pb.d.ts +7 -15
- package/node/fintekkers/models/security/tenor_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_allocation_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_pb.js +35 -132
- package/node/fintekkers/models/transaction/transaction_pb.d.ts +7 -15
- package/node/fintekkers/models/transaction/transaction_pb.js +35 -132
- package/node/fintekkers/models/util/api/api_key_pb.d.ts +7 -15
- package/node/fintekkers/models/util/api/api_key_pb.js +35 -132
- package/node/fintekkers/models/util/date_range_pb.d.ts +7 -15
- package/node/fintekkers/models/util/date_range_pb.js +35 -132
- package/node/fintekkers/models/util/decimal_value_pb.d.ts +0 -5
- package/node/fintekkers/models/util/decimal_value_pb.js +0 -30
- package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_partition_pb.js +35 -132
- package/node/fintekkers/models/util/lock/node_state_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_state_pb.js +35 -132
- package/node/fintekkers/models/util/object_type_pb.d.ts +0 -3
- package/node/fintekkers/models/util/object_type_pb.js +0 -28
- package/node/fintekkers/models/util/version_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/version_pb.d.ts +33 -0
- package/node/fintekkers/models/util/version_pb.js +236 -0
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_request_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_response_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_response_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_response_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_request_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_fields_response_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/util/delete_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/util/delete_request_pb.js +68 -264
- package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_request_pb.js +35 -132
- package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_response_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/curve_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/curve_response_pb.js +35 -132
- package/node/fintekkers/requests/valuation/product_inputs.test.js +10 -17
- package/node/fintekkers/requests/valuation/product_inputs.test.js.map +1 -1
- package/node/fintekkers/requests/valuation/product_inputs.test.ts +10 -16
- package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_response_pb.js +35 -132
- package/node/wrappers/models/portfolio/portfolio.test.js +0 -2
- package/node/wrappers/models/portfolio/portfolio.test.js.map +1 -1
- package/node/wrappers/models/portfolio/portfolio.test.ts +0 -2
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js +2 -3
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js.map +1 -1
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.ts +2 -2
- package/node/wrappers/models/position/position.test.js +5 -6
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +5 -4
- package/node/wrappers/models/position/positionfilter.js +1 -1
- package/node/wrappers/models/position/positionfilter.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.js +4 -2
- package/node/wrappers/models/position/positionfilter.test.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.ts +3 -2
- package/node/wrappers/models/position/positionfilter.ts +1 -1
- package/node/wrappers/models/price/Price.cash.test.js +4 -5
- package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
- package/node/wrappers/models/price/Price.cash.test.ts +2 -3
- package/node/wrappers/models/price/Price.js +2 -2
- package/node/wrappers/models/price/Price.js.map +1 -1
- package/node/wrappers/models/price/Price.test.js +4 -2
- package/node/wrappers/models/price/Price.test.js.map +1 -1
- package/node/wrappers/models/price/Price.test.ts +4 -2
- package/node/wrappers/models/price/Price.ts +2 -2
- package/node/wrappers/models/price/price_rules.test.js +9 -4
- package/node/wrappers/models/price/price_rules.test.js.map +1 -1
- package/node/wrappers/models/price/price_rules.test.ts +9 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -3
- package/node/wrappers/models/security/BondSecurity.test.js +7 -13
- package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.test.ts +7 -12
- package/node/wrappers/models/security/IndexSecurity.test.js +0 -8
- package/node/wrappers/models/security/IndexSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/IndexSecurity.test.ts +0 -8
- package/node/wrappers/models/security/Issuance.test.js +6 -6
- package/node/wrappers/models/security/Issuance.test.js.map +1 -1
- package/node/wrappers/models/security/Issuance.test.ts +6 -5
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +13 -14
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +13 -12
- package/node/wrappers/models/security/security-roundtrip.test.js +9 -21
- package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
- package/node/wrappers/models/security/security-roundtrip.test.ts +9 -20
- package/node/wrappers/models/security/security.identifiers.test.js +0 -2
- package/node/wrappers/models/security/security.identifiers.test.js.map +1 -1
- package/node/wrappers/models/security/security.identifiers.test.ts +0 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js +3 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js.map +1 -1
- package/node/wrappers/models/security/security.tbillCoupon.test.ts +3 -2
- package/node/wrappers/models/security/security.test.js +14 -14
- package/node/wrappers/models/security/security.test.js.map +1 -1
- package/node/wrappers/models/security/security.test.ts +14 -13
- package/node/wrappers/models/transaction/transaction.derived.test.js +3 -9
- package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.derived.test.ts +3 -8
- package/node/wrappers/models/transaction/transaction.js +2 -2
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.js +3 -3
- package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.ts +3 -2
- package/node/wrappers/models/transaction/transaction.ts +2 -2
- package/node/wrappers/models/transaction/transaction_constructor.test.js +6 -9
- package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_constructor.test.ts +6 -7
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js +2 -10
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_price_defaults.test.ts +2 -9
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js +0 -6
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_security_defaults.test.ts +0 -6
- package/node/wrappers/models/utils/date.test.js +0 -2
- package/node/wrappers/models/utils/date.test.js.map +1 -1
- package/node/wrappers/models/utils/date.test.ts +0 -2
- package/node/wrappers/models/utils/datetime.test.js +0 -2
- package/node/wrappers/models/utils/datetime.test.js.map +1 -1
- package/node/wrappers/models/utils/datetime.test.ts +0 -2
- package/node/wrappers/models/utils/decimal.d.ts +9 -28
- package/node/wrappers/models/utils/decimal.js +13 -52
- package/node/wrappers/models/utils/decimal.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.js +12 -68
- package/node/wrappers/models/utils/decimal.test.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.ts +14 -76
- package/node/wrappers/models/utils/decimal.ts +12 -60
- package/node/wrappers/models/utils/serialization.test.js +0 -4
- package/node/wrappers/models/utils/serialization.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.ts +0 -4
- package/node/wrappers/requests/position/QueryPositionRequest.js +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.ts +1 -1
- package/node/wrappers/requests/query-paging.test.js +4 -28
- package/node/wrappers/requests/query-paging.test.js.map +1 -1
- package/node/wrappers/requests/query-paging.test.ts +3 -36
- package/node/wrappers/services/portfolio-service/PortfolioService.js +3 -3
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +3 -3
- package/node/wrappers/services/portfolio-service/portfolioService.test.js +0 -2
- package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -1
- package/node/wrappers/services/portfolio-service/portfolioService.test.ts +0 -2
- package/node/wrappers/services/price-service/PriceService.js +3 -3
- package/node/wrappers/services/price-service/PriceService.js.map +1 -1
- package/node/wrappers/services/price-service/PriceService.ts +3 -3
- package/node/wrappers/services/price-service/price-wrapper.test.js +2 -6
- package/node/wrappers/services/price-service/price-wrapper.test.js.map +1 -1
- package/node/wrappers/services/price-service/price-wrapper.test.ts +2 -6
- package/node/wrappers/services/price-service/price.test.js +8 -17
- package/node/wrappers/services/price-service/price.test.js.map +1 -1
- package/node/wrappers/services/price-service/price.test.ts +8 -14
- package/node/wrappers/services/searchWithSecurities.test.js +2 -7
- package/node/wrappers/services/searchWithSecurities.test.js.map +1 -1
- package/node/wrappers/services/searchWithSecurities.test.ts +2 -6
- package/node/wrappers/services/security-service/SecurityService.js +3 -3
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +3 -3
- package/node/wrappers/services/security-service/security.test.js +3 -7
- package/node/wrappers/services/security-service/security.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.test.ts +3 -6
- package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +3 -3
- package/node/wrappers/services/transaction-service/transaction.test.js +3 -8
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +3 -6
- package/node/wrappers/util/link-resolver.js +3 -3
- package/node/wrappers/util/link-resolver.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.js +4 -13
- package/node/wrappers/util/link-resolver.test.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.ts +4 -12
- package/node/wrappers/util/link-resolver.ts +3 -3
- package/node/wrappers/util/object-type-coverage.test.js +159 -0
- package/node/wrappers/util/object-type-coverage.test.js.map +1 -0
- package/node/wrappers/util/object-type-coverage.test.ts +149 -0
- package/node/wrappers/util/object-types.d.ts +30 -46
- package/node/wrappers/util/object-types.js +145 -170
- package/node/wrappers/util/object-types.js.map +1 -1
- package/node/wrappers/util/object-types.test.js +50 -151
- package/node/wrappers/util/object-types.test.js.map +1 -1
- package/node/wrappers/util/object-types.test.ts +55 -170
- package/node/wrappers/util/object-types.ts +153 -178
- package/package.json +1 -1
- package/node/wrappers/models/position/position.test copy.js +0 -107
- package/node/wrappers/models/position/position.test copy.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
- package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
- package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
- package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
- package/node/wrappers/util/object-type-legacy.json +0 -21
- /package/node/wrappers/{models/utils/decimal.legacy.test.d.ts → util/object-type-coverage.test.d.ts} +0 -0
|
@@ -46,8 +46,6 @@ test('test creating a portfolio against the api.fintekkers.org portfolio service
|
|
|
46
46
|
const now = dt.ZonedDateTime.now();
|
|
47
47
|
const portfolioService = new PortfolioService_1.PortfolioService();
|
|
48
48
|
const portfolio = new portfolio_pb_1.PortfolioProto();
|
|
49
|
-
portfolio.setObjectClass('Portfolio');
|
|
50
|
-
portfolio.setVersion('0.0.1');
|
|
51
49
|
portfolio.setUuid(id_proto);
|
|
52
50
|
portfolio.setPortfolioName('TEST PORTFOLIO');
|
|
53
51
|
portfolio.setAsOf(now.toProto());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolioService.test.js","sourceRoot":"","sources":["portfolioService.test.ts"],"names":[],"mappings":";AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,cAAc;AACd,2EAA0E;AAC1E,8DAAgD;AAChD,gEAAkD;AAElD,qBAAqB;AACrB,yDAAsD;AACtD,oFAAmF;AAEnF,yEAAsE;AAGtE,IAAI,CAAC,4EAA4E,EAAE,GAAS,EAAE;IAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAEnC,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,6BAAc,EAAE,CAAC;IACvC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"portfolioService.test.js","sourceRoot":"","sources":["portfolioService.test.ts"],"names":[],"mappings":";AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,cAAc;AACd,2EAA0E;AAC1E,8DAAgD;AAChD,gEAAkD;AAElD,qBAAqB;AACrB,yDAAsD;AACtD,oFAAmF;AAEnF,yEAAsE;AAGtE,IAAI,CAAC,4EAA4E,EAAE,GAAS,EAAE;IAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAEnC,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,6BAAc,EAAE,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC7C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjC,IAAI,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,uBAAuB,GAAiC,MAAM,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC9G,MAAM,CAAC,uBAAuB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,eAAe,GAAG,IAAI,+BAAc,EAAE,CAAC,qBAAqB,CAAC,qBAAU,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9G,IAAI,aAAa,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;IAC3F,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAA,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -19,8 +19,6 @@ test('test creating a portfolio against the api.fintekkers.org portfolio service
|
|
|
19
19
|
const portfolioService = new PortfolioService();
|
|
20
20
|
|
|
21
21
|
const portfolio = new PortfolioProto();
|
|
22
|
-
portfolio.setObjectClass('Portfolio');
|
|
23
|
-
portfolio.setVersion('0.0.1');
|
|
24
22
|
portfolio.setUuid(id_proto);
|
|
25
23
|
portfolio.setPortfolioName('TEST PORTFOLIO');
|
|
26
24
|
portfolio.setAsOf(now.toProto());
|
|
@@ -68,7 +68,7 @@ class PriceService {
|
|
|
68
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
69
|
const priceProto = price instanceof Price_1.default ? price.proto : price;
|
|
70
70
|
const createRequest = new create_price_request_pb_1.CreatePriceRequestProto();
|
|
71
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST
|
|
71
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST);
|
|
72
72
|
createRequest.setCreatePriceInput(priceProto);
|
|
73
73
|
const validateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
|
|
74
74
|
const response = yield validateAsync(createRequest);
|
|
@@ -79,7 +79,7 @@ class PriceService {
|
|
|
79
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
80
80
|
const priceProto = price instanceof Price_1.default ? price.proto : price;
|
|
81
81
|
const createRequest = new create_price_request_pb_1.CreatePriceRequestProto();
|
|
82
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST
|
|
82
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST);
|
|
83
83
|
createRequest.setCreatePriceInput(priceProto);
|
|
84
84
|
const createAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
|
|
85
85
|
const response = yield createAsync(createRequest);
|
|
@@ -107,7 +107,7 @@ class PriceService {
|
|
|
107
107
|
search(asOf, positionFilter) {
|
|
108
108
|
return __awaiter(this, void 0, void 0, function* () {
|
|
109
109
|
const searchRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
110
|
-
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST
|
|
110
|
+
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST);
|
|
111
111
|
searchRequest.setAsOf(asOf);
|
|
112
112
|
searchRequest.setSearchPriceInput(positionFilter.toProto());
|
|
113
113
|
const tmpClient = this.client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceService.js","sourceRoot":"","sources":["PriceService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,qEAA6C;AAC7C,yEAAsE;AACtE,2EAA0E;AAK1E,4GAA+F;AAC/F,sGAAmG;AAEnG,wGAAqG;AAGrG,kDAA+C;AAC/C,gEAAkD;AAClD,uFAA0D;AAC1D,8DAAoD;AACpD,6EAAoD;AACpD,uEAAyD;AACzD,mFAAiF;AACjF,0DAAgD;AAEhD,MAAM,YAAY;IAGhB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,EAAE,wBAAO,CAAC,KAAK,CAAC,CAAC;YACrG,IAAI,CAAC,MAAM,GAAG,IAAI,mCAAW,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SAC/F;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,mCAAW,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,KAAK,CAAC,EAAE,wBAAS,CAAC,cAAc,CAAC,wBAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SACzG;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEK,sBAAsB,CAAC,KAAyB;;YACpD,MAAM,UAAU,GAAG,KAAK,YAAY,eAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAEhE,MAAM,aAAa,GAAG,IAAI,iDAAuB,EAAE,CAAC;YACpD,IAAA,oBAAK,EAAC,aAAa,EAAE,gCAAe,CAAC,gCAAgC,
|
|
1
|
+
{"version":3,"file":"PriceService.js","sourceRoot":"","sources":["PriceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ class PriceService {
|
|
|
42
42
|
const priceProto = price instanceof Price ? price.proto : price;
|
|
43
43
|
|
|
44
44
|
const createRequest = new CreatePriceRequestProto();
|
|
45
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST
|
|
45
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST);
|
|
46
46
|
createRequest.setCreatePriceInput(priceProto);
|
|
47
47
|
|
|
48
48
|
const validateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
|
|
@@ -54,7 +54,7 @@ class PriceService {
|
|
|
54
54
|
const priceProto = price instanceof Price ? price.proto : price;
|
|
55
55
|
|
|
56
56
|
const createRequest = new CreatePriceRequestProto();
|
|
57
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST
|
|
57
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST);
|
|
58
58
|
createRequest.setCreatePriceInput(priceProto);
|
|
59
59
|
|
|
60
60
|
const createAsync = promisify(this.client.createOrUpdate.bind(this.client));
|
|
@@ -81,7 +81,7 @@ class PriceService {
|
|
|
81
81
|
*/
|
|
82
82
|
async search(asOf: LocalTimestampProto, positionFilter: PositionFilter): Promise<Price[]> {
|
|
83
83
|
const searchRequest = new QueryPriceRequestProto();
|
|
84
|
-
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST
|
|
84
|
+
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST);
|
|
85
85
|
searchRequest.setAsOf(asOf);
|
|
86
86
|
searchRequest.setSearchPriceInput(positionFilter.toProto());
|
|
87
87
|
|
|
@@ -58,15 +58,11 @@ function getSecurityUuidWithPrices() {
|
|
|
58
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
59
|
const client = new price_service_grpc_pb_1.PriceClient(PRICE_SERVICE_URL, grpc.credentials.createInsecure());
|
|
60
60
|
const listRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
61
|
-
listRequest.setObjectClass('PriceRequest');
|
|
62
|
-
listRequest.setVersion('0.0.1');
|
|
63
61
|
const listIdsAsync = (0, util_1.promisify)(client.listIds.bind(client));
|
|
64
62
|
const listResponse = yield listIdsAsync(listRequest);
|
|
65
63
|
const priceUuids = listResponse.getPriceResponseList();
|
|
66
64
|
expect(priceUuids.length).toBeGreaterThan(0);
|
|
67
65
|
const getRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
68
|
-
getRequest.setObjectClass('PriceRequest');
|
|
69
|
-
getRequest.setVersion('0.0.1');
|
|
70
66
|
getRequest.setUuidsList([priceUuids[0].getUuid()]);
|
|
71
67
|
const getByIdsAsync = (0, util_1.promisify)(client.getByIds.bind(client));
|
|
72
68
|
const getResponse = yield getByIdsAsync(getRequest);
|
|
@@ -95,8 +91,8 @@ test('createOrUpdate accepts a Price wrapper object', () => __awaiter(void 0, vo
|
|
|
95
91
|
const price = Price_1.default.fromSimple(securityUuid.toString(), 98.75, new Date());
|
|
96
92
|
const response = yield priceService.createOrUpdate(price);
|
|
97
93
|
expect(response).toBeTruthy();
|
|
98
|
-
expect(response.
|
|
99
|
-
console.log(`createOrUpdate (wrapper) response: ${response.
|
|
94
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
95
|
+
console.log(`createOrUpdate (wrapper) response: ${response.getObjectType()}`);
|
|
100
96
|
// Verify via search
|
|
101
97
|
const results = yield priceService.searchBySecurityId(securityUuid.toString());
|
|
102
98
|
const values = results.map(p => p.getPrice().toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-wrapper.test.js","sourceRoot":"","sources":["price-wrapper.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA8C;AAC9C,qEAA6C;AAC7C,yEAAsE;AAEtE,kDAA+C;AAC/C,gEAAkD;AAClD,oDAAsC;AACtC,+BAAiC;AACjC,4GAA+F;AAC/F,sGAAmG;AAEnG,2CAAqC;AAErC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;AAExC,QAAQ,CAAC,GAAG,EAAE;IACZ,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAe,yBAAyB;;QACtC,MAAM,MAAM,GAAG,IAAI,mCAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAErF,MAAM,WAAW,GAAG,IAAI,+CAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"price-wrapper.test.js","sourceRoot":"","sources":["price-wrapper.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA8C;AAC9C,qEAA6C;AAC7C,yEAAsE;AAEtE,kDAA+C;AAC/C,gEAAkD;AAClD,oDAAsC;AACtC,+BAAiC;AACjC,4GAA+F;AAC/F,sGAAmG;AAEnG,2CAAqC;AAErC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;AAExC,QAAQ,CAAC,GAAG,EAAE;IACZ,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAe,yBAAyB;;QACtC,MAAM,MAAM,GAAG,IAAI,mCAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAErF,MAAM,WAAW,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAA4B,CAAC;QAChF,MAAM,UAAU,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAChD,UAAU,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAG,CAAC,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,CAA4B,CAAC;QAC/E,MAAM,MAAM,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAG,CAAC,OAAO,EAAG,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,WAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACjF,CAAC;CAAA;AAED,IAAI,CAAC,wCAAwC,EAAE,GAAS,EAAE;IACxD,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,+BAAc,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAErE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,eAAK,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,oBAAO,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAA,EAAE,MAAM,CAAC,CAAC;AAEX,IAAI,CAAC,+CAA+C,EAAE,GAAS,EAAE;IAC/D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,mDAAmD;IACnD,MAAM,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE9E,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAA,EAAE,MAAM,CAAC,CAAC;AAEX,IAAI,CAAC,wDAAwD,EAAE,GAAS,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAK,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;KAC5C;AACH,CAAC,CAAA,EAAE,MAAM,CAAC,CAAC;AAEX,IAAI,CAAC,kDAAkD,EAAE,GAAS,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,+BAAc,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAElE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,eAAK,CAAC,CAAC;AAC1C,CAAC,CAAA,EAAE,MAAM,CAAC,CAAC;AAEX,IAAI,CAAC,gDAAgD,EAAE,GAAS,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAA,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -26,8 +26,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
26
26
|
const client = new PriceClient(PRICE_SERVICE_URL, grpc.credentials.createInsecure());
|
|
27
27
|
|
|
28
28
|
const listRequest = new QueryPriceRequestProto();
|
|
29
|
-
listRequest.setObjectClass('PriceRequest');
|
|
30
|
-
listRequest.setVersion('0.0.1');
|
|
31
29
|
|
|
32
30
|
const listIdsAsync = promisify(client.listIds.bind(client));
|
|
33
31
|
const listResponse = await listIdsAsync(listRequest) as QueryPriceResponseProto;
|
|
@@ -35,8 +33,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
35
33
|
expect(priceUuids.length).toBeGreaterThan(0);
|
|
36
34
|
|
|
37
35
|
const getRequest = new QueryPriceRequestProto();
|
|
38
|
-
getRequest.setObjectClass('PriceRequest');
|
|
39
|
-
getRequest.setVersion('0.0.1');
|
|
40
36
|
getRequest.setUuidsList([priceUuids[0].getUuid()!]);
|
|
41
37
|
|
|
42
38
|
const getByIdsAsync = promisify(client.getByIds.bind(client));
|
|
@@ -74,8 +70,8 @@ test('createOrUpdate accepts a Price wrapper object', async () => {
|
|
|
74
70
|
const response = await priceService.createOrUpdate(price);
|
|
75
71
|
|
|
76
72
|
expect(response).toBeTruthy();
|
|
77
|
-
expect(response.
|
|
78
|
-
console.log(`createOrUpdate (wrapper) response: ${response.
|
|
73
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
74
|
+
console.log(`createOrUpdate (wrapper) response: ${response.getObjectType()}`);
|
|
79
75
|
|
|
80
76
|
// Verify via search
|
|
81
77
|
const results = await priceService.searchBySecurityId(securityUuid.toString());
|
|
@@ -42,9 +42,9 @@ const grpc = __importStar(require("@grpc/grpc-js"));
|
|
|
42
42
|
const price_service_grpc_pb_1 = require("../../../fintekkers/services/price-service/price_service_grpc_pb");
|
|
43
43
|
const query_price_request_pb_1 = require("../../../fintekkers/requests/price/query_price_request_pb");
|
|
44
44
|
const price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
45
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
46
45
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
47
46
|
const price_type_pb_1 = require("../../../fintekkers/models/price/price_type_pb");
|
|
47
|
+
const decimal_1 = require("../../models/utils/decimal");
|
|
48
48
|
const PRICE_SERVICE_URL = 'localhost:8083';
|
|
49
49
|
const priceService = new PriceService_1.PriceService(PRICE_SERVICE_URL);
|
|
50
50
|
afterAll(() => {
|
|
@@ -58,16 +58,12 @@ function getSecurityUuidWithPrices() {
|
|
|
58
58
|
const client = new price_service_grpc_pb_1.PriceClient(PRICE_SERVICE_URL, grpc.credentials.createInsecure());
|
|
59
59
|
// ListIds to get a price UUID
|
|
60
60
|
const listRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
61
|
-
listRequest.setObjectClass('PriceRequest');
|
|
62
|
-
listRequest.setVersion('0.0.1');
|
|
63
61
|
const listIdsAsync = (0, util_1.promisify)(client.listIds.bind(client));
|
|
64
62
|
const listResponse = yield listIdsAsync(listRequest);
|
|
65
63
|
const priceUuids = listResponse.getPriceResponseList();
|
|
66
64
|
expect(priceUuids.length).toBeGreaterThan(0);
|
|
67
65
|
// GetByIds for the first price to get its security UUID
|
|
68
66
|
const getRequest = new query_price_request_pb_1.QueryPriceRequestProto();
|
|
69
|
-
getRequest.setObjectClass('PriceRequest');
|
|
70
|
-
getRequest.setVersion('0.0.1');
|
|
71
67
|
getRequest.setUuidsList([priceUuids[0].getUuid()]);
|
|
72
68
|
const getByIdsAsync = (0, util_1.promisify)(client.getByIds.bind(client));
|
|
73
69
|
const getResponse = yield getByIdsAsync(getRequest);
|
|
@@ -89,7 +85,6 @@ test('search with empty filter returns prices', () => __awaiter(void 0, void 0,
|
|
|
89
85
|
expect(firstPrice.getSecurity()).toBeTruthy();
|
|
90
86
|
}), 120000);
|
|
91
87
|
test('search by SECURITY_ID returns prices for a known security', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
-
var _a;
|
|
93
88
|
// First discover a security UUID that actually has prices
|
|
94
89
|
const { uuid: securityUuid, client } = yield getSecurityUuidWithPrices();
|
|
95
90
|
client.close();
|
|
@@ -102,11 +97,10 @@ test('search by SECURITY_ID returns prices for a known security', () => __awaite
|
|
|
102
97
|
expect(prices.length).toBeGreaterThan(0);
|
|
103
98
|
for (const price of prices) {
|
|
104
99
|
expect(price.getSecurity()).toBeTruthy();
|
|
105
|
-
expect((
|
|
100
|
+
expect((0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(price.getPrice()))).toBeTruthy();
|
|
106
101
|
}
|
|
107
102
|
}), 120000);
|
|
108
103
|
test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) returns prices', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
|
-
var _b;
|
|
110
104
|
const now = dt.ZonedDateTime.now();
|
|
111
105
|
const securityUuid = new uuid_1.UUID(uuid_1.UUID.fromString('18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95'));
|
|
112
106
|
const filter = new positionfilter_1.PositionFilter()
|
|
@@ -119,7 +113,7 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
119
113
|
if (prices.length > 0) {
|
|
120
114
|
for (const price of prices) {
|
|
121
115
|
expect(price.getSecurity()).toBeTruthy();
|
|
122
|
-
const priceValue = (
|
|
116
|
+
const priceValue = (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(price.getPrice()));
|
|
123
117
|
expect(priceValue).toBeTruthy();
|
|
124
118
|
console.log(` Price: ${priceValue}`);
|
|
125
119
|
}
|
|
@@ -134,12 +128,9 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
134
128
|
function buildPriceProto(securityUuid, priceValue) {
|
|
135
129
|
const now = dt.ZonedDateTime.now();
|
|
136
130
|
const price = new price_pb_1.PriceProto();
|
|
137
|
-
price.setObjectClass('Price');
|
|
138
|
-
price.setVersion('0.0.1');
|
|
139
131
|
price.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
140
132
|
price.setAsOf(now.toProto());
|
|
141
|
-
const decimalValue =
|
|
142
|
-
decimalValue.setArbitraryPrecisionValue(priceValue);
|
|
133
|
+
const decimalValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(priceValue));
|
|
143
134
|
price.setPrice(decimalValue);
|
|
144
135
|
// Set security as a link reference
|
|
145
136
|
const security = new security_pb_1.SecurityProto();
|
|
@@ -157,14 +148,14 @@ test('createOrUpdate inserts a price via the gRPC API', () => __awaiter(void 0,
|
|
|
157
148
|
const response = yield priceService.createOrUpdate(priceProto);
|
|
158
149
|
// The RPC must succeed and return a valid response
|
|
159
150
|
expect(response).toBeTruthy();
|
|
160
|
-
expect(response.
|
|
161
|
-
console.log(`createOrUpdate response
|
|
151
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
152
|
+
console.log(`createOrUpdate response object_type: ${response.getObjectType()}`);
|
|
162
153
|
// Verify the price was persisted by searching for it
|
|
163
154
|
const now = dt.ZonedDateTime.now();
|
|
164
155
|
const filter = new positionfilter_1.PositionFilter()
|
|
165
156
|
.addEqualsFilter(field_pb_1.FieldProto.SECURITY_ID, securityUuid);
|
|
166
157
|
const prices = yield priceService.searchPrice(now.toProto(), filter);
|
|
167
|
-
const priceValues = prices.map(p =>
|
|
158
|
+
const priceValues = prices.map(p => (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(p.getPrice())));
|
|
168
159
|
expect(priceValues).toContain('99.875');
|
|
169
160
|
}), 120000);
|
|
170
161
|
test('validateCreateOrUpdate returns no errors for a valid price', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -191,7 +182,7 @@ test('createOrUpdate price can be retrieved via search', () => __awaiter(void 0,
|
|
|
191
182
|
.addEqualsFilter(field_pb_1.FieldProto.SECURITY_ID, securityUuid);
|
|
192
183
|
const prices = yield priceService.searchPrice(now.toProto(), filter);
|
|
193
184
|
expect(prices.length).toBeGreaterThan(0);
|
|
194
|
-
const priceValues = prices.map(p =>
|
|
185
|
+
const priceValues = prices.map(p => (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(p.getPrice())));
|
|
195
186
|
console.log(`Found ${prices.length} prices for security, values: ${priceValues.join(', ')}`);
|
|
196
187
|
expect(priceValues).toContain('101.5');
|
|
197
188
|
}), 120000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.test.js","sourceRoot":"","sources":["price.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AACjC,iDAA8C;AAC9C,yEAAsE;AACtE,2EAA0E;AAC1E,kDAA+C;AAC/C,gEAAkD;AAClD,oDAAsC;AACtC,4GAA+F;AAC/F,sGAAmG;AAEnG,wEAAuE;
|
|
1
|
+
{"version":3,"file":"price.test.js","sourceRoot":"","sources":["price.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
|
12
12
|
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
13
13
|
import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
14
14
|
import { PriceTypeProto } from '../../../fintekkers/models/price/price_type_pb';
|
|
15
|
+
import { decodeDecimal, encodeDecimal, parseDecimalString, toCanonicalString } from '../../models/utils/decimal';
|
|
15
16
|
|
|
16
17
|
const PRICE_SERVICE_URL = 'localhost:8083';
|
|
17
18
|
|
|
@@ -29,8 +30,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
29
30
|
|
|
30
31
|
// ListIds to get a price UUID
|
|
31
32
|
const listRequest = new QueryPriceRequestProto();
|
|
32
|
-
listRequest.setObjectClass('PriceRequest');
|
|
33
|
-
listRequest.setVersion('0.0.1');
|
|
34
33
|
|
|
35
34
|
const listIdsAsync = promisify(client.listIds.bind(client));
|
|
36
35
|
const listResponse = await listIdsAsync(listRequest) as QueryPriceResponseProto;
|
|
@@ -39,8 +38,6 @@ async function getSecurityUuidWithPrices(): Promise<{ uuid: UUID; client: PriceC
|
|
|
39
38
|
|
|
40
39
|
// GetByIds for the first price to get its security UUID
|
|
41
40
|
const getRequest = new QueryPriceRequestProto();
|
|
42
|
-
getRequest.setObjectClass('PriceRequest');
|
|
43
|
-
getRequest.setVersion('0.0.1');
|
|
44
41
|
getRequest.setUuidsList([priceUuids[0].getUuid()!]);
|
|
45
42
|
|
|
46
43
|
const getByIdsAsync = promisify(client.getByIds.bind(client));
|
|
@@ -85,7 +82,7 @@ test('search by SECURITY_ID returns prices for a known security', async () => {
|
|
|
85
82
|
|
|
86
83
|
for (const price of prices) {
|
|
87
84
|
expect(price.getSecurity()).toBeTruthy();
|
|
88
|
-
expect(price.getPrice()
|
|
85
|
+
expect(toCanonicalString(decodeDecimal(price.getPrice()!))).toBeTruthy();
|
|
89
86
|
}
|
|
90
87
|
}, 120000);
|
|
91
88
|
|
|
@@ -107,7 +104,7 @@ test('search for CUSIP 91282CPZ8 (UUID 18e8c4e6-3da0-47c9-b26d-c5ea8b8dce95) ret
|
|
|
107
104
|
if (prices.length > 0) {
|
|
108
105
|
for (const price of prices) {
|
|
109
106
|
expect(price.getSecurity()).toBeTruthy();
|
|
110
|
-
const priceValue = price.getPrice()
|
|
107
|
+
const priceValue = toCanonicalString(decodeDecimal(price.getPrice()!));
|
|
111
108
|
expect(priceValue).toBeTruthy();
|
|
112
109
|
console.log(` Price: ${priceValue}`);
|
|
113
110
|
}
|
|
@@ -123,13 +120,10 @@ function buildPriceProto(securityUuid: UUID, priceValue: string): PriceProto {
|
|
|
123
120
|
const now = dt.ZonedDateTime.now();
|
|
124
121
|
|
|
125
122
|
const price = new PriceProto();
|
|
126
|
-
price.setObjectClass('Price');
|
|
127
|
-
price.setVersion('0.0.1');
|
|
128
123
|
price.setUuid(UUID.random().toUUIDProto());
|
|
129
124
|
price.setAsOf(now.toProto());
|
|
130
125
|
|
|
131
|
-
const decimalValue =
|
|
132
|
-
decimalValue.setArbitraryPrecisionValue(priceValue);
|
|
126
|
+
const decimalValue = encodeDecimal(parseDecimalString(priceValue));
|
|
133
127
|
price.setPrice(decimalValue);
|
|
134
128
|
|
|
135
129
|
// Set security as a link reference
|
|
@@ -154,8 +148,8 @@ test('createOrUpdate inserts a price via the gRPC API', async () => {
|
|
|
154
148
|
|
|
155
149
|
// The RPC must succeed and return a valid response
|
|
156
150
|
expect(response).toBeTruthy();
|
|
157
|
-
expect(response.
|
|
158
|
-
console.log(`createOrUpdate response
|
|
151
|
+
expect(response.getObjectType()).toBeTruthy();
|
|
152
|
+
console.log(`createOrUpdate response object_type: ${response.getObjectType()}`);
|
|
159
153
|
|
|
160
154
|
// Verify the price was persisted by searching for it
|
|
161
155
|
const now = dt.ZonedDateTime.now();
|
|
@@ -163,7 +157,7 @@ test('createOrUpdate inserts a price via the gRPC API', async () => {
|
|
|
163
157
|
.addEqualsFilter(FieldProto.SECURITY_ID, securityUuid);
|
|
164
158
|
|
|
165
159
|
const prices = await priceService.searchPrice(now.toProto(), filter);
|
|
166
|
-
const priceValues = prices.map(p => p.getPrice()
|
|
160
|
+
const priceValues = prices.map(p => toCanonicalString(decodeDecimal(p.getPrice()!)));
|
|
167
161
|
expect(priceValues).toContain('99.875');
|
|
168
162
|
}, 120000);
|
|
169
163
|
|
|
@@ -199,7 +193,7 @@ test('createOrUpdate price can be retrieved via search', async () => {
|
|
|
199
193
|
const prices = await priceService.searchPrice(now.toProto(), filter);
|
|
200
194
|
expect(prices.length).toBeGreaterThan(0);
|
|
201
195
|
|
|
202
|
-
const priceValues = prices.map(p => p.getPrice()
|
|
196
|
+
const priceValues = prices.map(p => toCanonicalString(decodeDecimal(p.getPrice()!)));
|
|
203
197
|
console.log(`Found ${prices.length} prices for security, values: ${priceValues.join(', ')}`);
|
|
204
198
|
expect(priceValues).toContain('101.5');
|
|
205
199
|
}, 120000);
|
|
@@ -43,9 +43,9 @@ const positionfilter_1 = require("../models/position/positionfilter");
|
|
|
43
43
|
const dt = __importStar(require("../models/utils/datetime"));
|
|
44
44
|
const security_pb_1 = require("../../fintekkers/models/security/security_pb");
|
|
45
45
|
const price_pb_1 = require("../../fintekkers/models/price/price_pb");
|
|
46
|
-
const decimal_value_pb_1 = require("../../fintekkers/models/util/decimal_value_pb");
|
|
47
46
|
const identifier_pb_1 = require("../../fintekkers/models/security/identifier/identifier_pb");
|
|
48
47
|
const query_security_response_pb_1 = require("../../fintekkers/requests/security/query_security_response_pb");
|
|
48
|
+
const decimal_1 = require("../models/utils/decimal");
|
|
49
49
|
/**
|
|
50
50
|
* End-to-end test: priceService.searchWithSecurities resolves all link
|
|
51
51
|
* securities embedded in the returned Prices via a single batched
|
|
@@ -53,8 +53,6 @@ const query_security_response_pb_1 = require("../../fintekkers/requests/security
|
|
|
53
53
|
*/
|
|
54
54
|
function fullSecurity(uuid, issuerName) {
|
|
55
55
|
const proto = new security_pb_1.SecurityProto();
|
|
56
|
-
proto.setObjectClass('Security');
|
|
57
|
-
proto.setVersion('0.0.1');
|
|
58
56
|
proto.setUuid(uuid.toUUIDProto());
|
|
59
57
|
proto.setIsLink(false);
|
|
60
58
|
proto.setIssuerName(issuerName);
|
|
@@ -68,12 +66,9 @@ function linkPriceProto(securityUuid, priceValue) {
|
|
|
68
66
|
linkSec.setUuid(securityUuid.toUUIDProto());
|
|
69
67
|
linkSec.setIsLink(true);
|
|
70
68
|
const priceProto = new price_pb_1.PriceProto();
|
|
71
|
-
priceProto.setObjectClass('Price');
|
|
72
|
-
priceProto.setVersion('0.0.1');
|
|
73
69
|
priceProto.setUuid(uuid_1.UUID.random().toUUIDProto());
|
|
74
70
|
priceProto.setSecurity(linkSec);
|
|
75
|
-
const dv =
|
|
76
|
-
dv.setArbitraryPrecisionValue(priceValue);
|
|
71
|
+
const dv = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(priceValue));
|
|
77
72
|
priceProto.setPrice(dv);
|
|
78
73
|
return priceProto;
|
|
79
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchWithSecurities.test.js","sourceRoot":"","sources":["searchWithSecurities.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA4D;AAC5D,0EAAiD;AACjD,kEAA0C;AAC1C,+CAA4C;AAC5C,sEAAmE;AACnE,6DAA+C;AAE/C,8EAA6E;AAC7E,qEAAoE;
|
|
1
|
+
{"version":3,"file":"searchWithSecurities.test.js","sourceRoot":"","sources":["searchWithSecurities.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { DecimalValueProto } from '../../fintekkers/models/util/decimal_value_pb
|
|
|
11
11
|
import { IdentifierProto } from '../../fintekkers/models/security/identifier/identifier_pb';
|
|
12
12
|
import { QuerySecurityResponseProto } from '../../fintekkers/requests/security/query_security_response_pb';
|
|
13
13
|
import { QuerySecurityRequestProto } from '../../fintekkers/requests/security/query_security_request_pb';
|
|
14
|
+
import { encodeDecimal, parseDecimalString } from '../models/utils/decimal';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* End-to-end test: priceService.searchWithSecurities resolves all link
|
|
@@ -20,8 +21,6 @@ import { QuerySecurityRequestProto } from '../../fintekkers/requests/security/qu
|
|
|
20
21
|
|
|
21
22
|
function fullSecurity(uuid: UUID, issuerName: string): SecurityProto {
|
|
22
23
|
const proto = new SecurityProto();
|
|
23
|
-
proto.setObjectClass('Security');
|
|
24
|
-
proto.setVersion('0.0.1');
|
|
25
24
|
proto.setUuid(uuid.toUUIDProto());
|
|
26
25
|
proto.setIsLink(false);
|
|
27
26
|
proto.setIssuerName(issuerName);
|
|
@@ -37,12 +36,9 @@ function linkPriceProto(securityUuid: UUID, priceValue: string): PriceProto {
|
|
|
37
36
|
linkSec.setIsLink(true);
|
|
38
37
|
|
|
39
38
|
const priceProto = new PriceProto();
|
|
40
|
-
priceProto.setObjectClass('Price');
|
|
41
|
-
priceProto.setVersion('0.0.1');
|
|
42
39
|
priceProto.setUuid(UUID.random().toUUIDProto());
|
|
43
40
|
priceProto.setSecurity(linkSec);
|
|
44
|
-
const dv =
|
|
45
|
-
dv.setArbitraryPrecisionValue(priceValue);
|
|
41
|
+
const dv = encodeDecimal(parseDecimalString(priceValue));
|
|
46
42
|
priceProto.setPrice(dv);
|
|
47
43
|
return priceProto;
|
|
48
44
|
}
|
|
@@ -73,7 +73,7 @@ class SecurityService {
|
|
|
73
73
|
// ModelValidationError before the gRPC round-trip.
|
|
74
74
|
(0, security_rules_1.requireValid)(security);
|
|
75
75
|
const createRequest = new create_security_request_pb_1.CreateSecurityRequestProto();
|
|
76
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
76
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
77
77
|
createRequest.setSecurityInput(security);
|
|
78
78
|
const validateCreateOrUpdateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
|
|
79
79
|
const response = yield validateCreateOrUpdateAsync(createRequest);
|
|
@@ -86,7 +86,7 @@ class SecurityService {
|
|
|
86
86
|
(0, identifier_1.validateIdentifiersForCreate)(security);
|
|
87
87
|
(0, security_rules_1.requireValid)(security);
|
|
88
88
|
const createRequest = new create_security_request_pb_1.CreateSecurityRequestProto();
|
|
89
|
-
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
89
|
+
(0, object_types_1.stamp)(createRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
90
90
|
createRequest.setSecurityInput(security);
|
|
91
91
|
const createSecurityAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
|
|
92
92
|
const response = yield createSecurityAsync(createRequest);
|
|
@@ -114,7 +114,7 @@ class SecurityService {
|
|
|
114
114
|
searchSecurity(asOf, positionFilter) {
|
|
115
115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
116
|
const searchRequest = new query_security_request_pb_1.QuerySecurityRequestProto();
|
|
117
|
-
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST
|
|
117
|
+
(0, object_types_1.stamp)(searchRequest, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST);
|
|
118
118
|
searchRequest.setAsOf(asOf);
|
|
119
119
|
searchRequest.setSearchSecurityInput(positionFilter.toProto());
|
|
120
120
|
const tmpClient = this.client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["SecurityService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAMjC,8EAAsD;AAItD,gEAAkD;AAClD,iEAAgF;AAChF,yEAAoE;AAEpE,sBAAsB;AACtB,qHAAwG;AACxG,+GAA4G;AAE5G,iHAA8G;AAG9G,uFAA0D;AAC1D,8DAAoD;AACpD,kDAA+C;AAC/C,0DAA4D;AAC5D,uEAAyD;AACzD,mFAAiF;AACjF,0DAAgD;AAEhD,MAAM,eAAe;IAGnB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,EAAE,wBAAO,CAAC,QAAQ,CAAC,CAAC;YACxG,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,wBAAS,CAAC,cAAc,CAAC,wBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClH;IACH,CAAC;IAEK,sBAAsB,CAAC,QAAuB;;YAClD,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,mDAAmD;YACnD,IAAA,yCAA4B,EAAC,QAAQ,CAAC,CAAC;YACvC,+DAA+D;YAC/D,mDAAmD;YACnD,IAAA,6BAAY,EAAC,QAAQ,CAAC,CAAC;YAEvB,MAAM,aAAa,GAAG,IAAI,uDAA0B,EAAE,CAAC;YACvD,IAAA,oBAAK,EAAC,aAAa,EAAE,gCAAe,CAAC,mCAAmC,
|
|
1
|
+
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["SecurityService.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ class SecurityService {
|
|
|
50
50
|
requireValid(security);
|
|
51
51
|
|
|
52
52
|
const createRequest = new CreateSecurityRequestProto();
|
|
53
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
53
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
54
54
|
createRequest.setSecurityInput(security);
|
|
55
55
|
|
|
56
56
|
const validateCreateOrUpdateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
|
|
@@ -64,7 +64,7 @@ class SecurityService {
|
|
|
64
64
|
requireValid(security);
|
|
65
65
|
|
|
66
66
|
const createRequest = new CreateSecurityRequestProto();
|
|
67
|
-
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST
|
|
67
|
+
stamp(createRequest, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST);
|
|
68
68
|
createRequest.setSecurityInput(security);
|
|
69
69
|
|
|
70
70
|
const createSecurityAsync = promisify(this.client.createOrUpdate.bind(this.client));
|
|
@@ -91,7 +91,7 @@ class SecurityService {
|
|
|
91
91
|
|
|
92
92
|
async searchSecurity(asOf: LocalTimestampProto, positionFilter: PositionFilter): Promise<Security[]> {
|
|
93
93
|
const searchRequest = new QuerySecurityRequestProto();
|
|
94
|
-
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST
|
|
94
|
+
stamp(searchRequest, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST);
|
|
95
95
|
searchRequest.setAsOf(asOf);
|
|
96
96
|
|
|
97
97
|
searchRequest.setSearchSecurityInput(positionFilter.toProto());
|
|
@@ -35,7 +35,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
35
35
|
// Models
|
|
36
36
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
37
37
|
const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
|
|
38
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
39
38
|
const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_type_pb");
|
|
40
39
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
41
40
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
@@ -47,6 +46,7 @@ const SecurityService_1 = require("./SecurityService");
|
|
|
47
46
|
const positionfilter_1 = require("../../models/position/positionfilter");
|
|
48
47
|
const issuance_pb_1 = require("../../../fintekkers/models/security/bond/issuance_pb");
|
|
49
48
|
const serialization_1 = require("../../models/utils/serialization");
|
|
49
|
+
const decimal_1 = require("../../models/utils/decimal");
|
|
50
50
|
test('test creating a security against the api.fintekkers.org security service', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
51
|
const isTrue = yield testSecurity();
|
|
52
52
|
expect(isTrue).toBe(true);
|
|
@@ -62,8 +62,6 @@ function testSecurity() {
|
|
|
62
62
|
return securities[0];
|
|
63
63
|
});
|
|
64
64
|
const security = new security_pb_1.SecurityProto();
|
|
65
|
-
security.setObjectClass('Security');
|
|
66
|
-
security.setVersion('0.0.1');
|
|
67
65
|
security.setUuid(id_proto);
|
|
68
66
|
security.setSettlementCurrency(usd_security.proto);
|
|
69
67
|
security.setAsOf(now.toProto());
|
|
@@ -72,11 +70,9 @@ function testSecurity() {
|
|
|
72
70
|
const bond = new security_pb_1.BondDetailsProto();
|
|
73
71
|
bond.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
|
|
74
72
|
bond.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
|
|
75
|
-
const faceValue =
|
|
76
|
-
faceValue.setArbitraryPrecisionValue('1000.00');
|
|
73
|
+
const faceValue = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('1000.00'));
|
|
77
74
|
bond.setFaceValue(faceValue);
|
|
78
|
-
const couponRate =
|
|
79
|
-
couponRate.setArbitraryPrecisionValue('0.05');
|
|
75
|
+
const couponRate = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)('0.05'));
|
|
80
76
|
bond.setCouponRate(couponRate); // Fixed a typo here. It was security.setFaceValue(couponRate);
|
|
81
77
|
const issueDate = new local_date_pb_1.LocalDateProto();
|
|
82
78
|
issueDate.setYear(2023);
|