tm1npm 1.0.0

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 (451) hide show
  1. package/.env.example +16 -0
  2. package/.eslintrc.js +28 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +24 -0
  6. package/.github/workflows/publish-npm.yml +53 -0
  7. package/.github/workflows/test-on-tag.yml +172 -0
  8. package/DEVELOPMENT_GUIDE.md +587 -0
  9. package/LICENSE +21 -0
  10. package/README.md +580 -0
  11. package/jest.ci.config.js +83 -0
  12. package/jest.config.js +68 -0
  13. package/lib/exceptions/TM1Exception.d.ts +17 -0
  14. package/lib/exceptions/TM1Exception.d.ts.map +1 -0
  15. package/lib/exceptions/TM1Exception.js +36 -0
  16. package/lib/exceptions/TM1RestException.d.ts +10 -0
  17. package/lib/exceptions/TM1RestException.d.ts.map +1 -0
  18. package/lib/exceptions/TM1RestException.js +17 -0
  19. package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
  20. package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
  21. package/lib/exceptions/TM1TimeoutException.js +16 -0
  22. package/lib/index.d.ts +41 -0
  23. package/lib/index.d.ts.map +1 -0
  24. package/lib/index.js +132 -0
  25. package/lib/objects/Annotation.d.ts +36 -0
  26. package/lib/objects/Annotation.d.ts.map +1 -0
  27. package/lib/objects/Annotation.js +134 -0
  28. package/lib/objects/Application.d.ts +67 -0
  29. package/lib/objects/Application.d.ts.map +1 -0
  30. package/lib/objects/Application.js +125 -0
  31. package/lib/objects/Axis.d.ts +36 -0
  32. package/lib/objects/Axis.d.ts.map +1 -0
  33. package/lib/objects/Axis.js +103 -0
  34. package/lib/objects/Chore.d.ts +43 -0
  35. package/lib/objects/Chore.d.ts.map +1 -0
  36. package/lib/objects/Chore.js +129 -0
  37. package/lib/objects/ChoreFrequency.d.ts +23 -0
  38. package/lib/objects/ChoreFrequency.d.ts.map +1 -0
  39. package/lib/objects/ChoreFrequency.js +61 -0
  40. package/lib/objects/ChoreStartTime.d.ts +15 -0
  41. package/lib/objects/ChoreStartTime.d.ts.map +1 -0
  42. package/lib/objects/ChoreStartTime.js +85 -0
  43. package/lib/objects/ChoreTask.d.ts +28 -0
  44. package/lib/objects/ChoreTask.d.ts.map +1 -0
  45. package/lib/objects/ChoreTask.js +66 -0
  46. package/lib/objects/Cube.d.ts +26 -0
  47. package/lib/objects/Cube.d.ts.map +1 -0
  48. package/lib/objects/Cube.js +109 -0
  49. package/lib/objects/Dimension.d.ts +26 -0
  50. package/lib/objects/Dimension.d.ts.map +1 -0
  51. package/lib/objects/Dimension.js +86 -0
  52. package/lib/objects/Element.d.ts +35 -0
  53. package/lib/objects/Element.d.ts.map +1 -0
  54. package/lib/objects/Element.js +115 -0
  55. package/lib/objects/ElementAttribute.d.ts +28 -0
  56. package/lib/objects/ElementAttribute.d.ts.map +1 -0
  57. package/lib/objects/ElementAttribute.js +97 -0
  58. package/lib/objects/Git.d.ts +21 -0
  59. package/lib/objects/Git.d.ts.map +1 -0
  60. package/lib/objects/Git.js +49 -0
  61. package/lib/objects/GitCommit.d.ts +12 -0
  62. package/lib/objects/GitCommit.d.ts.map +1 -0
  63. package/lib/objects/GitCommit.js +26 -0
  64. package/lib/objects/GitPlan.d.ts +35 -0
  65. package/lib/objects/GitPlan.d.ts.map +1 -0
  66. package/lib/objects/GitPlan.js +78 -0
  67. package/lib/objects/GitRemote.d.ts +12 -0
  68. package/lib/objects/GitRemote.d.ts.map +1 -0
  69. package/lib/objects/GitRemote.js +26 -0
  70. package/lib/objects/Hierarchy.d.ts +47 -0
  71. package/lib/objects/Hierarchy.d.ts.map +1 -0
  72. package/lib/objects/Hierarchy.js +165 -0
  73. package/lib/objects/MDXView.d.ts +19 -0
  74. package/lib/objects/MDXView.d.ts.map +1 -0
  75. package/lib/objects/MDXView.js +67 -0
  76. package/lib/objects/NativeView.d.ts +39 -0
  77. package/lib/objects/NativeView.d.ts.map +1 -0
  78. package/lib/objects/NativeView.js +209 -0
  79. package/lib/objects/Process.d.ts +70 -0
  80. package/lib/objects/Process.d.ts.map +1 -0
  81. package/lib/objects/Process.js +210 -0
  82. package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
  83. package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
  84. package/lib/objects/ProcessDebugBreakpoint.js +168 -0
  85. package/lib/objects/ProcessParameter.d.ts +23 -0
  86. package/lib/objects/ProcessParameter.d.ts.map +1 -0
  87. package/lib/objects/ProcessParameter.js +55 -0
  88. package/lib/objects/ProcessVariable.d.ts +26 -0
  89. package/lib/objects/ProcessVariable.d.ts.map +1 -0
  90. package/lib/objects/ProcessVariable.js +63 -0
  91. package/lib/objects/Rules.d.ts +30 -0
  92. package/lib/objects/Rules.d.ts.map +1 -0
  93. package/lib/objects/Rules.js +103 -0
  94. package/lib/objects/Sandbox.d.ts +21 -0
  95. package/lib/objects/Sandbox.d.ts.map +1 -0
  96. package/lib/objects/Sandbox.js +64 -0
  97. package/lib/objects/Server.d.ts +27 -0
  98. package/lib/objects/Server.d.ts.map +1 -0
  99. package/lib/objects/Server.js +26 -0
  100. package/lib/objects/Subset.d.ts +44 -0
  101. package/lib/objects/Subset.d.ts.map +1 -0
  102. package/lib/objects/Subset.js +222 -0
  103. package/lib/objects/TM1Object.d.ts +8 -0
  104. package/lib/objects/TM1Object.d.ts.map +1 -0
  105. package/lib/objects/TM1Object.js +17 -0
  106. package/lib/objects/TM1Project.d.ts +74 -0
  107. package/lib/objects/TM1Project.d.ts.map +1 -0
  108. package/lib/objects/TM1Project.js +409 -0
  109. package/lib/objects/User.d.ts +42 -0
  110. package/lib/objects/User.d.ts.map +1 -0
  111. package/lib/objects/User.js +157 -0
  112. package/lib/objects/View.d.ts +19 -0
  113. package/lib/objects/View.d.ts.map +1 -0
  114. package/lib/objects/View.js +33 -0
  115. package/lib/objects/index.d.ts +30 -0
  116. package/lib/objects/index.d.ts.map +1 -0
  117. package/lib/objects/index.js +68 -0
  118. package/lib/services/AnnotationService.d.ts +17 -0
  119. package/lib/services/AnnotationService.d.ts.map +1 -0
  120. package/lib/services/AnnotationService.js +91 -0
  121. package/lib/services/ApplicationService.d.ts +21 -0
  122. package/lib/services/ApplicationService.d.ts.map +1 -0
  123. package/lib/services/ApplicationService.js +227 -0
  124. package/lib/services/AuditLogService.d.ts +15 -0
  125. package/lib/services/AuditLogService.d.ts.map +1 -0
  126. package/lib/services/AuditLogService.js +153 -0
  127. package/lib/services/CellService.d.ts +191 -0
  128. package/lib/services/CellService.d.ts.map +1 -0
  129. package/lib/services/CellService.js +597 -0
  130. package/lib/services/ChoreService.d.ts +24 -0
  131. package/lib/services/ChoreService.d.ts.map +1 -0
  132. package/lib/services/ChoreService.js +219 -0
  133. package/lib/services/ConfigurationService.d.ts +18 -0
  134. package/lib/services/ConfigurationService.d.ts.map +1 -0
  135. package/lib/services/ConfigurationService.js +60 -0
  136. package/lib/services/CubeService.d.ts +43 -0
  137. package/lib/services/CubeService.d.ts.map +1 -0
  138. package/lib/services/CubeService.js +296 -0
  139. package/lib/services/DimensionService.d.ts +21 -0
  140. package/lib/services/DimensionService.d.ts.map +1 -0
  141. package/lib/services/DimensionService.js +146 -0
  142. package/lib/services/ElementService.d.ts +132 -0
  143. package/lib/services/ElementService.d.ts.map +1 -0
  144. package/lib/services/ElementService.js +579 -0
  145. package/lib/services/FileService.d.ts +14 -0
  146. package/lib/services/FileService.d.ts.map +1 -0
  147. package/lib/services/FileService.js +65 -0
  148. package/lib/services/GitService.d.ts +23 -0
  149. package/lib/services/GitService.d.ts.map +1 -0
  150. package/lib/services/GitService.js +225 -0
  151. package/lib/services/HierarchyService.d.ts +32 -0
  152. package/lib/services/HierarchyService.d.ts.map +1 -0
  153. package/lib/services/HierarchyService.js +235 -0
  154. package/lib/services/JobService.d.ts +13 -0
  155. package/lib/services/JobService.d.ts.map +1 -0
  156. package/lib/services/JobService.js +83 -0
  157. package/lib/services/LoggerService.d.ts +16 -0
  158. package/lib/services/LoggerService.d.ts.map +1 -0
  159. package/lib/services/LoggerService.js +101 -0
  160. package/lib/services/ManageService.d.ts +47 -0
  161. package/lib/services/ManageService.d.ts.map +1 -0
  162. package/lib/services/ManageService.js +221 -0
  163. package/lib/services/MessageLogService.d.ts +13 -0
  164. package/lib/services/MessageLogService.d.ts.map +1 -0
  165. package/lib/services/MessageLogService.js +175 -0
  166. package/lib/services/MonitoringService.d.ts +29 -0
  167. package/lib/services/MonitoringService.d.ts.map +1 -0
  168. package/lib/services/MonitoringService.js +86 -0
  169. package/lib/services/ObjectService.d.ts +8 -0
  170. package/lib/services/ObjectService.d.ts.map +1 -0
  171. package/lib/services/ObjectService.js +20 -0
  172. package/lib/services/PowerBiService.d.ts +13 -0
  173. package/lib/services/PowerBiService.d.ts.map +1 -0
  174. package/lib/services/PowerBiService.js +52 -0
  175. package/lib/services/ProcessService.d.ts +57 -0
  176. package/lib/services/ProcessService.d.ts.map +1 -0
  177. package/lib/services/ProcessService.js +499 -0
  178. package/lib/services/RestService.d.ts +68 -0
  179. package/lib/services/RestService.d.ts.map +1 -0
  180. package/lib/services/RestService.js +166 -0
  181. package/lib/services/SandboxService.d.ts +28 -0
  182. package/lib/services/SandboxService.d.ts.map +1 -0
  183. package/lib/services/SandboxService.js +197 -0
  184. package/lib/services/SecurityService.d.ts +33 -0
  185. package/lib/services/SecurityService.d.ts.map +1 -0
  186. package/lib/services/SecurityService.js +249 -0
  187. package/lib/services/ServerService.d.ts +55 -0
  188. package/lib/services/ServerService.d.ts.map +1 -0
  189. package/lib/services/ServerService.js +247 -0
  190. package/lib/services/SessionService.d.ts +15 -0
  191. package/lib/services/SessionService.d.ts.map +1 -0
  192. package/lib/services/SessionService.js +68 -0
  193. package/lib/services/SubsetService.d.ts +13 -0
  194. package/lib/services/SubsetService.d.ts.map +1 -0
  195. package/lib/services/SubsetService.js +46 -0
  196. package/lib/services/TM1Service.d.ts +39 -0
  197. package/lib/services/TM1Service.d.ts.map +1 -0
  198. package/lib/services/TM1Service.js +94 -0
  199. package/lib/services/ThreadService.d.ts +15 -0
  200. package/lib/services/ThreadService.d.ts.map +1 -0
  201. package/lib/services/ThreadService.js +104 -0
  202. package/lib/services/TransactionLogService.d.ts +11 -0
  203. package/lib/services/TransactionLogService.d.ts.map +1 -0
  204. package/lib/services/TransactionLogService.js +124 -0
  205. package/lib/services/UserService.d.ts +14 -0
  206. package/lib/services/UserService.d.ts.map +1 -0
  207. package/lib/services/UserService.js +103 -0
  208. package/lib/services/ViewService.d.ts +30 -0
  209. package/lib/services/ViewService.d.ts.map +1 -0
  210. package/lib/services/ViewService.js +331 -0
  211. package/lib/services/index.d.ts +26 -0
  212. package/lib/services/index.d.ts.map +1 -0
  213. package/lib/services/index.js +56 -0
  214. package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
  215. package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
  216. package/lib/tests/100PercentParityCheck.test.js +143 -0
  217. package/lib/tests/basic.test.d.ts +6 -0
  218. package/lib/tests/basic.test.d.ts.map +1 -0
  219. package/lib/tests/basic.test.js +52 -0
  220. package/lib/tests/cellService.test.d.ts +6 -0
  221. package/lib/tests/cellService.test.d.ts.map +1 -0
  222. package/lib/tests/cellService.test.js +311 -0
  223. package/lib/tests/ciSetup.d.ts +6 -0
  224. package/lib/tests/ciSetup.d.ts.map +1 -0
  225. package/lib/tests/ciSetup.js +23 -0
  226. package/lib/tests/comprehensive.service.test.d.ts +6 -0
  227. package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
  228. package/lib/tests/comprehensive.service.test.js +507 -0
  229. package/lib/tests/connection.test.d.ts +6 -0
  230. package/lib/tests/connection.test.d.ts.map +1 -0
  231. package/lib/tests/connection.test.js +89 -0
  232. package/lib/tests/cubeService.test.d.ts +6 -0
  233. package/lib/tests/cubeService.test.d.ts.map +1 -0
  234. package/lib/tests/cubeService.test.js +368 -0
  235. package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
  236. package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
  237. package/lib/tests/dimensionService.comprehensive.test.js +614 -0
  238. package/lib/tests/dimensionService.test.d.ts +6 -0
  239. package/lib/tests/dimensionService.test.d.ts.map +1 -0
  240. package/lib/tests/dimensionService.test.js +293 -0
  241. package/lib/tests/edgeCases.test.d.ts +6 -0
  242. package/lib/tests/edgeCases.test.d.ts.map +1 -0
  243. package/lib/tests/edgeCases.test.js +301 -0
  244. package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
  245. package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
  246. package/lib/tests/elementService.comprehensive.test.js +846 -0
  247. package/lib/tests/elementService.test.d.ts +6 -0
  248. package/lib/tests/elementService.test.d.ts.map +1 -0
  249. package/lib/tests/elementService.test.js +350 -0
  250. package/lib/tests/enhancedCellService.test.d.ts +2 -0
  251. package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
  252. package/lib/tests/enhancedCellService.test.js +152 -0
  253. package/lib/tests/enhancedCubeService.test.d.ts +2 -0
  254. package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
  255. package/lib/tests/enhancedCubeService.test.js +246 -0
  256. package/lib/tests/enhancedElementService.test.d.ts +2 -0
  257. package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
  258. package/lib/tests/enhancedElementService.test.js +199 -0
  259. package/lib/tests/enhancedViewService.test.d.ts +2 -0
  260. package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
  261. package/lib/tests/enhancedViewService.test.js +260 -0
  262. package/lib/tests/errorHandling.test.d.ts +6 -0
  263. package/lib/tests/errorHandling.test.d.ts.map +1 -0
  264. package/lib/tests/errorHandling.test.js +227 -0
  265. package/lib/tests/exceptions.test.d.ts +7 -0
  266. package/lib/tests/exceptions.test.d.ts.map +1 -0
  267. package/lib/tests/exceptions.test.js +257 -0
  268. package/lib/tests/hierarchyService.test.d.ts +6 -0
  269. package/lib/tests/hierarchyService.test.d.ts.map +1 -0
  270. package/lib/tests/hierarchyService.test.js +294 -0
  271. package/lib/tests/index.test.d.ts +6 -0
  272. package/lib/tests/index.test.d.ts.map +1 -0
  273. package/lib/tests/index.test.js +346 -0
  274. package/lib/tests/integration.test.d.ts +6 -0
  275. package/lib/tests/integration.test.d.ts.map +1 -0
  276. package/lib/tests/integration.test.js +302 -0
  277. package/lib/tests/integrationTests.test.d.ts +2 -0
  278. package/lib/tests/integrationTests.test.d.ts.map +1 -0
  279. package/lib/tests/integrationTests.test.js +252 -0
  280. package/lib/tests/mdx.advanced.test.d.ts +6 -0
  281. package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
  282. package/lib/tests/mdx.advanced.test.js +437 -0
  283. package/lib/tests/objects.improved.test.d.ts +7 -0
  284. package/lib/tests/objects.improved.test.d.ts.map +1 -0
  285. package/lib/tests/objects.improved.test.js +302 -0
  286. package/lib/tests/performance.test.d.ts +6 -0
  287. package/lib/tests/performance.test.d.ts.map +1 -0
  288. package/lib/tests/performance.test.js +264 -0
  289. package/lib/tests/processService.comprehensive.test.d.ts +7 -0
  290. package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
  291. package/lib/tests/processService.comprehensive.test.js +656 -0
  292. package/lib/tests/processService.test.d.ts +6 -0
  293. package/lib/tests/processService.test.d.ts.map +1 -0
  294. package/lib/tests/processService.test.js +322 -0
  295. package/lib/tests/restService.test.d.ts +6 -0
  296. package/lib/tests/restService.test.d.ts.map +1 -0
  297. package/lib/tests/restService.test.js +177 -0
  298. package/lib/tests/security.advanced.test.d.ts +6 -0
  299. package/lib/tests/security.advanced.test.d.ts.map +1 -0
  300. package/lib/tests/security.advanced.test.js +407 -0
  301. package/lib/tests/security.test.d.ts +6 -0
  302. package/lib/tests/security.test.d.ts.map +1 -0
  303. package/lib/tests/security.test.js +204 -0
  304. package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
  305. package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
  306. package/lib/tests/securityService.comprehensive.test.js +457 -0
  307. package/lib/tests/setup.d.ts +4 -0
  308. package/lib/tests/setup.d.ts.map +1 -0
  309. package/lib/tests/setup.js +40 -0
  310. package/lib/tests/simpleCoverage.test.d.ts +6 -0
  311. package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
  312. package/lib/tests/simpleCoverage.test.js +236 -0
  313. package/lib/tests/stress.performance.test.d.ts +6 -0
  314. package/lib/tests/stress.performance.test.d.ts.map +1 -0
  315. package/lib/tests/stress.performance.test.js +423 -0
  316. package/lib/tests/subsetService.test.d.ts +6 -0
  317. package/lib/tests/subsetService.test.d.ts.map +1 -0
  318. package/lib/tests/subsetService.test.js +271 -0
  319. package/lib/tests/testConfig.d.ts +18 -0
  320. package/lib/tests/testConfig.d.ts.map +1 -0
  321. package/lib/tests/testConfig.js +38 -0
  322. package/lib/tests/testUtils.d.ts +9 -0
  323. package/lib/tests/testUtils.d.ts.map +1 -0
  324. package/lib/tests/testUtils.js +100 -0
  325. package/lib/tests/tm1Service.test.d.ts +7 -0
  326. package/lib/tests/tm1Service.test.d.ts.map +1 -0
  327. package/lib/tests/tm1Service.test.js +290 -0
  328. package/lib/tests/viewService.test.d.ts +6 -0
  329. package/lib/tests/viewService.test.d.ts.map +1 -0
  330. package/lib/tests/viewService.test.js +240 -0
  331. package/lib/utils/Utils.d.ts +90 -0
  332. package/lib/utils/Utils.d.ts.map +1 -0
  333. package/lib/utils/Utils.js +379 -0
  334. package/package.json +81 -0
  335. package/run-all-tests.js +296 -0
  336. package/src/exceptions/TM1Exception.ts +38 -0
  337. package/src/exceptions/TM1RestException.ts +17 -0
  338. package/src/exceptions/TM1TimeoutException.ts +15 -0
  339. package/src/index.ts +94 -0
  340. package/src/objects/Annotation.ts +194 -0
  341. package/src/objects/Application.ts +146 -0
  342. package/src/objects/Axis.ts +149 -0
  343. package/src/objects/Chore.ts +174 -0
  344. package/src/objects/ChoreFrequency.ts +83 -0
  345. package/src/objects/ChoreStartTime.ts +111 -0
  346. package/src/objects/ChoreTask.ts +92 -0
  347. package/src/objects/Cube.ts +125 -0
  348. package/src/objects/Dimension.ts +107 -0
  349. package/src/objects/Element.ts +153 -0
  350. package/src/objects/ElementAttribute.ts +115 -0
  351. package/src/objects/Git.ts +86 -0
  352. package/src/objects/GitCommit.ts +31 -0
  353. package/src/objects/GitPlan.ts +121 -0
  354. package/src/objects/GitRemote.ts +31 -0
  355. package/src/objects/Hierarchy.ts +229 -0
  356. package/src/objects/MDXView.ts +91 -0
  357. package/src/objects/NativeView.ts +268 -0
  358. package/src/objects/Process.ts +320 -0
  359. package/src/objects/ProcessDebugBreakpoint.ts +239 -0
  360. package/src/objects/ProcessParameter.ts +76 -0
  361. package/src/objects/ProcessVariable.ts +89 -0
  362. package/src/objects/Rules.ts +117 -0
  363. package/src/objects/Sandbox.ts +90 -0
  364. package/src/objects/Server.ts +45 -0
  365. package/src/objects/Subset.ts +323 -0
  366. package/src/objects/TM1Object.ts +17 -0
  367. package/src/objects/TM1Project.ts +587 -0
  368. package/src/objects/User.ts +198 -0
  369. package/src/objects/View.ts +43 -0
  370. package/src/objects/index.ts +36 -0
  371. package/src/services/AnnotationService.ts +107 -0
  372. package/src/services/ApplicationService.ts +279 -0
  373. package/src/services/AuditLogService.ts +172 -0
  374. package/src/services/CellService.ts +814 -0
  375. package/src/services/ChoreService.ts +219 -0
  376. package/src/services/ConfigurationService.ts +69 -0
  377. package/src/services/CubeService.ts +338 -0
  378. package/src/services/DimensionService.ts +168 -0
  379. package/src/services/ElementService.ts +966 -0
  380. package/src/services/FileService.ts +67 -0
  381. package/src/services/GitService.ts +324 -0
  382. package/src/services/HierarchyService.ts +284 -0
  383. package/src/services/JobService.ts +59 -0
  384. package/src/services/LoggerService.ts +118 -0
  385. package/src/services/ManageService.ts +322 -0
  386. package/src/services/MessageLogService.ts +211 -0
  387. package/src/services/MonitoringService.ts +105 -0
  388. package/src/services/ObjectService.ts +21 -0
  389. package/src/services/PowerBiService.ts +85 -0
  390. package/src/services/ProcessService.ts +589 -0
  391. package/src/services/RestService.ts +224 -0
  392. package/src/services/SandboxService.ts +217 -0
  393. package/src/services/SecurityService.ts +284 -0
  394. package/src/services/ServerService.ts +313 -0
  395. package/src/services/SessionService.ts +81 -0
  396. package/src/services/SubsetService.ts +52 -0
  397. package/src/services/TM1Service.ts +133 -0
  398. package/src/services/ThreadService.ts +83 -0
  399. package/src/services/TransactionLogService.ts +148 -0
  400. package/src/services/UserService.ts +77 -0
  401. package/src/services/ViewService.ts +398 -0
  402. package/src/services/index.ts +28 -0
  403. package/src/tests/100PercentParityCheck.test.ts +166 -0
  404. package/src/tests/basic.test.ts +59 -0
  405. package/src/tests/cellService.test.ts +405 -0
  406. package/src/tests/ciSetup.ts +26 -0
  407. package/src/tests/comprehensive.service.test.ts +653 -0
  408. package/src/tests/config.ini.template +23 -0
  409. package/src/tests/connection.test.ts +90 -0
  410. package/src/tests/cubeService.test.ts +458 -0
  411. package/src/tests/dimensionService.comprehensive.test.ts +786 -0
  412. package/src/tests/dimensionService.test.ts +373 -0
  413. package/src/tests/edgeCases.test.ts +358 -0
  414. package/src/tests/elementService.comprehensive.test.ts +1190 -0
  415. package/src/tests/elementService.test.ts +472 -0
  416. package/src/tests/enhancedCellService.test.ts +237 -0
  417. package/src/tests/enhancedCubeService.test.ts +384 -0
  418. package/src/tests/enhancedElementService.test.ts +301 -0
  419. package/src/tests/enhancedViewService.test.ts +373 -0
  420. package/src/tests/errorHandling.test.ts +264 -0
  421. package/src/tests/exceptions.test.ts +313 -0
  422. package/src/tests/hierarchyService.test.ts +386 -0
  423. package/src/tests/index.test.ts +376 -0
  424. package/src/tests/integration.test.ts +333 -0
  425. package/src/tests/integrationTests.test.ts +302 -0
  426. package/src/tests/mdx.advanced.test.ts +513 -0
  427. package/src/tests/objects.improved.test.ts +385 -0
  428. package/src/tests/performance.test.ts +314 -0
  429. package/src/tests/processService.comprehensive.test.ts +933 -0
  430. package/src/tests/processService.test.ts +409 -0
  431. package/src/tests/restService.test.ts +218 -0
  432. package/src/tests/security.advanced.test.ts +464 -0
  433. package/src/tests/security.test.ts +233 -0
  434. package/src/tests/securityService.comprehensive.test.ts +582 -0
  435. package/src/tests/setup.ts +42 -0
  436. package/src/tests/simpleCoverage.test.ts +287 -0
  437. package/src/tests/stress.performance.test.ts +531 -0
  438. package/src/tests/subsetService.test.ts +350 -0
  439. package/src/tests/testConfig.ts +53 -0
  440. package/src/tests/testUtils.ts +94 -0
  441. package/src/tests/tm1Service.test.ts +361 -0
  442. package/src/tests/viewService.test.ts +324 -0
  443. package/src/utils/Utils.ts +395 -0
  444. package/tests/README.md +57 -0
  445. package/tests/connection/test-connection.ts +86 -0
  446. package/tests/edge-cases/edge-cases-test.ts +244 -0
  447. package/tests/integration/working-test.ts +193 -0
  448. package/tests/performance/performance-test.ts +133 -0
  449. package/tests/run-all-tests.sh +106 -0
  450. package/tests/security/security-test.ts +103 -0
  451. package/tsconfig.json +20 -0
