@fintekkers/ledger-models 0.0.100

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 (374) hide show
  1. package/.vscode/launch.json +20 -0
  2. package/README.md +25 -0
  3. package/babel.config.js +3 -0
  4. package/index.js +14 -0
  5. package/index.js.map +1 -0
  6. package/index.ts +18 -0
  7. package/node/fintekkers/models/portfolio/portfolio_grpc_pb.js +1 -0
  8. package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +62 -0
  9. package/node/fintekkers/models/portfolio/portfolio_pb.js +474 -0
  10. package/node/fintekkers/models/position/field_grpc_pb.js +1 -0
  11. package/node/fintekkers/models/position/field_pb.d.ts +39 -0
  12. package/node/fintekkers/models/position/field_pb.js +60 -0
  13. package/node/fintekkers/models/position/measure_grpc_pb.js +1 -0
  14. package/node/fintekkers/models/position/measure_pb.d.ts +17 -0
  15. package/node/fintekkers/models/position/measure_pb.js +38 -0
  16. package/node/fintekkers/models/position/position_filter_grpc_pb.js +1 -0
  17. package/node/fintekkers/models/position/position_filter_pb.d.ts +36 -0
  18. package/node/fintekkers/models/position/position_filter_pb.js +268 -0
  19. package/node/fintekkers/models/position/position_grpc_pb.js +1 -0
  20. package/node/fintekkers/models/position/position_pb.d.ts +59 -0
  21. package/node/fintekkers/models/position/position_pb.js +401 -0
  22. package/node/fintekkers/models/position/position_status_grpc_pb.js +1 -0
  23. package/node/fintekkers/models/position/position_status_pb.d.ts +14 -0
  24. package/node/fintekkers/models/position/position_status_pb.js +35 -0
  25. package/node/fintekkers/models/position/position_util_grpc_pb.js +1 -0
  26. package/node/fintekkers/models/position/position_util_pb.d.ts +98 -0
  27. package/node/fintekkers/models/position/position_util_pb.js +606 -0
  28. package/node/fintekkers/models/price/price_grpc_pb.js +1 -0
  29. package/node/fintekkers/models/price/price_pb.d.ts +73 -0
  30. package/node/fintekkers/models/price/price_pb.js +550 -0
  31. package/node/fintekkers/models/security/coupon_frequency_grpc_pb.js +1 -0
  32. package/node/fintekkers/models/security/coupon_frequency_pb.d.ts +16 -0
  33. package/node/fintekkers/models/security/coupon_frequency_pb.js +37 -0
  34. package/node/fintekkers/models/security/coupon_type_grpc_pb.js +1 -0
  35. package/node/fintekkers/models/security/coupon_type_pb.d.ts +14 -0
  36. package/node/fintekkers/models/security/coupon_type_pb.js +35 -0
  37. package/node/fintekkers/models/security/identifier/identifier_grpc_pb.js +1 -0
  38. package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +37 -0
  39. package/node/fintekkers/models/security/identifier/identifier_pb.js +268 -0
  40. package/node/fintekkers/models/security/identifier/identifier_type_grpc_pb.js +1 -0
  41. package/node/fintekkers/models/security/identifier/identifier_type_pb.d.ts +17 -0
  42. package/node/fintekkers/models/security/identifier/identifier_type_pb.js +38 -0
  43. package/node/fintekkers/models/security/security_grpc_pb.js +1 -0
  44. package/node/fintekkers/models/security/security_pb.d.ts +132 -0
  45. package/node/fintekkers/models/security/security_pb.js +1055 -0
  46. package/node/fintekkers/models/security/security_pb.test.js +32 -0
  47. package/node/fintekkers/models/security/security_quantity_type_grpc_pb.js +1 -0
  48. package/node/fintekkers/models/security/security_quantity_type_pb.d.ts +14 -0
  49. package/node/fintekkers/models/security/security_quantity_type_pb.js +35 -0
  50. package/node/fintekkers/models/security/security_type_grpc_pb.js +1 -0
  51. package/node/fintekkers/models/security/security_type_pb.d.ts +16 -0
  52. package/node/fintekkers/models/security/security_type_pb.js +37 -0
  53. package/node/fintekkers/models/security/tenor_grpc_pb.js +1 -0
  54. package/node/fintekkers/models/security/tenor_pb.d.ts +37 -0
  55. package/node/fintekkers/models/security/tenor_pb.js +268 -0
  56. package/node/fintekkers/models/security/tenor_type_grpc_pb.js +1 -0
  57. package/node/fintekkers/models/security/tenor_type_pb.d.ts +13 -0
  58. package/node/fintekkers/models/security/tenor_type_pb.js +34 -0
  59. package/node/fintekkers/models/strategy/strategy_allocation_grpc_pb.js +1 -0
  60. package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +83 -0
  61. package/node/fintekkers/models/strategy/strategy_allocation_pb.js +630 -0
  62. package/node/fintekkers/models/strategy/strategy_grpc_pb.js +1 -0
  63. package/node/fintekkers/models/strategy/strategy_pb.d.ts +68 -0
  64. package/node/fintekkers/models/strategy/strategy_pb.js +525 -0
  65. package/node/fintekkers/models/transaction/transaction_grpc_pb.js +1 -0
  66. package/node/fintekkers/models/transaction/transaction_pb.d.ts +126 -0
  67. package/node/fintekkers/models/transaction/transaction_pb.js +997 -0
  68. package/node/fintekkers/models/transaction/transaction_type_grpc_pb.js +1 -0
  69. package/node/fintekkers/models/transaction/transaction_type_pb.d.ts +17 -0
  70. package/node/fintekkers/models/transaction/transaction_type_pb.js +38 -0
  71. package/node/fintekkers/models/util/decimal_value_grpc_pb.js +1 -0
  72. package/node/fintekkers/models/util/decimal_value_pb.d.ts +27 -0
  73. package/node/fintekkers/models/util/decimal_value_pb.js +176 -0
  74. package/node/fintekkers/models/util/endpoint_grpc_pb.js +1 -0
  75. package/node/fintekkers/models/util/endpoint_pb.d.ts +33 -0
  76. package/node/fintekkers/models/util/endpoint_pb.js +236 -0
  77. package/node/fintekkers/models/util/local_date_grpc_pb.js +1 -0
  78. package/node/fintekkers/models/util/local_date_pb.d.ts +33 -0
  79. package/node/fintekkers/models/util/local_date_pb.js +236 -0
  80. package/node/fintekkers/models/util/local_timestamp_grpc_pb.js +1 -0
  81. package/node/fintekkers/models/util/local_timestamp_pb.d.ts +34 -0
  82. package/node/fintekkers/models/util/local_timestamp_pb.js +229 -0
  83. package/node/fintekkers/models/util/lock/node_partition_grpc_pb.js +1 -0
  84. package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +36 -0
  85. package/node/fintekkers/models/util/lock/node_partition_pb.js +266 -0
  86. package/node/fintekkers/models/util/lock/node_state_grpc_pb.js +1 -0
  87. package/node/fintekkers/models/util/lock/node_state_pb.d.ts +54 -0
  88. package/node/fintekkers/models/util/lock/node_state_pb.js +395 -0
  89. package/node/fintekkers/models/util/uuid_grpc_pb.js +1 -0
  90. package/node/fintekkers/models/util/uuid_pb.d.ts +29 -0
  91. package/node/fintekkers/models/util/uuid_pb.js +200 -0
  92. package/node/fintekkers/requests/portfolio/create_portfolio_request_grpc_pb.js +1 -0
  93. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +37 -0
  94. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +259 -0
  95. package/node/fintekkers/requests/portfolio/create_portfolio_response_grpc_pb.js +1 -0
  96. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +43 -0
  97. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +321 -0
  98. package/node/fintekkers/requests/portfolio/query_portfolio_request_grpc_pb.js +1 -0
  99. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +50 -0
  100. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +374 -0
  101. package/node/fintekkers/requests/portfolio/query_portfolio_response_grpc_pb.js +1 -0
  102. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +43 -0
  103. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +321 -0
  104. package/node/fintekkers/requests/position/query_position_request_grpc_pb.js +1 -0
  105. package/node/fintekkers/requests/position/query_position_request_pb.d.ts +67 -0
  106. package/node/fintekkers/requests/position/query_position_request_pb.js +519 -0
  107. package/node/fintekkers/requests/position/query_position_response_grpc_pb.js +1 -0
  108. package/node/fintekkers/requests/position/query_position_response_pb.d.ts +46 -0
  109. package/node/fintekkers/requests/position/query_position_response_pb.js +351 -0
  110. package/node/fintekkers/requests/price/create_price_request_grpc_pb.js +1 -0
  111. package/node/fintekkers/requests/price/create_price_request_pb.d.ts +37 -0
  112. package/node/fintekkers/requests/price/create_price_request_pb.js +259 -0
  113. package/node/fintekkers/requests/price/create_price_response_grpc_pb.js +1 -0
  114. package/node/fintekkers/requests/price/create_price_response_pb.d.ts +43 -0
  115. package/node/fintekkers/requests/price/create_price_response_pb.js +321 -0
  116. package/node/fintekkers/requests/price/query_price_request_grpc_pb.js +1 -0
  117. package/node/fintekkers/requests/price/query_price_request_pb.d.ts +50 -0
  118. package/node/fintekkers/requests/price/query_price_request_pb.js +374 -0
  119. package/node/fintekkers/requests/price/query_price_response_grpc_pb.js +1 -0
  120. package/node/fintekkers/requests/price/query_price_response_pb.d.ts +43 -0
  121. package/node/fintekkers/requests/price/query_price_response_pb.js +321 -0
  122. package/node/fintekkers/requests/security/create_security_request_grpc_pb.js +1 -0
  123. package/node/fintekkers/requests/security/create_security_request_pb.d.ts +37 -0
  124. package/node/fintekkers/requests/security/create_security_request_pb.js +259 -0
  125. package/node/fintekkers/requests/security/create_security_response_grpc_pb.js +1 -0
  126. package/node/fintekkers/requests/security/create_security_response_pb.d.ts +51 -0
  127. package/node/fintekkers/requests/security/create_security_response_pb.js +365 -0
  128. package/node/fintekkers/requests/security/query_security_request_grpc_pb.js +1 -0
  129. package/node/fintekkers/requests/security/query_security_request_pb.d.ts +50 -0
  130. package/node/fintekkers/requests/security/query_security_request_pb.js +374 -0
  131. package/node/fintekkers/requests/security/query_security_response_grpc_pb.js +1 -0
  132. package/node/fintekkers/requests/security/query_security_response_pb.d.ts +49 -0
  133. package/node/fintekkers/requests/security/query_security_response_pb.js +376 -0
  134. package/node/fintekkers/requests/transaction/create_transaction_request_grpc_pb.js +1 -0
  135. package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +37 -0
  136. package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +259 -0
  137. package/node/fintekkers/requests/transaction/create_transaction_response_grpc_pb.js +1 -0
  138. package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +44 -0
  139. package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +312 -0
  140. package/node/fintekkers/requests/transaction/query_transaction_request_grpc_pb.js +1 -0
  141. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +50 -0
  142. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +374 -0
  143. package/node/fintekkers/requests/transaction/query_transaction_response_grpc_pb.js +1 -0
  144. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +43 -0
  145. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +321 -0
  146. package/node/fintekkers/requests/util/errors/error_grpc_pb.js +1 -0
  147. package/node/fintekkers/requests/util/errors/error_pb.d.ts +65 -0
  148. package/node/fintekkers/requests/util/errors/error_pb.js +441 -0
  149. package/node/fintekkers/requests/util/errors/message_grpc_pb.js +1 -0
  150. package/node/fintekkers/requests/util/errors/message_pb.d.ts +30 -0
  151. package/node/fintekkers/requests/util/errors/message_pb.js +206 -0
  152. package/node/fintekkers/requests/util/errors/summary_grpc_pb.js +1 -0
  153. package/node/fintekkers/requests/util/errors/summary_pb.d.ts +35 -0
  154. package/node/fintekkers/requests/util/errors/summary_pb.js +261 -0
  155. package/node/fintekkers/requests/util/lock/lock_request_grpc_pb.js +1 -0
  156. package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +37 -0
  157. package/node/fintekkers/requests/util/lock/lock_request_pb.js +259 -0
  158. package/node/fintekkers/requests/util/lock/lock_response_grpc_pb.js +1 -0
  159. package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +51 -0
  160. package/node/fintekkers/requests/util/lock/lock_response_pb.js +365 -0
  161. package/node/fintekkers/requests/util/operation_grpc_pb.js +1 -0
  162. package/node/fintekkers/requests/util/operation_pb.d.ts +15 -0
  163. package/node/fintekkers/requests/util/operation_pb.js +36 -0
  164. package/node/fintekkers/requests/valuation/valuation_request_grpc_pb.js +1 -0
  165. package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +61 -0
  166. package/node/fintekkers/requests/valuation/valuation_request_pb.js +457 -0
  167. package/node/fintekkers/requests/valuation/valuation_response_grpc_pb.js +1 -0
  168. package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +43 -0
  169. package/node/fintekkers/requests/valuation/valuation_response_pb.js +321 -0
  170. package/node/fintekkers/services/lock-service/lock_service_grpc_pb.d.ts +129 -0
  171. package/node/fintekkers/services/lock-service/lock_service_grpc_pb.js +179 -0
  172. package/node/fintekkers/services/lock-service/lock_service_pb.d.ts +78 -0
  173. package/node/fintekkers/services/lock-service/lock_service_pb.js +576 -0
  174. package/node/fintekkers/services/portfolio-service/portfolio_service_grpc_pb.d.ts +129 -0
  175. package/node/fintekkers/services/portfolio-service/portfolio_service_grpc_pb.js +136 -0
  176. package/node/fintekkers/services/portfolio-service/portfolio_service_pb.d.ts +12 -0
  177. package/node/fintekkers/services/portfolio-service/portfolio_service_pb.js +33 -0
  178. package/node/fintekkers/services/position-service/position_service_grpc_pb.d.ts +59 -0
  179. package/node/fintekkers/services/position-service/position_service_grpc_pb.js +71 -0
  180. package/node/fintekkers/services/position-service/position_service_pb.d.ts +10 -0
  181. package/node/fintekkers/services/position-service/position_service_pb.js +29 -0
  182. package/node/fintekkers/services/price-service/price_service_grpc_pb.d.ts +129 -0
  183. package/node/fintekkers/services/price-service/price_service_grpc_pb.js +136 -0
  184. package/node/fintekkers/services/price-service/price_service_pb.d.ts +12 -0
  185. package/node/fintekkers/services/price-service/price_service_pb.js +33 -0
  186. package/node/fintekkers/services/security-service/security_service_grpc_pb.d.ts +129 -0
  187. package/node/fintekkers/services/security-service/security_service_grpc_pb.js +136 -0
  188. package/node/fintekkers/services/security-service/security_service_pb.d.ts +12 -0
  189. package/node/fintekkers/services/security-service/security_service_pb.js +33 -0
  190. package/node/fintekkers/services/transaction-service/transaction_service_grpc_pb.d.ts +129 -0
  191. package/node/fintekkers/services/transaction-service/transaction_service_grpc_pb.js +136 -0
  192. package/node/fintekkers/services/transaction-service/transaction_service_pb.d.ts +12 -0
  193. package/node/fintekkers/services/transaction-service/transaction_service_pb.js +33 -0
  194. package/node/fintekkers/services/valuation-service/valuation_service_grpc_pb.d.ts +43 -0
  195. package/node/fintekkers/services/valuation-service/valuation_service_grpc_pb.js +45 -0
  196. package/node/fintekkers/services/valuation-service/valuation_service_pb.d.ts +9 -0
  197. package/node/fintekkers/services/valuation-service/valuation_service_pb.js +27 -0
  198. package/node/wrappers/models/position/position.js +103 -0
  199. package/node/wrappers/models/position/position.js.map +1 -0
  200. package/node/wrappers/models/position/position.ts +128 -0
  201. package/node/wrappers/models/security/security.js +78 -0
  202. package/node/wrappers/models/security/security.js.map +1 -0
  203. package/node/wrappers/models/security/security.ts +91 -0
  204. package/node/wrappers/models/utils/datetime.js +63 -0
  205. package/node/wrappers/models/utils/datetime.js.map +1 -0
  206. package/node/wrappers/models/utils/datetime.ts +78 -0
  207. package/node/wrappers/models/utils/serialization.js +44 -0
  208. package/node/wrappers/models/utils/serialization.js.map +1 -0
  209. package/node/wrappers/models/utils/serialization.test.js +71 -0
  210. package/node/wrappers/models/utils/serialization.test.js.map +1 -0
  211. package/node/wrappers/models/utils/serialization.test.ts +37 -0
  212. package/node/wrappers/models/utils/serialization.ts +47 -0
  213. package/node/wrappers/models/utils/util.js +28 -0
  214. package/node/wrappers/models/utils/util.js.map +1 -0
  215. package/node/wrappers/models/utils/util.ts +28 -0
  216. package/node/wrappers/models/utils/uuid.js +53 -0
  217. package/node/wrappers/models/utils/uuid.js.map +1 -0
  218. package/node/wrappers/models/utils/uuid.ts +67 -0
  219. package/node/wrappers/portfolio.test.js +81 -0
  220. package/node/wrappers/portfolio.test.js.map +1 -0
  221. package/node/wrappers/portfolio.test.ts +36 -0
  222. package/node/wrappers/position.test.js +130 -0
  223. package/node/wrappers/position.test.js.map +1 -0
  224. package/node/wrappers/position.test.ts +109 -0
  225. package/node/wrappers/security.test.js +115 -0
  226. package/node/wrappers/security.test.js.map +1 -0
  227. package/node/wrappers/security.test.ts +75 -0
  228. package/node/wrappers/services/portfolio-service/PortfolioService.js +144 -0
  229. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -0
  230. package/node/wrappers/services/portfolio-service/PortfolioService.ts +99 -0
  231. package/node/wrappers/services/position-service/PositionService.js +90 -0
  232. package/node/wrappers/services/position-service/PositionService.js.map +1 -0
  233. package/node/wrappers/services/position-service/PositionService.ts +68 -0
  234. package/node/wrappers/services/security-service/SecurityService.js +145 -0
  235. package/node/wrappers/services/security-service/SecurityService.js.map +1 -0
  236. package/node/wrappers/services/security-service/SecurityService.ts +99 -0
  237. package/package.json +36 -0
  238. package/tsconfig.json +27 -0
  239. package/web/fintekkers/models/portfolio/portfolio_pb.d.ts +60 -0
  240. package/web/fintekkers/models/portfolio/portfolio_pb.js +468 -0
  241. package/web/fintekkers/models/position/field_pb.d.ts +35 -0
  242. package/web/fintekkers/models/position/field_pb.js +54 -0
  243. package/web/fintekkers/models/position/measure_pb.d.ts +13 -0
  244. package/web/fintekkers/models/position/measure_pb.js +32 -0
  245. package/web/fintekkers/models/position/position_filter_pb.d.ts +33 -0
  246. package/web/fintekkers/models/position/position_filter_pb.js +262 -0
  247. package/web/fintekkers/models/position/position_pb.d.ts +57 -0
  248. package/web/fintekkers/models/position/position_pb.js +395 -0
  249. package/web/fintekkers/models/position/position_status_pb.d.ts +10 -0
  250. package/web/fintekkers/models/position/position_status_pb.js +29 -0
  251. package/web/fintekkers/models/position/position_util_pb.d.ts +86 -0
  252. package/web/fintekkers/models/position/position_util_pb.js +600 -0
  253. package/web/fintekkers/models/price/price_pb.d.ts +70 -0
  254. package/web/fintekkers/models/price/price_pb.js +544 -0
  255. package/web/fintekkers/models/security/coupon_frequency_pb.d.ts +12 -0
  256. package/web/fintekkers/models/security/coupon_frequency_pb.js +31 -0
  257. package/web/fintekkers/models/security/coupon_type_pb.d.ts +10 -0
  258. package/web/fintekkers/models/security/coupon_type_pb.js +29 -0
  259. package/web/fintekkers/models/security/identifier/identifier_pb.d.ts +35 -0
  260. package/web/fintekkers/models/security/identifier/identifier_pb.js +262 -0
  261. package/web/fintekkers/models/security/identifier/identifier_type_pb.d.ts +13 -0
  262. package/web/fintekkers/models/security/identifier/identifier_type_pb.js +32 -0
  263. package/web/fintekkers/models/security/security_pb.d.ts +137 -0
  264. package/web/fintekkers/models/security/security_pb.js +1049 -0
  265. package/web/fintekkers/models/security/security_quantity_type_pb.d.ts +10 -0
  266. package/web/fintekkers/models/security/security_quantity_type_pb.js +29 -0
  267. package/web/fintekkers/models/security/security_type_pb.d.ts +12 -0
  268. package/web/fintekkers/models/security/security_type_pb.js +31 -0
  269. package/web/fintekkers/models/security/tenor_pb.d.ts +35 -0
  270. package/web/fintekkers/models/security/tenor_pb.js +262 -0
  271. package/web/fintekkers/models/security/tenor_type_pb.d.ts +9 -0
  272. package/web/fintekkers/models/security/tenor_type_pb.js +28 -0
  273. package/web/fintekkers/models/strategy/strategy_allocation_pb.d.ts +78 -0
  274. package/web/fintekkers/models/strategy/strategy_allocation_pb.js +624 -0
  275. package/web/fintekkers/models/strategy/strategy_pb.d.ts +66 -0
  276. package/web/fintekkers/models/strategy/strategy_pb.js +519 -0
  277. package/web/fintekkers/models/transaction/transaction_pb.d.ts +128 -0
  278. package/web/fintekkers/models/transaction/transaction_pb.js +991 -0
  279. package/web/fintekkers/models/transaction/transaction_type_pb.d.ts +13 -0
  280. package/web/fintekkers/models/transaction/transaction_type_pb.js +32 -0
  281. package/web/fintekkers/models/util/decimal_value_pb.d.ts +22 -0
  282. package/web/fintekkers/models/util/decimal_value_pb.js +170 -0
  283. package/web/fintekkers/models/util/endpoint_pb.d.ts +30 -0
  284. package/web/fintekkers/models/util/endpoint_pb.js +230 -0
  285. package/web/fintekkers/models/util/local_date_pb.d.ts +30 -0
  286. package/web/fintekkers/models/util/local_date_pb.js +230 -0
  287. package/web/fintekkers/models/util/local_timestamp_pb.d.ts +29 -0
  288. package/web/fintekkers/models/util/local_timestamp_pb.js +223 -0
  289. package/web/fintekkers/models/util/lock/node_partition_pb.d.ts +34 -0
  290. package/web/fintekkers/models/util/lock/node_partition_pb.js +260 -0
  291. package/web/fintekkers/models/util/lock/node_state_pb.d.ts +51 -0
  292. package/web/fintekkers/models/util/lock/node_state_pb.js +389 -0
  293. package/web/fintekkers/models/util/uuid_pb.d.ts +24 -0
  294. package/web/fintekkers/models/util/uuid_pb.js +194 -0
  295. package/web/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +33 -0
  296. package/web/fintekkers/requests/portfolio/create_portfolio_request_pb.js +253 -0
  297. package/web/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +40 -0
  298. package/web/fintekkers/requests/portfolio/create_portfolio_response_pb.js +315 -0
  299. package/web/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +47 -0
  300. package/web/fintekkers/requests/portfolio/query_portfolio_request_pb.js +368 -0
  301. package/web/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +40 -0
  302. package/web/fintekkers/requests/portfolio/query_portfolio_response_pb.js +315 -0
  303. package/web/fintekkers/requests/position/query_position_request_pb.d.ts +68 -0
  304. package/web/fintekkers/requests/position/query_position_request_pb.js +513 -0
  305. package/web/fintekkers/requests/position/query_position_response_pb.d.ts +44 -0
  306. package/web/fintekkers/requests/position/query_position_response_pb.js +345 -0
  307. package/web/fintekkers/requests/price/create_price_request_pb.d.ts +33 -0
  308. package/web/fintekkers/requests/price/create_price_request_pb.js +253 -0
  309. package/web/fintekkers/requests/price/create_price_response_pb.d.ts +40 -0
  310. package/web/fintekkers/requests/price/create_price_response_pb.js +315 -0
  311. package/web/fintekkers/requests/price/query_price_request_pb.d.ts +47 -0
  312. package/web/fintekkers/requests/price/query_price_request_pb.js +368 -0
  313. package/web/fintekkers/requests/price/query_price_response_pb.d.ts +40 -0
  314. package/web/fintekkers/requests/price/query_price_response_pb.js +315 -0
  315. package/web/fintekkers/requests/security/create_security_request_pb.d.ts +33 -0
  316. package/web/fintekkers/requests/security/create_security_request_pb.js +253 -0
  317. package/web/fintekkers/requests/security/create_security_response_pb.d.ts +47 -0
  318. package/web/fintekkers/requests/security/create_security_response_pb.js +359 -0
  319. package/web/fintekkers/requests/security/query_security_request_pb.d.ts +47 -0
  320. package/web/fintekkers/requests/security/query_security_request_pb.js +368 -0
  321. package/web/fintekkers/requests/security/query_security_response_pb.d.ts +47 -0
  322. package/web/fintekkers/requests/security/query_security_response_pb.js +370 -0
  323. package/web/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +33 -0
  324. package/web/fintekkers/requests/transaction/create_transaction_request_pb.js +253 -0
  325. package/web/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +40 -0
  326. package/web/fintekkers/requests/transaction/create_transaction_response_pb.js +306 -0
  327. package/web/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +47 -0
  328. package/web/fintekkers/requests/transaction/query_transaction_request_pb.js +368 -0
  329. package/web/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +40 -0
  330. package/web/fintekkers/requests/transaction/query_transaction_response_pb.js +315 -0
  331. package/web/fintekkers/requests/util/errors/error_pb.d.ts +57 -0
  332. package/web/fintekkers/requests/util/errors/error_pb.js +435 -0
  333. package/web/fintekkers/requests/util/errors/message_pb.d.ts +26 -0
  334. package/web/fintekkers/requests/util/errors/message_pb.js +200 -0
  335. package/web/fintekkers/requests/util/errors/summary_pb.d.ts +31 -0
  336. package/web/fintekkers/requests/util/errors/summary_pb.js +255 -0
  337. package/web/fintekkers/requests/util/lock/lock_request_pb.d.ts +33 -0
  338. package/web/fintekkers/requests/util/lock/lock_request_pb.js +253 -0
  339. package/web/fintekkers/requests/util/lock/lock_response_pb.d.ts +47 -0
  340. package/web/fintekkers/requests/util/lock/lock_response_pb.js +359 -0
  341. package/web/fintekkers/requests/util/operation_pb.d.ts +11 -0
  342. package/web/fintekkers/requests/util/operation_pb.js +30 -0
  343. package/web/fintekkers/requests/valuation/valuation_request_pb.d.ts +59 -0
  344. package/web/fintekkers/requests/valuation/valuation_request_pb.js +451 -0
  345. package/web/fintekkers/requests/valuation/valuation_response_pb.d.ts +40 -0
  346. package/web/fintekkers/requests/valuation/valuation_response_pb.js +315 -0
  347. package/web/fintekkers/services/lock-service/lock_service_grpc_web_pb.d.ts +94 -0
  348. package/web/fintekkers/services/lock-service/lock_service_grpc_web_pb.js +451 -0
  349. package/web/fintekkers/services/lock-service/lock_service_pb.d.ts +69 -0
  350. package/web/fintekkers/services/lock-service/lock_service_pb.js +570 -0
  351. package/web/fintekkers/services/portfolio-service/portfolio_service_grpc_web_pb.d.ts +93 -0
  352. package/web/fintekkers/services/portfolio-service/portfolio_service_grpc_web_pb.js +451 -0
  353. package/web/fintekkers/services/portfolio-service/portfolio_service_pb.d.ts +9 -0
  354. package/web/fintekkers/services/portfolio-service/portfolio_service_pb.js +27 -0
  355. package/web/fintekkers/services/position-service/position_service_grpc_web_pb.d.ts +43 -0
  356. package/web/fintekkers/services/position-service/position_service_grpc_web_pb.js +203 -0
  357. package/web/fintekkers/services/position-service/position_service_pb.d.ts +7 -0
  358. package/web/fintekkers/services/position-service/position_service_pb.js +23 -0
  359. package/web/fintekkers/services/price-service/price_service_grpc_web_pb.d.ts +93 -0
  360. package/web/fintekkers/services/price-service/price_service_grpc_web_pb.js +451 -0
  361. package/web/fintekkers/services/price-service/price_service_pb.d.ts +9 -0
  362. package/web/fintekkers/services/price-service/price_service_pb.js +27 -0
  363. package/web/fintekkers/services/security-service/security_service_grpc_web_pb.d.ts +93 -0
  364. package/web/fintekkers/services/security-service/security_service_grpc_web_pb.js +451 -0
  365. package/web/fintekkers/services/security-service/security_service_pb.d.ts +9 -0
  366. package/web/fintekkers/services/security-service/security_service_pb.js +27 -0
  367. package/web/fintekkers/services/transaction-service/transaction_service_grpc_web_pb.d.ts +93 -0
  368. package/web/fintekkers/services/transaction-service/transaction_service_grpc_web_pb.js +451 -0
  369. package/web/fintekkers/services/transaction-service/transaction_service_pb.d.ts +9 -0
  370. package/web/fintekkers/services/transaction-service/transaction_service_pb.js +27 -0
  371. package/web/fintekkers/services/valuation-service/valuation_service_grpc_web_pb.d.ts +32 -0
  372. package/web/fintekkers/services/valuation-service/valuation_service_grpc_web_pb.js +145 -0
  373. package/web/fintekkers/services/valuation-service/valuation_service_pb.d.ts +6 -0
  374. package/web/fintekkers/services/valuation-service/valuation_service_pb.js +21 -0
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.testSecurity = void 0;
40
+ // Models
41
+ var security_pb_1 = require("../fintekkers/models/security/security_pb");
42
+ var coupon_frequency_pb_1 = require("../fintekkers/models/security/coupon_frequency_pb");
43
+ var decimal_value_pb_1 = require("../fintekkers/models/util/decimal_value_pb");
44
+ var coupon_type_pb_1 = require("../fintekkers/models/security/coupon_type_pb");
45
+ var security_type_pb_1 = require("../fintekkers/models/security/security_type_pb");
46
+ var local_date_pb_1 = require("../fintekkers/models/util/local_date_pb");
47
+ // Model Utils
48
+ var field_pb_1 = require("../fintekkers/models/position/field_pb");
49
+ var uuid = require("./models/utils/uuid");
50
+ var dt = require("./models/utils/datetime");
51
+ var SecurityService_1 = require("./services/security-service/SecurityService");
52
+ function testSecurity() {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ var id_proto, now, securityService, usd_security, security, faceValue, couponRate, issueDate, maturityDate, validationSummary, createSecurityResponse, searchResults;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0:
58
+ id_proto = uuid.UUID.random().toUUIDProto();
59
+ now = dt.ZonedDateTime.now();
60
+ securityService = new SecurityService_1.SecurityService();
61
+ return [4 /*yield*/, securityService
62
+ .searchSecurity(now.to_date_proto(), field_pb_1.FieldProto.ASSET_CLASS, 'Cash')
63
+ .then(function (securities) {
64
+ return securities[0];
65
+ })];
66
+ case 1:
67
+ usd_security = _a.sent();
68
+ security = new security_pb_1.SecurityProto();
69
+ security.setObjectClass('Security');
70
+ security.setVersion('0.0.1');
71
+ security.setUuid(id_proto);
72
+ security.setSettlementCurrency(usd_security.proto);
73
+ security.setAsOf(now.to_date_proto());
74
+ security.setAssetClass('FixedIncome');
75
+ security.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
76
+ security.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
77
+ security.setSecurityType(security_type_pb_1.SecurityTypeProto.BOND_SECURITY);
78
+ faceValue = new decimal_value_pb_1.DecimalValueProto();
79
+ faceValue.setArbitraryPrecisionValue('1000.00');
80
+ security.setFaceValue(faceValue);
81
+ couponRate = new decimal_value_pb_1.DecimalValueProto();
82
+ couponRate.setArbitraryPrecisionValue('0.05');
83
+ security.setCouponRate(couponRate); // Fixed a typo here. It was security.setFaceValue(couponRate);
84
+ issueDate = new local_date_pb_1.LocalDateProto();
85
+ issueDate.setYear(2023);
86
+ issueDate.setMonth(1);
87
+ issueDate.setDay(1);
88
+ security.setIssueDate(issueDate);
89
+ security.setDatedDate(issueDate);
90
+ maturityDate = new local_date_pb_1.LocalDateProto();
91
+ maturityDate.setYear(2033); //10Y
92
+ maturityDate.setMonth(1);
93
+ maturityDate.setDay(1);
94
+ security.setMaturityDate(maturityDate);
95
+ security.setIssuerName('US Treasury');
96
+ security.setDescription('Dummy US Treasury 10Y Bond');
97
+ return [4 /*yield*/, securityService.validateCreateSecurity(security)];
98
+ case 2:
99
+ validationSummary = _a.sent();
100
+ console.log(validationSummary);
101
+ return [4 /*yield*/, securityService.createSecurity(security)];
102
+ case 3:
103
+ createSecurityResponse = _a.sent();
104
+ console.log(createSecurityResponse);
105
+ return [4 /*yield*/, securityService.searchSecurity(now.to_date_proto(), field_pb_1.FieldProto.ASSET_CLASS, 'Fixed Income')];
106
+ case 4:
107
+ searchResults = _a.sent();
108
+ console.log('There are %d securities in this response', searchResults.length);
109
+ return [2 /*return*/];
110
+ }
111
+ });
112
+ });
113
+ }
114
+ exports.testSecurity = testSecurity;
115
+ //# sourceMappingURL=security.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ // Models
2
+ import { SecurityProto } from '../fintekkers/models/security/security_pb';
3
+ import { CouponFrequencyProto } from '../fintekkers/models/security/coupon_frequency_pb';
4
+ import { DecimalValueProto } from '../fintekkers/models/util/decimal_value_pb';
5
+ import { CouponTypeProto } from '../fintekkers/models/security/coupon_type_pb';
6
+ import { SecurityTypeProto } from '../fintekkers/models/security/security_type_pb';
7
+ import { LocalDateProto } from '../fintekkers/models/util/local_date_pb';
8
+
9
+ // Model Utils
10
+ import { FieldProto } from '../fintekkers/models/position/field_pb';
11
+
12
+ import * as uuid from './models/utils/uuid';
13
+ import * as dt from './models/utils/datetime';
14
+
15
+ import { CreateSecurityResponseProto } from '../fintekkers/requests/security/create_security_response_pb';
16
+ import { SecurityService } from './services/security-service/SecurityService';
17
+
18
+ async function testSecurity(): Promise<void> {
19
+ const id_proto = uuid.UUID.random().toUUIDProto();
20
+ const now = dt.ZonedDateTime.now();
21
+
22
+ const securityService = new SecurityService();
23
+
24
+ let usd_security = await securityService
25
+ .searchSecurity(now.to_date_proto(), FieldProto.ASSET_CLASS, 'Cash')
26
+ .then((securities) => {
27
+ return securities[0];
28
+ });
29
+
30
+ const security = new SecurityProto();
31
+ security.setObjectClass('Security');
32
+ security.setVersion('0.0.1');
33
+ security.setUuid(id_proto);
34
+ security.setSettlementCurrency(usd_security.proto);
35
+ security.setAsOf(now.to_date_proto());
36
+ security.setAssetClass('FixedIncome');
37
+ security.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
38
+ security.setCouponType(CouponTypeProto.FIXED);
39
+ security.setSecurityType(SecurityTypeProto.BOND_SECURITY);
40
+
41
+ const faceValue = new DecimalValueProto();
42
+ faceValue.setArbitraryPrecisionValue('1000.00');
43
+ security.setFaceValue(faceValue);
44
+
45
+ const couponRate = new DecimalValueProto();
46
+ couponRate.setArbitraryPrecisionValue('0.05');
47
+ security.setCouponRate(couponRate); // Fixed a typo here. It was security.setFaceValue(couponRate);
48
+
49
+ const issueDate = new LocalDateProto();
50
+ issueDate.setYear(2023);
51
+ issueDate.setMonth(1);
52
+ issueDate.setDay(1);
53
+ security.setIssueDate(issueDate);
54
+ security.setDatedDate(issueDate);
55
+
56
+ const maturityDate = new LocalDateProto();
57
+ maturityDate.setYear(2033); //10Y
58
+ maturityDate.setMonth(1);
59
+ maturityDate.setDay(1);
60
+ security.setMaturityDate(maturityDate);
61
+
62
+ security.setIssuerName('US Treasury');
63
+ security.setDescription('Dummy US Treasury 10Y Bond');
64
+
65
+ var validationSummary = await securityService.validateCreateSecurity(security);
66
+ console.log(validationSummary);
67
+
68
+ var createSecurityResponse:CreateSecurityResponseProto = await securityService.createSecurity(security);
69
+ console.log(createSecurityResponse);
70
+
71
+ var searchResults = await securityService.searchSecurity(now.to_date_proto(), FieldProto.ASSET_CLASS, 'Fixed Income');
72
+ console.log('There are %d securities in this response', searchResults.length);
73
+ }
74
+
75
+ export { testSecurity };
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PortfolioService = void 0;
40
+ var grpc = require("@grpc/grpc-js");
41
+ var util_1 = require("util");
42
+ var util_2 = require("../../models/utils/util");
43
+ // Model Utils
44
+ var position_filter_pb_1 = require("../../../fintekkers/models/position/position_filter_pb");
45
+ // Requests & Services
46
+ var portfolio_service_grpc_pb_1 = require("../../../fintekkers/services/portfolio-service/portfolio_service_grpc_pb");
47
+ var query_portfolio_request_pb_1 = require("../../../fintekkers/requests/portfolio/query_portfolio_request_pb");
48
+ var create_portfolio_request_pb_1 = require("../../../fintekkers/requests/portfolio/create_portfolio_request_pb");
49
+ var PortfolioService = /** @class */ (function () {
50
+ function PortfolioService() {
51
+ // this.client = new PortfolioClient('api.fintekkers.org:8082', grpc.credentials.createSsl());
52
+ this.client = new portfolio_service_grpc_pb_1.PortfolioClient('localhost:8082', grpc.credentials.createInsecure());
53
+ }
54
+ PortfolioService.prototype.validateCreatePortfolio = function (portfolio) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var createRequest, validateCreateOrUpdateAsync, response;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ createRequest = new create_portfolio_request_pb_1.CreatePortfolioRequestProto();
61
+ createRequest.setObjectClass('PortfolioRequest');
62
+ createRequest.setVersion('0.0.1');
63
+ createRequest.setCreatePortfolioInput(portfolio);
64
+ validateCreateOrUpdateAsync = (0, util_1.promisify)(this.client.validateCreateOrUpdate.bind(this.client));
65
+ return [4 /*yield*/, validateCreateOrUpdateAsync(createRequest)];
66
+ case 1:
67
+ response = _a.sent();
68
+ return [2 /*return*/, response];
69
+ }
70
+ });
71
+ });
72
+ };
73
+ PortfolioService.prototype.createPortfolio = function (portfolio) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ var createRequest, createPortfolioAsync, response;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0:
79
+ createRequest = new create_portfolio_request_pb_1.CreatePortfolioRequestProto();
80
+ createRequest.setObjectClass('PortfolioRequest');
81
+ createRequest.setVersion('0.0.1');
82
+ createRequest.setCreatePortfolioInput(portfolio);
83
+ createPortfolioAsync = (0, util_1.promisify)(this.client.createOrUpdate.bind(this.client));
84
+ return [4 /*yield*/, createPortfolioAsync(createRequest)];
85
+ case 1:
86
+ response = _a.sent();
87
+ return [2 /*return*/, response];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ PortfolioService.prototype.searchPortfolio = function (asOf, fieldProto, fieldValue) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ function processStreamSynchronously() {
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var stream2;
97
+ return __generator(this, function (_a) {
98
+ stream2 = tmpClient.search(searchRequest);
99
+ return [2 /*return*/, new Promise(function (resolve, reject) {
100
+ stream2.on('data', function (response) {
101
+ console.log('Result of the portfolio search call');
102
+ console.log('Response:', response);
103
+ response.getPortfolioResponseList().forEach(function (portfolio) {
104
+ listPortfolios.push(portfolio);
105
+ });
106
+ });
107
+ stream2.on('end', function () {
108
+ console.log('Stream ended.');
109
+ resolve(listPortfolios);
110
+ });
111
+ stream2.on('error', function (err) {
112
+ console.error('Error in the stream:', err);
113
+ reject(err);
114
+ });
115
+ })];
116
+ });
117
+ });
118
+ }
119
+ var searchRequest, positionFilter, fieldMapEntry, tmpClient, listPortfolios;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ searchRequest = new query_portfolio_request_pb_1.QueryPortfolioRequestProto();
124
+ searchRequest.setObjectClass('PortfolioRequest');
125
+ searchRequest.setVersion('0.0.1');
126
+ searchRequest.setAsOf(asOf);
127
+ positionFilter = new position_filter_pb_1.PositionFilterProto();
128
+ positionFilter.setObjectClass('PositionFilter');
129
+ positionFilter.setVersion('0.0.1');
130
+ fieldMapEntry = (0, util_2.createFieldMapEntry)(fieldProto, fieldValue);
131
+ positionFilter.setFiltersList([fieldMapEntry]);
132
+ searchRequest.setSearchPortfolioInput(positionFilter);
133
+ tmpClient = this.client;
134
+ listPortfolios = [];
135
+ return [4 /*yield*/, processStreamSynchronously()];
136
+ case 1: return [2 /*return*/, _a.sent()];
137
+ }
138
+ });
139
+ });
140
+ };
141
+ return PortfolioService;
142
+ }());
143
+ exports.PortfolioService = PortfolioService;
144
+ //# sourceMappingURL=PortfolioService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortfolioService.js","sourceRoot":"","sources":["PortfolioService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAsC;AACtC,6BAAiC;AAIjC,gDAA8D;AAI9D,cAAc;AACd,6FAA6F;AAG7F,sBAAsB;AACtB,sHAA2G;AAC3G,gHAA+G;AAE/G,kHAAiH;AAGjH;IAGE;QACE,8FAA8F;QAC9F,IAAI,CAAC,MAAM,GAAG,IAAI,2CAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACzF,CAAC;IAEK,kDAAuB,GAA7B,UAA8B,SAAyB;;;;;;wBAC/C,aAAa,GAAG,IAAI,yDAA2B,EAAE,CAAC;wBACxD,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;wBACjD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;wBAE3C,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,0CAAe,GAArB,UAAsB,SAAyB;;;;;;wBACvC,aAAa,GAAG,IAAI,yDAA2B,EAAE,CAAC;wBACxD,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;wBACjD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;wBAE3C,oBAAoB,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBACpE,qBAAM,oBAAoB,CAAC,aAAa,CAAC,EAAA;;wBAApD,QAAQ,GAAG,SAAyC;wBAC1D,sBAAO,QAAQ,EAAC;;;;KACjB;IAEK,0CAAe,GAArB,UAAsB,IAAyB,EAAE,UAAsB,EAAE,UAAkB;;YAoBzF,SAAe,0BAA0B;;;;wBACjC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;wBAEhD,sBAAO,IAAI,OAAO,CAAmB,UAAC,OAAO,EAAE,MAAM;gCACnD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,QAAoC;oCACtD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oCACnD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oCACnC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,UAAC,SAAS;wCACpD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oCACjC,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;oCAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oCAC7B,OAAO,CAAC,cAAc,CAAC,CAAC;gCAC1B,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;;;;;wBAzCK,aAAa,GAAG,IAAI,uDAA0B,EAAE,CAAC;wBACvD,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;wBACjD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAGtB,cAAc,GAAG,IAAI,wCAAmB,EAAE,CAAC;wBACjD,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;wBAChD,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAE7B,aAAa,GAAG,IAAA,0BAAmB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;wBAClE,cAAc,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;wBAE/C,aAAa,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;wBAEhD,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBAExB,cAAc,GAAqB,EAAE,CAAC;wBA0BrC,qBAAM,0BAA0B,EAAE,EAAA;4BAAzC,sBAAO,SAAkC,EAAC;;;;KAC3C;IACH,uBAAC;AAAD,CAAC,AA5ED,IA4EC;AAEQ,4CAAgB"}
@@ -0,0 +1,99 @@
1
+ import * as grpc from '@grpc/grpc-js';
2
+ import { promisify } from 'util';
3
+
4
+ // Models
5
+ import { PortfolioProto } from '../../../fintekkers/models/portfolio/portfolio_pb';
6
+ import { createFieldMapEntry } from '../../models/utils/util';
7
+ import { LocalTimestampProto } from '../../../fintekkers/models/util/local_timestamp_pb';
8
+ import { SummaryProto } from '../../../fintekkers/requests/util/errors/summary_pb';
9
+
10
+ // Model Utils
11
+ import { PositionFilterProto } from '../../../fintekkers/models/position/position_filter_pb';
12
+ import { FieldProto } from '../../../fintekkers/models/position/field_pb';
13
+
14
+ // Requests & Services
15
+ import { PortfolioClient } from '../../../fintekkers/services/portfolio-service/portfolio_service_grpc_pb';
16
+ import { QueryPortfolioRequestProto } from '../../../fintekkers/requests/portfolio/query_portfolio_request_pb';
17
+ import { QueryPortfolioResponseProto } from '../../../fintekkers/requests/portfolio/query_portfolio_response_pb';
18
+ import { CreatePortfolioRequestProto } from '../../../fintekkers/requests/portfolio/create_portfolio_request_pb';
19
+ import { CreatePortfolioResponseProto } from '../../../fintekkers/requests/portfolio/create_portfolio_response_pb';
20
+
21
+ class PortfolioService {
22
+ private client: PortfolioClient;
23
+
24
+ constructor() {
25
+ // this.client = new PortfolioClient('api.fintekkers.org:8082', grpc.credentials.createSsl());
26
+ this.client = new PortfolioClient('localhost:8082', grpc.credentials.createInsecure());
27
+ }
28
+
29
+ async validateCreatePortfolio(portfolio: PortfolioProto): Promise<SummaryProto> {
30
+ const createRequest = new CreatePortfolioRequestProto();
31
+ createRequest.setObjectClass('PortfolioRequest');
32
+ createRequest.setVersion('0.0.1');
33
+ createRequest.setCreatePortfolioInput(portfolio);
34
+
35
+ const validateCreateOrUpdateAsync = promisify(this.client.validateCreateOrUpdate.bind(this.client));
36
+ const response = await validateCreateOrUpdateAsync(createRequest);
37
+ return response;
38
+ }
39
+
40
+ async createPortfolio(portfolio: PortfolioProto): Promise<CreatePortfolioResponseProto> {
41
+ const createRequest = new CreatePortfolioRequestProto();
42
+ createRequest.setObjectClass('PortfolioRequest');
43
+ createRequest.setVersion('0.0.1');
44
+ createRequest.setCreatePortfolioInput(portfolio);
45
+
46
+ const createPortfolioAsync = promisify(this.client.createOrUpdate.bind(this.client));
47
+ const response = await createPortfolioAsync(createRequest);
48
+ return response;
49
+ }
50
+
51
+ async searchPortfolio(asOf: LocalTimestampProto, fieldProto: FieldProto, fieldValue: string): Promise<PortfolioProto[]> {
52
+ const searchRequest = new QueryPortfolioRequestProto();
53
+ searchRequest.setObjectClass('PortfolioRequest');
54
+ searchRequest.setVersion('0.0.1');
55
+ searchRequest.setAsOf(asOf);
56
+
57
+ // Need to improve validation logic, uncommenting this code will cause an error of 2:UNKNOWN
58
+ const positionFilter = new PositionFilterProto();
59
+ positionFilter.setObjectClass('PositionFilter');
60
+ positionFilter.setVersion('0.0.1');
61
+
62
+ const fieldMapEntry = createFieldMapEntry(fieldProto, fieldValue);
63
+ positionFilter.setFiltersList([fieldMapEntry]);
64
+
65
+ searchRequest.setSearchPortfolioInput(positionFilter);
66
+
67
+ const tmpClient = this.client;
68
+
69
+ const listPortfolios: PortfolioProto[] = [];
70
+
71
+ async function processStreamSynchronously(): Promise<PortfolioProto[]> {
72
+ const stream2 = tmpClient.search(searchRequest);
73
+
74
+ return new Promise<PortfolioProto[]>((resolve, reject) => {
75
+ stream2.on('data', (response:QueryPortfolioResponseProto) => {
76
+ console.log('Result of the portfolio search call');
77
+ console.log('Response:', response);
78
+ response.getPortfolioResponseList().forEach((portfolio) => {
79
+ listPortfolios.push(portfolio);
80
+ });
81
+ });
82
+
83
+ stream2.on('end', () => {
84
+ console.log('Stream ended.');
85
+ resolve(listPortfolios);
86
+ });
87
+
88
+ stream2.on('error', (err) => {
89
+ console.error('Error in the stream:', err);
90
+ reject(err);
91
+ });
92
+ });
93
+ }
94
+
95
+ return await processStreamSynchronously();
96
+ }
97
+ }
98
+
99
+ export { PortfolioService };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PositionService = void 0;
40
+ var grpc = require("@grpc/grpc-js");
41
+ // Requests & Services
42
+ var position_service_grpc_pb_1 = require("../../../fintekkers/services/position-service/position_service_grpc_pb");
43
+ var PositionService = /** @class */ (function () {
44
+ function PositionService() {
45
+ // this.client = new PositionClient('api.fintekkers.org:8082', grpc.credentials.createSsl());
46
+ this.client = new position_service_grpc_pb_1.PositionClient('localhost:8082', grpc.credentials.createInsecure());
47
+ }
48
+ PositionService.prototype.search = function (request) {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ function processStreamSynchronously() {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var stream2;
53
+ return __generator(this, function (_a) {
54
+ stream2 = tmpClient.search(request);
55
+ return [2 /*return*/, new Promise(function (resolve, reject) {
56
+ stream2.on('data', function (response) {
57
+ console.log('Result of the position search call');
58
+ console.log('Response:', response);
59
+ response.getPositionsList().forEach(function (position) {
60
+ listPositions.push(position);
61
+ });
62
+ });
63
+ stream2.on('end', function () {
64
+ console.log('Stream ended.');
65
+ resolve(listPositions);
66
+ });
67
+ stream2.on('error', function (err) {
68
+ console.error('Error in the stream:', err);
69
+ reject(err);
70
+ });
71
+ })];
72
+ });
73
+ });
74
+ }
75
+ var tmpClient, listPositions;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0:
79
+ tmpClient = this.client;
80
+ listPositions = [];
81
+ return [4 /*yield*/, processStreamSynchronously()];
82
+ case 1: return [2 /*return*/, _a.sent()];
83
+ }
84
+ });
85
+ });
86
+ };
87
+ return PositionService;
88
+ }());
89
+ exports.PositionService = PositionService;
90
+ //# sourceMappingURL=PositionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionService.js","sourceRoot":"","sources":["PositionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAsC;AAgBtC,sBAAsB;AACtB,mHAAwG;AAUxG;IAGE;QACE,6FAA6F;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACxF,CAAC;IAEK,gCAAM,GAAZ,UAAa,OAAiC;;YAI5C,SAAe,0BAA0B;;;;wBACjC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAE1C,sBAAO,IAAI,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;gCAClD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,QAAmC;oCACrD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;oCAClD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oCACnC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,UAAC,QAAQ;wCAC3C,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCAC/B,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;oCAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oCAC7B,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,GAAoB,EAAE,CAAC;wBA0BnC,qBAAM,0BAA0B,EAAE,EAAA;4BAAzC,sBAAO,SAAkC,EAAC;;;;KAC3C;IACH,sBAAC;AAAD,CAAC,AAtCD,IAsCC;AAEQ,0CAAe"}
@@ -0,0 +1,68 @@
1
+ import * as grpc from '@grpc/grpc-js';
2
+ import { promisify } from 'util';
3
+
4
+ // Models
5
+ import { PortfolioProto } from '../../../fintekkers/models/portfolio/portfolio_pb';
6
+ import { createFieldMapEntry } from '../../models/utils/util';
7
+ import { LocalTimestampProto } from '../../../fintekkers/models/util/local_timestamp_pb';
8
+ import { SummaryProto } from '../../../fintekkers/requests/util/errors/summary_pb';
9
+
10
+ import { ZonedDateTime } from '../../../wrappers/models/utils/datetime';
11
+ import { packStringIntoAny } from '../../../wrappers/models/utils/util';
12
+
13
+ // Model Utils
14
+ import { PositionFilterProto } from '../../../fintekkers/models/position/position_filter_pb';
15
+ import { FieldProto } from '../../../fintekkers/models/position/field_pb';
16
+
17
+ // Requests & Services
18
+ import { PositionClient } from '../../../fintekkers/services/position-service/position_service_grpc_pb';
19
+ import { QueryPositionRequestProto } from '../../../fintekkers/requests/position/query_position_request_pb';
20
+ import { QueryPositionResponseProto } from '../../../fintekkers/requests/position/query_position_response_pb';
21
+
22
+ import { Any } from "google-protobuf/google/protobuf/any_pb";
23
+ import { IdentifierProto } from '../../../fintekkers/models/security/identifier/identifier_pb';
24
+ import { FieldMapEntry } from '../../../fintekkers/models/position/position_util_pb';
25
+ import { PositionProto, PositionViewProto } from '../../../fintekkers/models/position/position_pb';
26
+
27
+
28
+ class PositionService {
29
+ private client: PositionClient;
30
+
31
+ constructor() {
32
+ // this.client = new PositionClient('api.fintekkers.org:8082', grpc.credentials.createSsl());
33
+ this.client = new PositionClient('localhost:8082', grpc.credentials.createInsecure());
34
+ }
35
+
36
+ async search(request:QueryPositionRequestProto) {
37
+ const tmpClient = this.client;
38
+ const listPositions: PositionProto[] = [];
39
+
40
+ async function processStreamSynchronously(): Promise<PositionProto[]> {
41
+ const stream2 = tmpClient.search(request);
42
+
43
+ return new Promise<PositionProto[]>((resolve, reject) => {
44
+ stream2.on('data', (response:QueryPositionResponseProto) => {
45
+ console.log('Result of the position search call');
46
+ console.log('Response:', response);
47
+ response.getPositionsList().forEach((position) => {
48
+ listPositions.push(position);
49
+ });
50
+ });
51
+
52
+ stream2.on('end', () => {
53
+ console.log('Stream ended.');
54
+ resolve(listPositions);
55
+ });
56
+
57
+ stream2.on('error', (err) => {
58
+ console.error('Error in the stream:', err);
59
+ reject(err);
60
+ });
61
+ });
62
+ }
63
+
64
+ return await processStreamSynchronously();
65
+ }
66
+ }
67
+
68
+ export { PositionService };