@@ -0,0 +1,92 @@
1
+ import { TM1Object } from './TM1Object';
2
+ import { formatUrl } from '../utils/Utils';
3
+
4
+ export interface ChoreTaskParameter {
5
+ Name: string;
6
+ Value: string;
7
+ }
8
+
9
+ export class ChoreTask extends TM1Object {
10
+ /** Abstraction of a Chore Task
11
+ *
12
+ * A Chore task always conistst of
13
+ * - The step integer ID: it's order in the execution plan.
14
+ * 1 to n, where n is the last Process in the Chore
15
+ * - The name of the process to execute
16
+ * - The parameters for the process
17
+ */
18
+
19
+ private _step: number;
20
+ private _processName: string;
21
+ private _parameters: ChoreTaskParameter[];
22
+
23
+ constructor(step: number, processName: string, parameters: ChoreTaskParameter[]) {
24
+ /**
25
+ * :param step: step in the execution order of the Chores' processes. 1 to n, where n the number of processes
26
+ * :param process_name: name of the process
27
+ * :param parameters: list of dictionaries with 'Name' and 'Value' property:
28
+ * [{
29
+ * 'Name': '..',
30
+ * 'Value': '..'
31
+ * },
32
+ * ...
33
+ * ]
34
+ */
35
+ super();
36
+ this._step = step;
37
+ this._processName = processName;
38
+ this._parameters = parameters;
39
+ }
40
+
41
+ public static fromDict(choreTaskAsDict: Record<string, any>, step?: number): ChoreTask {
42
+ let processName: string;
43
+ if ('Process' in choreTaskAsDict) {
44
+ processName = choreTaskAsDict['Process']['Name'];
45
+ } else {
46
+ // Extract "ProcessName" from "Processes('ProcessName')"
47
+ processName = choreTaskAsDict['Process@odata.bind'].slice(11, -2);
48
+ }
49
+
50
+ return new ChoreTask(
51
+ step !== undefined ? step : parseInt(choreTaskAsDict['Step']),
52
+ processName,
53
+ (choreTaskAsDict['Parameters'] || []).map((p: any) => ({
54
+ Name: p['Name'],
55
+ Value: p['Value']
56
+ }))
57
+ );
58
+ }
59
+
60
+ public get bodyAsDict(): Record<string, any> {
61
+ const bodyAsDict: Record<string, any> = {};
62
+ bodyAsDict['Process@odata.bind'] = formatUrl("Processes('{}')", this._processName);
63
+ bodyAsDict['Parameters'] = this._parameters;
64
+ return bodyAsDict;
65
+ }
66
+
67
+ public get step(): number {
68
+ return this._step;
69
+ }
70
+
71
+ public get processName(): string {
72
+ return this._processName;
73
+ }
74
+
75
+ public get parameters(): ChoreTaskParameter[] {
76
+ return this._parameters;
77
+ }
78
+
79
+ public get body(): string {
80
+ return JSON.stringify(this.bodyAsDict);
81
+ }
82
+
83
+ public equals(other: ChoreTask): boolean {
84
+ return this.processName === other.processName &&
85
+ JSON.stringify(this.parameters) === JSON.stringify(other.parameters);
86
+ }
87
+
88
+ public notEquals(other: ChoreTask): boolean {
89
+ return this.processName !== other.processName ||
90
+ JSON.stringify(this._parameters) !== JSON.stringify(other.parameters);
91
+ }
92
+ }
@@ -0,0 +1,125 @@
1
+ import { TM1Object } from './TM1Object';
2
+ import { Rules } from './Rules';
3
+
4
+ export class Cube extends TM1Object {
5
+ /** Abstraction of a TM1 Cube
6
+ *
7
+ */
8
+
9
+ private _name: string = '';
10
+ private _dimensions: string[] = [];
11
+ private _rules?: Rules;
12
+
13
+ constructor(name: string, dimensions: Iterable<string>, rules?: string | Rules) {
14
+ /**
15
+ *
16
+ * :param name: name of the Cube
17
+ * :param dimensions: list of (existing) dimension names
18
+ * :param rules: instance of .Objects.Rules
19
+ */
20
+ super();
21
+ this._name = name;
22
+ this.dimensions = Array.from(dimensions);
23
+ this.rules = rules;
24
+ }
25
+
26
+ public get name(): string {
27
+ return this._name;
28
+ }
29
+
30
+ public get dimensions(): string[] {
31
+ return this._dimensions;
32
+ }
33
+
34
+ public set dimensions(value: string[]) {
35
+ this._dimensions = value;
36
+ }
37
+
38
+ public get hasRules(): boolean {
39
+ if (this._rules) {
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+
45
+ public get rules(): Rules | undefined {
46
+ return this._rules;
47
+ }
48
+
49
+ public set rules(value: string | Rules | undefined) {
50
+ if (value === undefined || value === null) {
51
+ this._rules = undefined;
52
+ } else if (typeof value === 'string') {
53
+ this._rules = new Rules(value);
54
+ } else if (value instanceof Rules) {
55
+ this._rules = value;
56
+ } else {
57
+ throw new Error('value must be undefined or of type string or Rules');
58
+ }
59
+ }
60
+
61
+ public get skipcheck(): boolean {
62
+ if (this.hasRules && this.rules) {
63
+ return this.rules.skipcheck;
64
+ }
65
+ return false;
66
+ }
67
+
68
+ public get undefvals(): boolean {
69
+ if (this.hasRules && this.rules) {
70
+ return this.rules.undefvals;
71
+ }
72
+ return false;
73
+ }
74
+
75
+ public get feedstrings(): boolean {
76
+ if (this.hasRules && this.rules) {
77
+ return this.rules.feedstrings;
78
+ }
79
+ return false;
80
+ }
81
+
82
+ public static fromJSON(cubeAsJson: string): Cube {
83
+ /** Alternative constructor
84
+ *
85
+ * :param cube_as_json: user as JSON string
86
+ * :return: cube, an instance of this class
87
+ */
88
+ const cubeAsDict = JSON.parse(cubeAsJson);
89
+ return Cube.fromDict(cubeAsDict);
90
+ }
91
+
92
+ public static fromDict(cubeAsDict: any): Cube {
93
+ /** Alternative constructor
94
+ *
95
+ * :param cube_as_dict: user as dict
96
+ * :return: user, an instance of this class
97
+ */
98
+ return new Cube(
99
+ cubeAsDict.Name,
100
+ cubeAsDict.Dimensions.map((dimension: any) => dimension.Name),
101
+ cubeAsDict.Rules ? new Rules(cubeAsDict.Rules) : undefined
102
+ );
103
+ }
104
+
105
+ public get body(): string {
106
+ return JSON.stringify(this.constructBody());
107
+ }
108
+
109
+ public get bodyAsDict(): any {
110
+ return this.constructBody();
111
+ }
112
+
113
+ private constructBody(): any {
114
+ const body: any = {
115
+ Name: this._name,
116
+ Dimensions: this._dimensions.map(dim => ({ Name: dim }))
117
+ };
118
+
119
+ if (this._rules) {
120
+ body.Rules = this._rules.text;
121
+ }
122
+
123
+ return body;
124
+ }
125
+ }
@@ -0,0 +1,107 @@
1
+ import { TM1Object } from './TM1Object';
2
+ import { Hierarchy } from './Hierarchy';
3
+
4
+ export class Dimension extends TM1Object {
5
+ private _name: string;
6
+ private _hierarchies: Hierarchy[] = [];
7
+ private _attributes: Record<string, any> = {};
8
+
9
+ constructor(name: string, hierarchies?: Hierarchy[]) {
10
+ super();
11
+ this._name = name;
12
+ this._hierarchies = hierarchies ? [...hierarchies] : [];
13
+ this._attributes = { Caption: name };
14
+ }
15
+
16
+ public static fromJSON(dimensionAsJson: string): Dimension {
17
+ const dimensionAsDict = JSON.parse(dimensionAsJson);
18
+ return Dimension.fromDict(dimensionAsDict);
19
+ }
20
+
21
+ public static fromDict(dimensionAsDict: any): Dimension {
22
+ const hierarchies = dimensionAsDict.Hierarchies ?
23
+ dimensionAsDict.Hierarchies.map((h: any) =>
24
+ Hierarchy.fromDict(h, dimensionAsDict.Name)) : [];
25
+
26
+ return new Dimension(dimensionAsDict.Name, hierarchies);
27
+ }
28
+
29
+ public get name(): string {
30
+ return this._name;
31
+ }
32
+
33
+ public set name(value: string) {
34
+ for (const hierarchy of this._hierarchies) {
35
+ hierarchy.dimensionName = value;
36
+ if (hierarchy.name === this._name) {
37
+ hierarchy.name = value;
38
+ }
39
+ }
40
+ this._name = value;
41
+ }
42
+
43
+ public get uniqueName(): string {
44
+ return '[' + this._name + ']';
45
+ }
46
+
47
+ public get hierarchies(): Hierarchy[] {
48
+ return this._hierarchies;
49
+ }
50
+
51
+ public get hierarchyNames(): string[] {
52
+ return this._hierarchies.map(h => h.name);
53
+ }
54
+
55
+ public get defaultHierarchy(): Hierarchy | undefined {
56
+ return this._hierarchies[0];
57
+ }
58
+
59
+ public get body(): string {
60
+ return JSON.stringify(this.constructBody());
61
+ }
62
+
63
+ public get bodyAsDict(): any {
64
+ return this.constructBody();
65
+ }
66
+
67
+ private constructBody(): any {
68
+ return {
69
+ Name: this._name,
70
+ Hierarchies: this._hierarchies.map(h => h.bodyAsDict)
71
+ };
72
+ }
73
+
74
+ public addHierarchy(hierarchy: Hierarchy): void {
75
+ hierarchy.dimensionName = this._name;
76
+ this._hierarchies.push(hierarchy);
77
+ }
78
+
79
+ public removeHierarchy(hierarchyName: string): boolean {
80
+ const index = this._hierarchies.findIndex(h =>
81
+ h.name.toLowerCase() === hierarchyName.toLowerCase());
82
+
83
+ if (index !== -1) {
84
+ this._hierarchies.splice(index, 1);
85
+ return true;
86
+ }
87
+ return false;
88
+ }
89
+
90
+ public getHierarchy(hierarchyName: string): Hierarchy | undefined {
91
+ return this._hierarchies.find(h =>
92
+ h.name.toLowerCase() === hierarchyName.toLowerCase());
93
+ }
94
+
95
+ public hasHierarchy(hierarchyName: string): boolean {
96
+ return this._hierarchies.some(h =>
97
+ h.name.toLowerCase() === hierarchyName.toLowerCase());
98
+ }
99
+
100
+ public *[Symbol.iterator](): Iterator<Hierarchy> {
101
+ yield* this._hierarchies;
102
+ }
103
+
104
+ public get length(): number {
105
+ return this._hierarchies.length;
106
+ }
107
+ }
@@ -0,0 +1,153 @@
1
+ import { TM1Object } from './TM1Object';
2
+
3
+ export enum ElementType {
4
+ NUMERIC = 1,
5
+ STRING = 2,
6
+ CONSOLIDATED = 3
7
+ }
8
+
9
+ export class Element extends TM1Object {
10
+ public static readonly ELEMENT_ATTRIBUTES_PREFIX = "}ElementAttributes_";
11
+
12
+ private _name: string;
13
+ private _uniqueName?: string;
14
+ private _index?: number;
15
+ private _elementType: ElementType;
16
+ private _attributes?: string[];
17
+
18
+ constructor(
19
+ name: string,
20
+ elementType: ElementType | string,
21
+ attributes?: string[],
22
+ uniqueName?: string,
23
+ index?: number
24
+ ) {
25
+ super();
26
+ this._name = name;
27
+ this._uniqueName = uniqueName;
28
+ this._index = index;
29
+ this._elementType = this.parseElementType(elementType);
30
+ this._attributes = attributes;
31
+ }
32
+
33
+ private parseElementType(elementType: ElementType | string): ElementType {
34
+ if (typeof elementType === 'string') {
35
+ const lowerType = elementType.toLowerCase().replace(/\s+/g, '');
36
+ switch (lowerType) {
37
+ case 'numeric':
38
+ return ElementType.NUMERIC;
39
+ case 'string':
40
+ return ElementType.STRING;
41
+ case 'consolidated':
42
+ return ElementType.CONSOLIDATED;
43
+ default:
44
+ throw new Error(`Invalid element type: '${elementType}'`);
45
+ }
46
+ }
47
+ return elementType;
48
+ }
49
+
50
+ public static fromDict(elementAsDict: any): Element {
51
+ return new Element(
52
+ elementAsDict.Name,
53
+ elementAsDict.Type,
54
+ elementAsDict.Attributes,
55
+ elementAsDict.UniqueName,
56
+ elementAsDict.Index
57
+ );
58
+ }
59
+
60
+ public get name(): string {
61
+ return this._name;
62
+ }
63
+
64
+ public set name(value: string) {
65
+ this._name = value;
66
+ }
67
+
68
+ public get uniqueName(): string | undefined {
69
+ return this._uniqueName;
70
+ }
71
+
72
+ public set uniqueName(value: string | undefined) {
73
+ this._uniqueName = value;
74
+ }
75
+
76
+ public get index(): number | undefined {
77
+ return this._index;
78
+ }
79
+
80
+ public set index(value: number | undefined) {
81
+ this._index = value;
82
+ }
83
+
84
+ public get elementType(): ElementType {
85
+ return this._elementType;
86
+ }
87
+
88
+ public set elementType(value: ElementType | string) {
89
+ this._elementType = this.parseElementType(value);
90
+ }
91
+
92
+ public get attributes(): string[] | undefined {
93
+ return this._attributes;
94
+ }
95
+
96
+ public set attributes(value: string[] | undefined) {
97
+ this._attributes = value;
98
+ }
99
+
100
+ public get body(): string {
101
+ return JSON.stringify(this.constructBody());
102
+ }
103
+
104
+ public get bodyAsDict(): any {
105
+ return this.constructBody();
106
+ }
107
+
108
+ private constructBody(): any {
109
+ const body: any = {
110
+ Name: this._name,
111
+ Type: this.elementTypeToString(this._elementType)
112
+ };
113
+
114
+ if (this._uniqueName !== undefined) {
115
+ body.UniqueName = this._uniqueName;
116
+ }
117
+
118
+ if (this._index !== undefined) {
119
+ body.Index = this._index;
120
+ }
121
+
122
+ if (this._attributes !== undefined) {
123
+ body.Attributes = this._attributes;
124
+ }
125
+
126
+ return body;
127
+ }
128
+
129
+ private elementTypeToString(elementType: ElementType): string {
130
+ switch (elementType) {
131
+ case ElementType.NUMERIC:
132
+ return 'Numeric';
133
+ case ElementType.STRING:
134
+ return 'String';
135
+ case ElementType.CONSOLIDATED:
136
+ return 'Consolidated';
137
+ default:
138
+ return 'String';
139
+ }
140
+ }
141
+
142
+ public isNumeric(): boolean {
143
+ return this._elementType === ElementType.NUMERIC;
144
+ }
145
+
146
+ public isString(): boolean {
147
+ return this._elementType === ElementType.STRING;
148
+ }
149
+
150
+ public isConsolidated(): boolean {
151
+ return this._elementType === ElementType.CONSOLIDATED;
152
+ }
153
+ }
@@ -0,0 +1,115 @@
1
+ import { TM1Object } from './TM1Object';
2
+
3
+ export enum ElementAttributeType {
4
+ NUMERIC = 1,
5
+ STRING = 2,
6
+ ALIAS = 3
7
+ }
8
+
9
+ export class ElementAttribute extends TM1Object {
10
+ private _name: string;
11
+ private _attributeType: ElementAttributeType;
12
+
13
+ constructor(name: string, attributeType: ElementAttributeType | string) {
14
+ super();
15
+ this._name = name;
16
+ this._attributeType = this.parseAttributeType(attributeType);
17
+ }
18
+
19
+ private parseAttributeType(attributeType: ElementAttributeType | string): ElementAttributeType {
20
+ if (typeof attributeType === 'string') {
21
+ const lowerType = attributeType.toLowerCase().replace(/\s+/g, '');
22
+ switch (lowerType) {
23
+ case 'numeric':
24
+ return ElementAttributeType.NUMERIC;
25
+ case 'string':
26
+ return ElementAttributeType.STRING;
27
+ case 'alias':
28
+ return ElementAttributeType.ALIAS;
29
+ default:
30
+ throw new Error(`Invalid attribute type: '${attributeType}'`);
31
+ }
32
+ }
33
+ return attributeType;
34
+ }
35
+
36
+ public static fromJSON(elementAttributeAsJson: string): ElementAttribute {
37
+ return ElementAttribute.fromDict(JSON.parse(elementAttributeAsJson));
38
+ }
39
+
40
+ public static fromDict(elementAttributeAsDict: any): ElementAttribute {
41
+ return new ElementAttribute(
42
+ elementAttributeAsDict.Name,
43
+ elementAttributeAsDict.Type
44
+ );
45
+ }
46
+
47
+ public get name(): string {
48
+ return this._name;
49
+ }
50
+
51
+ public set name(value: string) {
52
+ this._name = value;
53
+ }
54
+
55
+ public get attributeType(): string {
56
+ return this.attributeTypeToString(this._attributeType);
57
+ }
58
+
59
+ public set attributeType(value: ElementAttributeType | string) {
60
+ this._attributeType = this.parseAttributeType(value);
61
+ }
62
+
63
+ public get attributeTypeEnum(): ElementAttributeType {
64
+ return this._attributeType;
65
+ }
66
+
67
+ public get body(): string {
68
+ return JSON.stringify(this.bodyAsDict);
69
+ }
70
+
71
+ public get bodyAsDict(): any {
72
+ return {
73
+ Name: this._name,
74
+ Type: this.attributeType
75
+ };
76
+ }
77
+
78
+ private attributeTypeToString(attributeType: ElementAttributeType): string {
79
+ switch (attributeType) {
80
+ case ElementAttributeType.NUMERIC:
81
+ return 'Numeric';
82
+ case ElementAttributeType.STRING:
83
+ return 'String';
84
+ case ElementAttributeType.ALIAS:
85
+ return 'Alias';
86
+ default:
87
+ return 'String';
88
+ }
89
+ }
90
+
91
+ public isNumeric(): boolean {
92
+ return this._attributeType === ElementAttributeType.NUMERIC;
93
+ }
94
+
95
+ public isString(): boolean {
96
+ return this._attributeType === ElementAttributeType.STRING;
97
+ }
98
+
99
+ public isAlias(): boolean {
100
+ return this._attributeType === ElementAttributeType.ALIAS;
101
+ }
102
+
103
+ public equals(other: TM1Object): boolean {
104
+ if (other instanceof ElementAttribute) {
105
+ return this._name.toLowerCase().replace(/\s+/g, '') ===
106
+ other._name.toLowerCase().replace(/\s+/g, '');
107
+ }
108
+ return false;
109
+ }
110
+
111
+ public equalsString(other: string): boolean {
112
+ return this._name.toLowerCase().replace(/\s+/g, '') ===
113
+ other.toLowerCase().replace(/\s+/g, '');
114
+ }
115
+ }
@@ -0,0 +1,86 @@
1
+ import { GitCommit } from './GitCommit';
2
+ import { GitRemote } from './GitRemote';
3
+
4
+ export class Git {
5
+ /** Abstraction of Git object
6
+ */
7
+
8
+ private _url: string;
9
+ private _deployment: string;
10
+ private _force: boolean;
11
+ private _deployedCommit: GitCommit;
12
+ private _remote: GitRemote;
13
+ private _config?: Record<string, any>;
14
+
15
+ constructor(
16
+ url: string,
17
+ deployment: string,
18
+ force: boolean,
19
+ deployedCommit: GitCommit,
20
+ remote: GitRemote,
21
+ config?: Record<string, any>
22
+ ) {
23
+ /** Initialize GIT object
24
+ * :param url: file or http(s) path to GIT repository
25
+ * :param deployment: name of selected deployment group
26
+ * :param force: whether or not Git context was forced
27
+ * :param deployed_commit: GitCommit object of the currently deployed commit
28
+ * :param remote: GitRemote object of the current remote
29
+ * :param config: Dictionary containing git configuration parameters
30
+ */
31
+ this._url = url;
32
+ this._deployment = deployment;
33
+ this._force = force;
34
+ this._deployedCommit = deployedCommit;
35
+ this._remote = remote;
36
+ this._config = config;
37
+ }
38
+
39
+ public get url(): string {
40
+ return this._url;
41
+ }
42
+
43
+ public get force(): boolean {
44
+ return this._force;
45
+ }
46
+
47
+ public get config(): Record<string, any> | undefined {
48
+ return this._config;
49
+ }
50
+
51
+ public get deployment(): string {
52
+ return this._deployment;
53
+ }
54
+
55
+ public get deployedCommit(): GitCommit {
56
+ return this._deployedCommit;
57
+ }
58
+
59
+ public get remote(): GitRemote {
60
+ return this._remote;
61
+ }
62
+
63
+ public static fromDict(jsonResponse: any): Git {
64
+ const deployedCommit = new GitCommit(
65
+ jsonResponse["DeployedCommit"].ID,
66
+ jsonResponse["DeployedCommit"].Summary,
67
+ jsonResponse["DeployedCommit"].Author
68
+ );
69
+
70
+ const remote = new GitRemote(
71
+ jsonResponse["Remote"].Connected,
72
+ jsonResponse["Remote"].Branches,
73
+ jsonResponse["Remote"].Tags
74
+ );
75
+
76
+ const git = new Git(
77
+ jsonResponse["URL"],
78
+ jsonResponse["Deployment"],
79
+ jsonResponse["Deployment"],
80
+ deployedCommit,
81
+ remote
82
+ );
83
+
84
+ return git;
85
+ }
86
+ }
@@ -0,0 +1,31 @@
1
+ export class GitCommit {
2
+ /** Abstraction of Git Commit
3
+ */
4
+
5
+ private _commitId: string;
6
+ private _summary: string;
7
+ private _author: string;
8
+
9
+ constructor(commitId: string, summary: string, author: string) {
10
+ /** Initialize GitCommit object
11
+ * :param commit_id: id of the commit
12
+ * :param summary: commit message
13
+ * :param author: the author of the commit
14
+ */
15
+ this._commitId = commitId;
16
+ this._summary = summary;
17
+ this._author = author;
18
+ }
19
+
20
+ public get commitId(): string {
21
+ return this._commitId;
22
+ }
23
+
24
+ public get summary(): string {
25
+ return this._summary;
26
+ }
27
+
28
+ public get author(): string {
29
+ return this._author;
30
+ }
31
+ }