@dronedeploy/rocos-js-sdk 0.0.1 → 1.0.0-alpha-2

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 (468) hide show
  1. package/IRocosSDK.d.ts +55 -0
  2. package/IRocosSDK.js +2 -0
  3. package/README.md +108 -0
  4. package/RocosSDK.d.ts +138 -0
  5. package/RocosSDK.js +292 -0
  6. package/api/StreamRegister.d.ts +13 -0
  7. package/api/StreamRegister.js +69 -0
  8. package/api/atoms/StreamHeartbeat.d.ts +27 -0
  9. package/api/atoms/StreamHeartbeat.js +111 -0
  10. package/api/streams/caller/CallerStream.d.ts +13 -0
  11. package/api/streams/caller/CallerStream.js +77 -0
  12. package/api/streams/caller/CallerStreamAbstract.d.ts +23 -0
  13. package/api/streams/caller/CallerStreamAbstract.js +87 -0
  14. package/api/streams/caller/CallerStreamNode.d.ts +13 -0
  15. package/api/streams/caller/CallerStreamNode.js +115 -0
  16. package/api/streams/command/CommandStream.d.ts +10 -0
  17. package/api/streams/command/CommandStream.js +66 -0
  18. package/api/streams/command/CommandStreamAbstract.d.ts +20 -0
  19. package/api/streams/command/CommandStreamAbstract.js +63 -0
  20. package/api/streams/command/CommandStreamNode.d.ts +10 -0
  21. package/api/streams/command/CommandStreamNode.js +69 -0
  22. package/api/streams/control/ControlStream.d.ts +12 -0
  23. package/api/streams/control/ControlStream.js +75 -0
  24. package/api/streams/control/ControlStreamAbstract.d.ts +25 -0
  25. package/api/streams/control/ControlStreamAbstract.js +111 -0
  26. package/api/streams/control/ControlStreamNode.d.ts +12 -0
  27. package/api/streams/control/ControlStreamNode.js +73 -0
  28. package/api/streams/fileAccessor/FileAccessorStream.d.ts +8 -0
  29. package/api/streams/fileAccessor/FileAccessorStream.js +59 -0
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +21 -0
  31. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +62 -0
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +8 -0
  33. package/api/streams/fileAccessor/FileAccessorStreamNode.js +66 -0
  34. package/api/streams/search/SearchStream.d.ts +13 -0
  35. package/api/streams/search/SearchStream.js +96 -0
  36. package/api/streams/search/SearchStreamAbstract.d.ts +25 -0
  37. package/api/streams/search/SearchStreamAbstract.js +72 -0
  38. package/api/streams/search/SearchStreamNode.d.ts +13 -0
  39. package/api/streams/search/SearchStreamNode.js +118 -0
  40. package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
  41. package/api/streams/telemetry/TelemetryStream.js +97 -0
  42. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +59 -0
  43. package/api/streams/telemetry/TelemetryStreamAbstract.js +402 -0
  44. package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
  45. package/api/streams/telemetry/TelemetryStreamNode.js +175 -0
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +39 -0
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +84 -0
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +29 -0
  49. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
  50. package/constants/api.d.ts +126 -0
  51. package/constants/api.js +126 -0
  52. package/constants/auth.d.ts +2 -0
  53. package/constants/auth.js +2 -0
  54. package/constants/grpc.d.ts +5 -0
  55. package/constants/grpc.js +5 -0
  56. package/constants/identifier.d.ts +6 -0
  57. package/constants/identifier.js +6 -0
  58. package/constants/timezones.d.ts +2 -0
  59. package/constants/timezones.js +427 -0
  60. package/grpc/conker_pb.client.d.ts +78 -0
  61. package/grpc/conker_pb.client.js +55 -0
  62. package/grpc/conker_pb.d.ts +141 -0
  63. package/grpc/conker_pb.grpc-client.d.ts +81 -0
  64. package/grpc/conker_pb.grpc-client.js +58 -0
  65. package/grpc/conker_pb.js +104 -0
  66. package/grpc/filagree_pb.client.d.ts +68 -0
  67. package/grpc/filagree_pb.client.js +48 -0
  68. package/grpc/filagree_pb.d.ts +404 -0
  69. package/grpc/filagree_pb.grpc-client.d.ts +69 -0
  70. package/grpc/filagree_pb.grpc-client.js +51 -0
  71. package/grpc/filagree_pb.js +329 -0
  72. package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
  73. package/grpc/google/protobuf/descriptor_pb.js +2378 -0
  74. package/grpc/google/protobuf/empty_pb.d.ts +23 -0
  75. package/grpc/google/protobuf/empty_pb.js +47 -0
  76. package/grpc/pigeon_pb.client.d.ts +96 -0
  77. package/grpc/pigeon_pb.client.js +72 -0
  78. package/grpc/pigeon_pb.d.ts +207 -0
  79. package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
  80. package/grpc/pigeon_pb.grpc-client.js +68 -0
  81. package/grpc/pigeon_pb.js +144 -0
  82. package/grpc/rambo.uri.v1_pb.d.ts +73 -0
  83. package/grpc/rambo.uri.v1_pb.js +48 -0
  84. package/grpc/rambo.v1_pb.client.d.ts +66 -0
  85. package/grpc/rambo.v1_pb.client.js +48 -0
  86. package/grpc/rambo.v1_pb.d.ts +392 -0
  87. package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
  88. package/grpc/rambo.v1_pb.grpc-client.js +44 -0
  89. package/grpc/rambo.v1_pb.js +272 -0
  90. package/grpc/serviette.uri.v1_pb.d.ts +89 -0
  91. package/grpc/serviette.uri.v1_pb.js +62 -0
  92. package/grpc/serviette.v1_pb.client.d.ts +225 -0
  93. package/grpc/serviette.v1_pb.client.js +174 -0
  94. package/grpc/serviette.v1_pb.d.ts +827 -0
  95. package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
  96. package/grpc/serviette.v1_pb.grpc-client.js +162 -0
  97. package/grpc/serviette.v1_pb.js +553 -0
  98. package/grpc/slowlane_pb.client.d.ts +61 -0
  99. package/grpc/slowlane_pb.client.js +41 -0
  100. package/grpc/slowlane_pb.d.ts +303 -0
  101. package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
  102. package/grpc/slowlane_pb.grpc-client.js +44 -0
  103. package/grpc/slowlane_pb.js +185 -0
  104. package/grpc/teletubby_pb.client.d.ts +145 -0
  105. package/grpc/teletubby_pb.client.js +104 -0
  106. package/grpc/teletubby_pb.d.ts +634 -0
  107. package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
  108. package/grpc/teletubby_pb.grpc-client.js +100 -0
  109. package/grpc/teletubby_pb.js +1264 -0
  110. package/helpers/arrayRemove.d.ts +1 -0
  111. package/helpers/arrayRemove.js +3 -0
  112. package/helpers/arrayUnique.d.ts +1 -0
  113. package/helpers/arrayUnique.js +3 -0
  114. package/helpers/average.d.ts +1 -0
  115. package/helpers/average.js +6 -0
  116. package/helpers/cleanObject.d.ts +1 -0
  117. package/helpers/cleanObject.js +18 -0
  118. package/helpers/cleanObject.spec.d.ts +1 -0
  119. package/helpers/cleanObject.spec.js +53 -0
  120. package/helpers/enviroment.d.ts +8 -0
  121. package/helpers/enviroment.js +13 -0
  122. package/helpers/flattenCallsignsLookup.d.ts +2 -0
  123. package/helpers/flattenCallsignsLookup.js +6 -0
  124. package/helpers/flattenObject.d.ts +1 -0
  125. package/helpers/flattenObject.js +13 -0
  126. package/helpers/flattenObject.spec.d.ts +1 -0
  127. package/helpers/flattenObject.spec.js +29 -0
  128. package/helpers/flattenOneOf.d.ts +67 -0
  129. package/helpers/flattenOneOf.js +29 -0
  130. package/helpers/flattenOneOf.spec.d.ts +1 -0
  131. package/helpers/flattenOneOf.spec.js +157 -0
  132. package/helpers/formatServiceUrl.d.ts +1 -0
  133. package/helpers/formatServiceUrl.js +7 -0
  134. package/helpers/formatServiceUrl.spec.d.ts +1 -0
  135. package/helpers/formatServiceUrl.spec.js +16 -0
  136. package/helpers/generateUUID.d.ts +1 -0
  137. package/helpers/generateUUID.js +4 -0
  138. package/helpers/getSubscriptionsDifference.d.ts +10 -0
  139. package/helpers/getSubscriptionsDifference.js +35 -0
  140. package/helpers/getUniqueConfigKey.d.ts +7 -0
  141. package/helpers/getUniqueConfigKey.js +14 -0
  142. package/helpers/getUniqueId.d.ts +9 -0
  143. package/helpers/getUniqueId.js +11 -0
  144. package/helpers/getUnixTimeMs.d.ts +1 -0
  145. package/helpers/getUnixTimeMs.js +4 -0
  146. package/helpers/index.d.ts +3 -0
  147. package/helpers/index.js +3 -0
  148. package/helpers/nanosecondToMillisecond.d.ts +1 -0
  149. package/helpers/nanosecondToMillisecond.js +6 -0
  150. package/helpers/randomString.d.ts +1 -0
  151. package/helpers/randomString.js +3 -0
  152. package/helpers/standardDeviation.d.ts +1 -0
  153. package/helpers/standardDeviation.js +12 -0
  154. package/helpers/standardDeviation.spec.d.ts +1 -0
  155. package/helpers/standardDeviation.spec.js +11 -0
  156. package/helpers/stringToUint8Array.d.ts +1 -0
  157. package/helpers/stringToUint8Array.js +10 -0
  158. package/helpers/uint8ArrayToString.d.ts +1 -0
  159. package/helpers/uint8ArrayToString.js +10 -0
  160. package/index.d.ts +7 -0
  161. package/index.js +7 -0
  162. package/logger/RocosLogger.d.ts +7 -0
  163. package/logger/RocosLogger.js +37 -0
  164. package/models/CallsignStatus.d.ts +6 -0
  165. package/models/CallsignStatus.js +7 -0
  166. package/models/ExportDataQuery.d.ts +8 -0
  167. package/models/ExportDataQuery.js +13 -0
  168. package/models/ExternalProject.d.ts +6 -0
  169. package/models/ExternalProject.js +2 -0
  170. package/models/IBaseService.d.ts +4 -0
  171. package/models/IBaseService.js +1 -0
  172. package/models/IConfigGroup.d.ts +5 -0
  173. package/models/IConfigGroup.js +1 -0
  174. package/models/IDebugLevel.d.ts +2 -0
  175. package/models/IDebugLevel.js +1 -0
  176. package/models/IExportDataQuery.d.ts +9 -0
  177. package/models/IExportDataQuery.js +1 -0
  178. package/models/IFunctionConfig.d.ts +8 -0
  179. package/models/IFunctionConfig.js +1 -0
  180. package/models/IInvitation.d.ts +6 -0
  181. package/models/IInvitation.js +1 -0
  182. package/models/IInvitationExists.d.ts +4 -0
  183. package/models/IInvitationExists.js +1 -0
  184. package/models/IOperation.d.ts +6 -0
  185. package/models/IOperation.js +1 -0
  186. package/models/IPersonalAccessToken.d.ts +16 -0
  187. package/models/IPersonalAccessToken.js +1 -0
  188. package/models/IProject.d.ts +4 -0
  189. package/models/IProject.js +1 -0
  190. package/models/IProjectApplication.d.ts +6 -0
  191. package/models/IProjectApplication.js +1 -0
  192. package/models/IRobot.d.ts +18 -0
  193. package/models/IRobot.js +1 -0
  194. package/models/IRobotConfig.d.ts +8 -0
  195. package/models/IRobotConfig.js +1 -0
  196. package/models/IRobotPlugin.d.ts +3 -0
  197. package/models/IRobotPlugin.js +1 -0
  198. package/models/IRobotSettings.d.ts +28 -0
  199. package/models/IRobotSettings.js +1 -0
  200. package/models/IRobotTemplate.d.ts +10 -0
  201. package/models/IRobotTemplate.js +1 -0
  202. package/models/IRocosSDKConfig.d.ts +19 -0
  203. package/models/IRocosSDKConfig.js +1 -0
  204. package/models/ISource.d.ts +8 -0
  205. package/models/ISource.js +1 -0
  206. package/models/IStream.d.ts +9 -0
  207. package/models/IStream.js +1 -0
  208. package/models/IStreamConfig.d.ts +9 -0
  209. package/models/IStreamConfig.js +1 -0
  210. package/models/IStreamOptions.d.ts +7 -0
  211. package/models/IStreamOptions.js +1 -0
  212. package/models/IStreamSource.d.ts +8 -0
  213. package/models/IStreamSource.js +1 -0
  214. package/models/ISubscriberStatus.d.ts +5 -0
  215. package/models/ISubscriberStatus.js +1 -0
  216. package/models/ITelemetryStreamConfig.d.ts +7 -0
  217. package/models/ITelemetryStreamConfig.js +1 -0
  218. package/models/IToken.d.ts +9 -0
  219. package/models/IToken.js +1 -0
  220. package/models/IWidget.d.ts +25 -0
  221. package/models/IWidget.js +1 -0
  222. package/models/IWidgetLineGroup.d.ts +8 -0
  223. package/models/IWidgetLineGroup.js +1 -0
  224. package/models/ResponseLevelEnum.d.ts +10 -0
  225. package/models/ResponseLevelEnum.js +11 -0
  226. package/models/Robot.d.ts +20 -0
  227. package/models/Robot.js +8 -0
  228. package/models/RobotConfig.d.ts +10 -0
  229. package/models/RobotConfig.js +5 -0
  230. package/models/RobotPlugin.d.ts +5 -0
  231. package/models/RobotPlugin.js +5 -0
  232. package/models/RobotTemplate.d.ts +12 -0
  233. package/models/RobotTemplate.js +25 -0
  234. package/models/RocosError.d.ts +30 -0
  235. package/models/RocosError.js +39 -0
  236. package/models/ServiceEnum.d.ts +26 -0
  237. package/models/ServiceEnum.js +27 -0
  238. package/models/Stream.d.ts +10 -0
  239. package/models/Stream.js +11 -0
  240. package/models/StreamOptions.d.ts +9 -0
  241. package/models/StreamOptions.js +33 -0
  242. package/models/StreamSource.d.ts +10 -0
  243. package/models/StreamSource.js +11 -0
  244. package/models/SubscriberStatusEnum.d.ts +6 -0
  245. package/models/SubscriberStatusEnum.js +7 -0
  246. package/models/Token.d.ts +40 -0
  247. package/models/Token.js +78 -0
  248. package/models/Token.spec.d.ts +1 -0
  249. package/models/Token.spec.js +108 -0
  250. package/models/Widget.d.ts +27 -0
  251. package/models/Widget.js +12 -0
  252. package/models/WidgetLineGroup.d.ts +10 -0
  253. package/models/WidgetLineGroup.js +5 -0
  254. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  255. package/models/asset-storage/AssetModelItem.js +1 -0
  256. package/models/caller/IRocosCallerMessageChunk.d.ts +10 -0
  257. package/models/caller/IRocosCallerMessageChunk.js +1 -0
  258. package/models/caller/IRocosCallerMessageChunks.d.ts +4 -0
  259. package/models/caller/IRocosCallerMessageChunks.js +1 -0
  260. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -0
  261. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -0
  262. package/models/caller/IRocosCallerMessageResponse.d.ts +10 -0
  263. package/models/caller/IRocosCallerMessageResponse.js +1 -0
  264. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -0
  265. package/models/caller/IRocosCallerMessageResponseAck.js +13 -0
  266. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -0
  267. package/models/caller/IRocosCallerMessageResponseResult.js +12 -0
  268. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  269. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  270. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -0
  271. package/models/caller/IRocosCallerMessageResponseUid.js +7 -0
  272. package/models/caller/IRocosCallerMessageResponses.d.ts +4 -0
  273. package/models/caller/IRocosCallerMessageResponses.js +1 -0
  274. package/models/caller/RocosCallerResultStatus.d.ts +11 -0
  275. package/models/caller/RocosCallerResultStatus.js +12 -0
  276. package/models/caller/RocosResponseLevel.d.ts +6 -0
  277. package/models/caller/RocosResponseLevel.js +7 -0
  278. package/models/caller/index.d.ts +10 -0
  279. package/models/caller/index.js +10 -0
  280. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  281. package/models/callsigns/CallsignsEnums.js +17 -0
  282. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  283. package/models/callsigns/CallsignsLookup.js +28 -0
  284. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  285. package/models/callsigns/CallsignsQuery.js +14 -0
  286. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  287. package/models/callsigns/CallsignsQueryPredicate.js +15 -0
  288. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -0
  289. package/models/command/IRocosCommandMessageHeartbeat.js +1 -0
  290. package/models/command/IRocosCommandMessageResponse.d.ts +55 -0
  291. package/models/command/IRocosCommandMessageResponse.js +29 -0
  292. package/models/command/RocosCommandResultStatus.d.ts +11 -0
  293. package/models/command/RocosCommandResultStatus.js +12 -0
  294. package/models/command/index.d.ts +4 -0
  295. package/models/command/index.js +4 -0
  296. package/models/file/FileEnums.d.ts +30 -0
  297. package/models/file/FileEnums.js +33 -0
  298. package/models/index.d.ts +75 -0
  299. package/models/index.js +75 -0
  300. package/models/integrations/Overlay.d.ts +49 -0
  301. package/models/integrations/Overlay.js +1 -0
  302. package/models/integrations/Plan.d.ts +324 -0
  303. package/models/integrations/Plan.js +1 -0
  304. package/models/maps/Map.d.ts +13 -0
  305. package/models/maps/Map.js +1 -0
  306. package/models/message/IRocosCallerMessage.d.ts +8 -0
  307. package/models/message/IRocosCallerMessage.js +1 -0
  308. package/models/message/IRocosChangeMessage.d.ts +6 -0
  309. package/models/message/IRocosChangeMessage.js +1 -0
  310. package/models/message/IRocosCommandMessage.d.ts +6 -0
  311. package/models/message/IRocosCommandMessage.js +1 -0
  312. package/models/message/IRocosControlMessage.d.ts +7 -0
  313. package/models/message/IRocosControlMessage.js +1 -0
  314. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  315. package/models/message/IRocosOpResultMessage.js +1 -0
  316. package/models/message/IRocosSearchMessage.d.ts +5 -0
  317. package/models/message/IRocosSearchMessage.js +1 -0
  318. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  319. package/models/message/IRocosSearchRowMessage.js +1 -0
  320. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  321. package/models/message/IRocosSearchStatusMessage.js +1 -0
  322. package/models/message/IRocosTelemetryMessage.d.ts +23 -0
  323. package/models/message/IRocosTelemetryMessage.js +1 -0
  324. package/models/message/IStreamStatusMessage.d.ts +5 -0
  325. package/models/message/IStreamStatusMessage.js +1 -0
  326. package/models/message/RocosCallerMessage.d.ts +10 -0
  327. package/models/message/RocosCallerMessage.js +32 -0
  328. package/models/message/RocosCommandMessage.d.ts +9 -0
  329. package/models/message/RocosCommandMessage.js +13 -0
  330. package/models/message/RocosControlMessage.d.ts +11 -0
  331. package/models/message/RocosControlMessage.js +14 -0
  332. package/models/message/RocosOpResultMessage.d.ts +10 -0
  333. package/models/message/RocosOpResultMessage.js +18 -0
  334. package/models/message/RocosSearchMessage.d.ts +9 -0
  335. package/models/message/RocosSearchMessage.js +24 -0
  336. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  337. package/models/message/RocosSearchRowMessage.js +16 -0
  338. package/models/message/RocosTelemetryMessage.d.ts +10 -0
  339. package/models/message/RocosTelemetryMessage.js +63 -0
  340. package/models/message/index.d.ts +17 -0
  341. package/models/message/index.js +17 -0
  342. package/models/params/ICallerParams.d.ts +16 -0
  343. package/models/params/ICallerParams.js +1 -0
  344. package/models/params/ICommandParams.d.ts +9 -0
  345. package/models/params/ICommandParams.js +1 -0
  346. package/models/params/IControlParams.d.ts +8 -0
  347. package/models/params/IControlParams.js +1 -0
  348. package/models/params/IFileAccessorParams.d.ts +11 -0
  349. package/models/params/IFileAccessorParams.js +1 -0
  350. package/models/params/ISearchParams.d.ts +10 -0
  351. package/models/params/ISearchParams.js +1 -0
  352. package/models/params/ITelemetryParams.d.ts +18 -0
  353. package/models/params/ITelemetryParams.js +1 -0
  354. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  355. package/models/params/IWebRTCSignallingParams.js +1 -0
  356. package/models/projects/ProjectUser.d.ts +6 -0
  357. package/models/projects/ProjectUser.js +1 -0
  358. package/models/schedule/IScheduleAction.d.ts +13 -0
  359. package/models/schedule/IScheduleAction.js +6 -0
  360. package/models/schedule/IScheduleInfo.d.ts +11 -0
  361. package/models/schedule/IScheduleInfo.js +1 -0
  362. package/models/schedule/IScheduleJob.d.ts +12 -0
  363. package/models/schedule/IScheduleJob.js +1 -0
  364. package/models/search/SearchQueryFilter.d.ts +5 -0
  365. package/models/search/SearchQueryFilter.js +5 -0
  366. package/models/search/SearchStreamQuery.d.ts +15 -0
  367. package/models/search/SearchStreamQuery.js +6 -0
  368. package/models/stream/IBaseStream.d.ts +8 -0
  369. package/models/stream/IBaseStream.js +1 -0
  370. package/models/stream/ICallerStream.d.ts +8 -0
  371. package/models/stream/ICallerStream.js +1 -0
  372. package/models/stream/ICommandStream.d.ts +7 -0
  373. package/models/stream/ICommandStream.js +1 -0
  374. package/models/stream/IControlStream.d.ts +9 -0
  375. package/models/stream/IControlStream.js +1 -0
  376. package/models/stream/IFileAccessorStream.d.ts +9 -0
  377. package/models/stream/IFileAccessorStream.js +1 -0
  378. package/models/stream/ISearchStream.d.ts +11 -0
  379. package/models/stream/ISearchStream.js +1 -0
  380. package/models/stream/ITelemetryStream.d.ts +10 -0
  381. package/models/stream/ITelemetryStream.js +1 -0
  382. package/models/stream/IWebRTCSignallingStream.d.ts +76 -0
  383. package/models/stream/IWebRTCSignallingStream.js +1 -0
  384. package/models/types.d.ts +5 -0
  385. package/models/types.js +1 -0
  386. package/node/RocosSDKNode.d.ts +42 -0
  387. package/node/RocosSDKNode.js +143 -0
  388. package/node/index.d.ts +7 -0
  389. package/node/index.js +7 -0
  390. package/package.json +22 -6
  391. package/services/AssetStorageService.d.ts +99 -0
  392. package/services/AssetStorageService.js +158 -0
  393. package/services/AuthService.d.ts +93 -0
  394. package/services/AuthService.js +235 -0
  395. package/services/AuthService.spec.d.ts +1 -0
  396. package/services/AuthService.spec.js +163 -0
  397. package/services/BaseServiceAbstract.d.ts +36 -0
  398. package/services/BaseServiceAbstract.js +101 -0
  399. package/services/BaseStreamService.d.ts +18 -0
  400. package/services/BaseStreamService.js +47 -0
  401. package/services/CallerService.d.ts +10 -0
  402. package/services/CallerService.js +53 -0
  403. package/services/CallerServiceNode.d.ts +6 -0
  404. package/services/CallerServiceNode.js +7 -0
  405. package/services/CommandService.d.ts +9 -0
  406. package/services/CommandService.js +38 -0
  407. package/services/CommandServiceNode.d.ts +6 -0
  408. package/services/CommandServiceNode.js +7 -0
  409. package/services/ConfigGroupService.d.ts +89 -0
  410. package/services/ConfigGroupService.js +153 -0
  411. package/services/ControlService.d.ts +11 -0
  412. package/services/ControlService.js +57 -0
  413. package/services/ControlServiceNode.d.ts +6 -0
  414. package/services/ControlServiceNode.js +7 -0
  415. package/services/DashboardService.d.ts +97 -0
  416. package/services/DashboardService.js +142 -0
  417. package/services/EventService.d.ts +53 -0
  418. package/services/EventService.js +85 -0
  419. package/services/FileAccessorService.d.ts +11 -0
  420. package/services/FileAccessorService.js +37 -0
  421. package/services/FileAccessorServiceNode.d.ts +6 -0
  422. package/services/FileAccessorServiceNode.js +7 -0
  423. package/services/FunctionService.d.ts +68 -0
  424. package/services/FunctionService.js +99 -0
  425. package/services/IntegrationService.d.ts +48 -0
  426. package/services/IntegrationService.js +72 -0
  427. package/services/MapService.d.ts +109 -0
  428. package/services/MapService.js +149 -0
  429. package/services/PlatformTimeService.d.ts +35 -0
  430. package/services/PlatformTimeService.js +156 -0
  431. package/services/PlatformTimeService.spec.d.ts +1 -0
  432. package/services/PlatformTimeService.spec.js +180 -0
  433. package/services/ProfileService.d.ts +244 -0
  434. package/services/ProfileService.js +362 -0
  435. package/services/ProjectService.d.ts +110 -0
  436. package/services/ProjectService.js +160 -0
  437. package/services/RobotService.d.ts +278 -0
  438. package/services/RobotService.js +460 -0
  439. package/services/ScheduleService.d.ts +22 -0
  440. package/services/ScheduleService.js +36 -0
  441. package/services/SearchService.d.ts +12 -0
  442. package/services/SearchService.js +58 -0
  443. package/services/SearchServiceNode.d.ts +6 -0
  444. package/services/SearchServiceNode.js +7 -0
  445. package/services/SpotProvisioningService.d.ts +14 -0
  446. package/services/SpotProvisioningService.js +43 -0
  447. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  448. package/services/SpotProvisioningServiceNode.js +43 -0
  449. package/services/StreamService.d.ts +98 -0
  450. package/services/StreamService.js +142 -0
  451. package/services/TelemetryService.d.ts +40 -0
  452. package/services/TelemetryService.js +142 -0
  453. package/services/TelemetryService.spec.d.ts +1 -0
  454. package/services/TelemetryService.spec.js +37 -0
  455. package/services/TelemetryServiceNode.d.ts +6 -0
  456. package/services/TelemetryServiceNode.js +7 -0
  457. package/services/TimeSyncerService.d.ts +13 -0
  458. package/services/TimeSyncerService.js +23 -0
  459. package/services/UserService.d.ts +200 -0
  460. package/services/UserService.js +315 -0
  461. package/services/WebRTCSignallingService.d.ts +22 -0
  462. package/services/WebRTCSignallingService.js +78 -0
  463. package/services/WorkflowService.d.ts +71 -0
  464. package/services/WorkflowService.js +118 -0
  465. package/services/index.d.ts +26 -0
  466. package/services/index.js +26 -0
  467. package/store/RocosStore.d.ts +31 -0
  468. package/store/RocosStore.js +47 -0
@@ -0,0 +1,7 @@
1
+ import { CallerService } from './CallerService';
2
+ import { CallerStreamNode } from '../api/streams/caller/CallerStreamNode';
3
+ export class CallerServiceNode extends CallerService {
4
+ getStream(config) {
5
+ return new CallerStreamNode(config);
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ import { ICommandParams, ICommandStream, IRocosCommandMessage, IRocosSDKConfig, IStreamConfig } from '../models';
2
+ import { Observable } from 'rxjs';
3
+ import { BaseStreamService } from './BaseStreamService';
4
+ export declare class CommandService extends BaseStreamService<ICommandStream> {
5
+ constructor(config: IRocosSDKConfig);
6
+ invokeRequest(params: ICommandParams): Observable<IRocosCommandMessage>;
7
+ protected createStream(): Promise<ICommandStream>;
8
+ protected getStream(config: IStreamConfig): ICommandStream;
9
+ }
@@ -0,0 +1,38 @@
1
+ import { Subject } from 'rxjs';
2
+ import { BaseStreamService } from './BaseStreamService';
3
+ import { CommandStream } from '../api/streams/command/CommandStream';
4
+ import { IDENTIFIER_NAME_COMMAND } from '../constants/identifier';
5
+ import { finalize } from 'rxjs/operators';
6
+ export class CommandService extends BaseStreamService {
7
+ constructor(config) {
8
+ super('CommandService', config);
9
+ }
10
+ invokeRequest(params) {
11
+ const subject = new Subject();
12
+ let subscription;
13
+ this.createStream()
14
+ .then((stream) => {
15
+ subscription = stream.invokeRequest(params).subscribe(subject);
16
+ })
17
+ .catch((e) => {
18
+ this.logger.info('invokeRequest error', e);
19
+ subject.error(e);
20
+ });
21
+ return subject.asObservable().pipe(finalize(() => {
22
+ subscription?.unsubscribe();
23
+ }));
24
+ }
25
+ async createStream() {
26
+ return (await this.createStreamFromConfig(IDENTIFIER_NAME_COMMAND, {
27
+ url: this.config.url,
28
+ token: this.config.token,
29
+ scope: 'default',
30
+ options: this.config.options,
31
+ port: this.config.port,
32
+ insecure: this.config.insecure,
33
+ })).stream;
34
+ }
35
+ getStream(config) {
36
+ return new CommandStream(config);
37
+ }
38
+ }
@@ -0,0 +1,6 @@
1
+ import { CommandService } from './CommandService';
2
+ import { ICommandStream } from '../models/stream/ICommandStream';
3
+ import { IStreamConfig } from '../models/IStreamConfig';
4
+ export declare class CommandServiceNode extends CommandService {
5
+ protected getStream(config: IStreamConfig): ICommandStream;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { CommandService } from './CommandService';
2
+ import { CommandStreamNode } from '../api/streams/command/CommandStreamNode';
3
+ export class CommandServiceNode extends CommandService {
4
+ getStream(config) {
5
+ return new CommandStreamNode(config);
6
+ }
7
+ }
@@ -0,0 +1,89 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IConfigGroup } from '../models/IConfigGroup';
5
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
6
+ export declare class ConfigGroupService extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ protected getError(e: Error): RocosError;
9
+ getStatus(): boolean;
10
+ /**
11
+ * Create a config group
12
+ *
13
+ * @param projectId - Project Id
14
+ * @param type - Config group type
15
+ * @param model - Payload {@link IConfigGroup}
16
+ */
17
+ create(projectId: string, type: string, model: IConfigGroup): Promise<any>;
18
+ /**
19
+ * Get a config group list
20
+ *
21
+ * @param projectId - Project Id
22
+ * @param type - Config group type
23
+ */
24
+ list(projectId: string, type: string): Promise<any>;
25
+ /**
26
+ * Update a config group
27
+ *
28
+ * @param projectId - Project Id
29
+ * @param type - Config group type
30
+ * @param configGroupId - Config group Id
31
+ * @param model - Payload {@link IConfigGroup}
32
+ */
33
+ update(projectId: string, type: string, configGroupId: string, model: IConfigGroup): Promise<any>;
34
+ /**
35
+ * Get a config group
36
+ *
37
+ * @param projectId - Project Id
38
+ * @param type - Config group type
39
+ * @param configGroupId - Config group Id
40
+ */
41
+ info(projectId: string, type: string, configGroupId: string): Promise<any>;
42
+ /**
43
+ * Publish a config group
44
+ *
45
+ * @param projectId - Project Id
46
+ * @param type - Config group type
47
+ * @param configGroupId - Config group Id
48
+ * @param model - Payload {@link IConfigGroup}
49
+ */
50
+ publish(projectId: string, type: string, configGroupId: string, model: IConfigGroup): Promise<any>;
51
+ /**
52
+ * Update a config
53
+ *
54
+ * @param projectId - Project Id
55
+ * @param type - Config group type
56
+ * @param configGroupId - Config group Id
57
+ * @param configId - Config Id
58
+ * @param content - Payload
59
+ */
60
+ updateConfig(projectId: string, type: string, configGroupId: string, configId: string, content: any): Promise<any>;
61
+ /**
62
+ * Get a config group by version
63
+ *
64
+ * @param projectId - Project Id
65
+ * @param type - Config group type
66
+ * @param configGroupId - Config group Id
67
+ * @param version - Version
68
+ */
69
+ getByVersion(projectId: string, type: string, configGroupId: string, version: string): Promise<any>;
70
+ /**
71
+ * Override a config for owner
72
+ *
73
+ * @param projectId - Project Id
74
+ * @param type - Config group type
75
+ * @param configGroupId - Config group Id
76
+ * @param ownerId - Override Id
77
+ * @param content - Payload
78
+ */
79
+ overrideByOwnerId(projectId: string, type: string, configGroupId: string, ownerId: string, content: any): Promise<any>;
80
+ /**
81
+ * Get an override config for owner
82
+ *
83
+ * @param projectId - Project Id
84
+ * @param type - Config group type
85
+ * @param configGroupId - Config group Id
86
+ * @param ownerId - Override Id
87
+ */
88
+ getOverrideConfig(projectId: string, type: string, configGroupId: string, ownerId: string): Promise<any>;
89
+ }
@@ -0,0 +1,153 @@
1
+ import { API_PROJECT_GROUP_TYPE_CONFIG_URL, API_PROJECT_GROUP_TYPE_ID_URL, API_PROJECT_GROUP_TYPE_OWNER_ID_URL, API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, API_PROJECT_GROUP_TYPE_PUBLISH_URL, API_PROJECT_GROUP_TYPE_URL, API_PROJECT_GROUP_TYPE_VERSION_URL, } from '../constants/api';
2
+ import { RocosError, errorCodes } from '../models/RocosError';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
+ export class ConfigGroupService extends BaseServiceAbstract {
7
+ constructor(config) {
8
+ super(config);
9
+ this.logger = RocosLogger.getInstance(`ConfigGroupService(${this.config.url})`);
10
+ }
11
+ getError(e) {
12
+ return new RocosError(e, errorCodes.CONFIG_GROUP_SERVICE_ERROR);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ /**
18
+ * Create a config group
19
+ *
20
+ * @param projectId - Project Id
21
+ * @param type - Config group type
22
+ * @param model - Payload {@link IConfigGroup}
23
+ */
24
+ // TODO: map the response object
25
+ async create(projectId, type, model) {
26
+ return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), model, `Failed to create config group for ${projectId}, type ${type}.`);
27
+ }
28
+ /**
29
+ * Get a config group list
30
+ *
31
+ * @param projectId - Project Id
32
+ * @param type - Config group type
33
+ */
34
+ // TODO: map the response object
35
+ async list(projectId, type) {
36
+ return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), `Failed to get config group list for ${projectId}, type ${type}.`);
37
+ }
38
+ /**
39
+ * Update a config group
40
+ *
41
+ * @param projectId - Project Id
42
+ * @param type - Config group type
43
+ * @param configGroupId - Config group Id
44
+ * @param model - Payload {@link IConfigGroup}
45
+ */
46
+ // TODO: map the response object
47
+ async update(projectId, type, configGroupId, model) {
48
+ return this.callPut(formatServiceUrl(API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to update config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
49
+ }
50
+ /**
51
+ * Get a config group
52
+ *
53
+ * @param projectId - Project Id
54
+ * @param type - Config group type
55
+ * @param configGroupId - Config group Id
56
+ */
57
+ // TODO: map the response object
58
+ async info(projectId, type, configGroupId) {
59
+ return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
60
+ }
61
+ /**
62
+ * Publish a config group
63
+ *
64
+ * @param projectId - Project Id
65
+ * @param type - Config group type
66
+ * @param configGroupId - Config group Id
67
+ * @param model - Payload {@link IConfigGroup}
68
+ */
69
+ // TODO: map the response object
70
+ async publish(projectId, type, configGroupId, model) {
71
+ return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_PUBLISH_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to publish config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
72
+ }
73
+ /**
74
+ * Update a config
75
+ *
76
+ * @param projectId - Project Id
77
+ * @param type - Config group type
78
+ * @param configGroupId - Config group Id
79
+ * @param configId - Config Id
80
+ * @param content - Payload
81
+ */
82
+ // TODO: map the request model
83
+ // TODO: map the response object
84
+ async updateConfig(projectId, type, configGroupId, configId,
85
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
86
+ content) {
87
+ return this.callPut(formatServiceUrl(API_PROJECT_GROUP_TYPE_CONFIG_URL, {
88
+ url: this.config.url,
89
+ projectId,
90
+ type,
91
+ configGroupId,
92
+ configId,
93
+ }, this.config.insecure), content, `Failed to update config for ${projectId}, type ${type}, configGroupId ${configGroupId}, configId ${configId}.`);
94
+ }
95
+ /**
96
+ * Get a config group by version
97
+ *
98
+ * @param projectId - Project Id
99
+ * @param type - Config group type
100
+ * @param configGroupId - Config group Id
101
+ * @param version - Version
102
+ */
103
+ // TODO: map the response object
104
+ async getByVersion(projectId, type, configGroupId, version) {
105
+ return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_VERSION_URL, {
106
+ url: this.config.url,
107
+ projectId,
108
+ type,
109
+ configGroupId,
110
+ version,
111
+ }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}, version ${version}.`);
112
+ }
113
+ /**
114
+ * Override a config for owner
115
+ *
116
+ * @param projectId - Project Id
117
+ * @param type - Config group type
118
+ * @param configGroupId - Config group Id
119
+ * @param ownerId - Override Id
120
+ * @param content - Payload
121
+ */
122
+ // TODO: map the request model
123
+ // TODO: map the response object
124
+ async overrideByOwnerId(projectId, type, configGroupId, ownerId,
125
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
126
+ content) {
127
+ return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, {
128
+ url: this.config.url,
129
+ projectId,
130
+ type,
131
+ configGroupId,
132
+ ownerId,
133
+ }, this.config.insecure), content, `Failed to override for ${projectId}, type ${type}, configGroupId ${configGroupId}, ownerId ${ownerId}.`);
134
+ }
135
+ /**
136
+ * Get an override config for owner
137
+ *
138
+ * @param projectId - Project Id
139
+ * @param type - Config group type
140
+ * @param configGroupId - Config group Id
141
+ * @param ownerId - Override Id
142
+ */
143
+ // TODO: map the response object
144
+ async getOverrideConfig(projectId, type, configGroupId, ownerId) {
145
+ return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_OWNER_ID_URL, {
146
+ url: this.config.url,
147
+ projectId,
148
+ type,
149
+ configGroupId,
150
+ ownerId,
151
+ }, this.config.insecure), `Failed to get override for ${projectId}, type ${type}, configGroupId ${configGroupId}, ownerId ${ownerId}.`);
152
+ }
153
+ }
@@ -0,0 +1,11 @@
1
+ import { ControlActionType, IControlParams, IControlStream, IRocosControlMessage, IRocosSDKConfig, IStreamConfig } from '../models';
2
+ import { Observable } from 'rxjs';
3
+ import { BaseStreamService } from './BaseStreamService';
4
+ export declare class ControlService extends BaseStreamService<IControlStream> {
5
+ constructor(config: IRocosSDKConfig);
6
+ takeActionWithAck(action: ControlActionType, params: IControlParams, ackTimeoutInSeconds?: number): Observable<string>;
7
+ sendCommand(params: IControlParams): Promise<void>;
8
+ sendCommandWithAck(params: IControlParams): Observable<IRocosControlMessage>;
9
+ protected createStream(): Promise<IControlStream>;
10
+ protected getStream(config: IStreamConfig): IControlStream;
11
+ }
@@ -0,0 +1,57 @@
1
+ import { Subject } from 'rxjs';
2
+ import { BaseStreamService } from './BaseStreamService';
3
+ import { ControlStream } from '../api/streams/control/ControlStream';
4
+ import { IDENTIFIER_NAME_CONTROL } from '../constants/identifier';
5
+ import { finalize } from 'rxjs/operators';
6
+ export class ControlService extends BaseStreamService {
7
+ constructor(config) {
8
+ super('ControlService', config);
9
+ }
10
+ takeActionWithAck(action, params, ackTimeoutInSeconds = 15) {
11
+ const subject = new Subject();
12
+ let subscription;
13
+ this.createStream()
14
+ .then((stream) => {
15
+ subscription = stream.takeActionWithAck(action, params, ackTimeoutInSeconds).subscribe(subject);
16
+ })
17
+ .catch((e) => {
18
+ this.logger.info('takeActionWithAck error', e);
19
+ subject.error(e);
20
+ });
21
+ return subject.asObservable().pipe(finalize(() => {
22
+ subscription?.unsubscribe();
23
+ }));
24
+ }
25
+ async sendCommand(params) {
26
+ const stream = await this.createStream();
27
+ return stream.sendCommand(params);
28
+ }
29
+ sendCommandWithAck(params) {
30
+ const subject = new Subject();
31
+ let subscription;
32
+ this.createStream()
33
+ .then((stream) => {
34
+ subscription = stream.sendCommandWithAck(params).subscribe(subject);
35
+ })
36
+ .catch((e) => {
37
+ this.logger.info('sendCommandWithAck error', e);
38
+ subject.error(e);
39
+ });
40
+ return subject.asObservable().pipe(finalize(() => {
41
+ subscription?.unsubscribe();
42
+ }));
43
+ }
44
+ async createStream() {
45
+ return (await this.createStreamFromConfig(IDENTIFIER_NAME_CONTROL, {
46
+ url: this.config.url,
47
+ token: this.config.token,
48
+ scope: 'default',
49
+ options: this.config.options,
50
+ port: this.config.port,
51
+ insecure: this.config.insecure,
52
+ })).stream;
53
+ }
54
+ getStream(config) {
55
+ return new ControlStream(config);
56
+ }
57
+ }
@@ -0,0 +1,6 @@
1
+ import { ControlService } from './ControlService';
2
+ import { IControlStream } from '../models/stream/IControlStream';
3
+ import { IStreamConfig } from '../models/IStreamConfig';
4
+ export declare class ControlServiceNode extends ControlService {
5
+ protected getStream(config: IStreamConfig): IControlStream;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { ControlService } from './ControlService';
2
+ import { ControlStreamNode } from '../api/streams/control/ControlStreamNode';
3
+ export class ControlServiceNode extends ControlService {
4
+ getStream(config) {
5
+ return new ControlStreamNode(config);
6
+ }
7
+ }
@@ -0,0 +1,97 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
5
+ import { IWidget } from '../models/IWidget';
6
+ export declare class DashboardService extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ protected getError(e: Error): RocosError;
9
+ getStatus(): boolean;
10
+ /**
11
+ * Get dashboard info.
12
+ *
13
+ * @param projectId - Project Id
14
+ * @param dashboardId - Dashboard Id
15
+ */
16
+ info(projectId: string, dashboardId: string): Promise<any>;
17
+ /**
18
+ * Create a dashboard widget.
19
+ *
20
+ * @param projectId - Project Id
21
+ * @param dashboardId - Dashboard Id
22
+ * @param widget - Widget payload {@link IWidget}
23
+ */
24
+ createWidget(projectId: string, dashboardId: string, widget: IWidget): Promise<any>;
25
+ /**
26
+ * Delete dashboard widgets.
27
+ *
28
+ * @param projectId - Project Id
29
+ * @param dashboardId - Dashboard Id
30
+ * @param widgetIds - List of widget Id's
31
+ */
32
+ deleteWidgets(projectId: string, dashboardId: string, widgetIds: string[]): Promise<any>;
33
+ /**
34
+ * Get collection documents.
35
+ *
36
+ * @param projectId - Project Id
37
+ * @param collectionId - Collection Id
38
+ */
39
+ getDocs(projectId: string, collectionId: string): Promise<any>;
40
+ /**
41
+ * Create a document.
42
+ *
43
+ * @param projectId - Project Id
44
+ * @param collectionId - Collection Id
45
+ * @param doc - Document payload
46
+ */
47
+ createDoc(projectId: string, collectionId: string, doc: any): Promise<any>;
48
+ /**
49
+ * Delete documents.
50
+ *
51
+ * @param projectId - Project Id
52
+ * @param collectionId - Collection Id
53
+ * @param docIds - List of document Id's
54
+ */
55
+ deleteDocs(projectId: string, collectionId: string, docIds: string[]): Promise<any>;
56
+ /**
57
+ * Create a dashboard
58
+ *
59
+ * @param projectId - Project Id
60
+ */
61
+ createProjectDashboard(projectId: string): Promise<any>;
62
+ /**
63
+ * Update the dashboard with widgets.
64
+ *
65
+ * @param projectId - Project Id
66
+ * @param dashboardId - Dashboard Id
67
+ * @param widgets - Array of Widgets as payload {@link IWidget}
68
+ */
69
+ updateProjectDashboard(projectId: string, dashboardId: string, widgets: IWidget[]): Promise<any>;
70
+ /**
71
+ * Delete a dashboard.
72
+ *
73
+ * @param projectId - Project Id
74
+ * @param dashboardId - Dashboard Id
75
+ */
76
+ deleteProjectDashboard(projectId: string, dashboardId: string): Promise<any>;
77
+ /**
78
+ * Get the dashboard
79
+ *
80
+ * @param projectId - Project Id
81
+ * @param dashboardId - Dashboard Id
82
+ */
83
+ getProjectDashboard(projectId: string, dashboardId: string): Promise<any>;
84
+ /**
85
+ * Get all dashboards fora project.
86
+ *
87
+ * @param projectId - Project Id
88
+ */
89
+ getProjectDashboardList(projectId: string): Promise<any>;
90
+ /**
91
+ * Get all custom widgets for a dashboard.
92
+ *
93
+ * @param projectId - Project Id
94
+ * @param dashboardId - Dashboard Id
95
+ */
96
+ getProjectDashboardCustomWidget(projectId: string, dashboardId: string): Promise<any>;
97
+ }
@@ -0,0 +1,142 @@
1
+ import { API_PROJECT_COLLECTION_DOCS_URL, API_PROJECT_COLLECTION_ID_URL, API_PROJECT_DASHBOARD_CUSTOM_WIDGET_URL, API_PROJECT_DASHBOARD_ID_URL, API_PROJECT_DASHBOARD_URL, API_PROJECT_DASHBOARD_WIDGET_URL, } from '../constants/api';
2
+ import { RocosError, errorCodes } from '../models/RocosError';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
+ export class DashboardService extends BaseServiceAbstract {
7
+ constructor(config) {
8
+ super(config);
9
+ this.logger = RocosLogger.getInstance(`DashboardService(${this.config.url})`);
10
+ }
11
+ getError(e) {
12
+ return new RocosError(e, errorCodes.DASHBOARD_SERVICE_ERROR);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ /**
18
+ * Get dashboard info.
19
+ *
20
+ * @param projectId - Project Id
21
+ * @param dashboardId - Dashboard Id
22
+ */
23
+ // TODO: map the response object
24
+ async info(projectId, dashboardId) {
25
+ return this.callGet(formatServiceUrl(API_PROJECT_DASHBOARD_ID_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), `Failed to get project dashboard for ${projectId}, dashboardId ${dashboardId}.`);
26
+ }
27
+ /**
28
+ * Create a dashboard widget.
29
+ *
30
+ * @param projectId - Project Id
31
+ * @param dashboardId - Dashboard Id
32
+ * @param widget - Widget payload {@link IWidget}
33
+ */
34
+ // TODO: map the response object
35
+ async createWidget(projectId, dashboardId, widget) {
36
+ return this.callPut(formatServiceUrl(API_PROJECT_DASHBOARD_WIDGET_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), widget, `Failed to create widget for ${projectId}, dashboardId ${dashboardId}.`);
37
+ }
38
+ /**
39
+ * Delete dashboard widgets.
40
+ *
41
+ * @param projectId - Project Id
42
+ * @param dashboardId - Dashboard Id
43
+ * @param widgetIds - List of widget Id's
44
+ */
45
+ // TODO: map the response object
46
+ async deleteWidgets(projectId, dashboardId, widgetIds) {
47
+ return this.callDelete(formatServiceUrl(API_PROJECT_DASHBOARD_WIDGET_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), `Failed to delete widgets for ${projectId}, dashboardId ${dashboardId}.`, widgetIds);
48
+ }
49
+ /**
50
+ * Get collection documents.
51
+ *
52
+ * @param projectId - Project Id
53
+ * @param collectionId - Collection Id
54
+ */
55
+ // TODO: map the response object
56
+ async getDocs(projectId, collectionId) {
57
+ return this.callGet(formatServiceUrl(API_PROJECT_COLLECTION_ID_URL, { url: this.config.url, projectId, collectionId }, this.config.insecure), `Failed to get doc collection for ${projectId}, collectionId ${collectionId}.`);
58
+ }
59
+ /**
60
+ * Create a document.
61
+ *
62
+ * @param projectId - Project Id
63
+ * @param collectionId - Collection Id
64
+ * @param doc - Document payload
65
+ */
66
+ // TODO: map the request model
67
+ // TODO: map the response object
68
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
69
+ async createDoc(projectId, collectionId, doc) {
70
+ return this.callPut(formatServiceUrl(API_PROJECT_COLLECTION_DOCS_URL, { url: this.config.url, projectId, collectionId }, this.config.insecure), doc, `Failed to create doc for ${projectId}, collectionId ${collectionId}.`);
71
+ }
72
+ /**
73
+ * Delete documents.
74
+ *
75
+ * @param projectId - Project Id
76
+ * @param collectionId - Collection Id
77
+ * @param docIds - List of document Id's
78
+ */
79
+ // TODO: map the response object
80
+ async deleteDocs(projectId, collectionId, docIds) {
81
+ return this.callDelete(formatServiceUrl(API_PROJECT_COLLECTION_DOCS_URL, { url: this.config.url, projectId, collectionId }, this.config.insecure), `Failed to delete docs for ${projectId}, collectionId ${collectionId}.`, docIds);
82
+ }
83
+ /**
84
+ * Create a dashboard
85
+ *
86
+ * @param projectId - Project Id
87
+ */
88
+ // TODO: map the response object
89
+ async createProjectDashboard(projectId) {
90
+ return this.callPost(formatServiceUrl(API_PROJECT_DASHBOARD_URL, { url: this.config.url, projectId }, this.config.insecure), [], `Failed to create dashboard for ${projectId}.`);
91
+ }
92
+ /**
93
+ * Update the dashboard with widgets.
94
+ *
95
+ * @param projectId - Project Id
96
+ * @param dashboardId - Dashboard Id
97
+ * @param widgets - Array of Widgets as payload {@link IWidget}
98
+ */
99
+ // TODO: map the response object
100
+ async updateProjectDashboard(projectId, dashboardId, widgets) {
101
+ return this.callPut(formatServiceUrl(API_PROJECT_DASHBOARD_ID_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), widgets, `Failed to update dashboard for ${projectId}.`);
102
+ }
103
+ /**
104
+ * Delete a dashboard.
105
+ *
106
+ * @param projectId - Project Id
107
+ * @param dashboardId - Dashboard Id
108
+ */
109
+ // TODO: map the response object
110
+ async deleteProjectDashboard(projectId, dashboardId) {
111
+ return this.callDelete(formatServiceUrl(API_PROJECT_DASHBOARD_ID_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), `Failed to delete dashboard for ${projectId}, dashboardId ${dashboardId}.`);
112
+ }
113
+ /**
114
+ * Get the dashboard
115
+ *
116
+ * @param projectId - Project Id
117
+ * @param dashboardId - Dashboard Id
118
+ */
119
+ // TODO: map the response object
120
+ async getProjectDashboard(projectId, dashboardId) {
121
+ return this.callGet(formatServiceUrl(API_PROJECT_DASHBOARD_ID_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), `Failed to get dashboard for ${projectId}, dashboardId ${dashboardId}.`);
122
+ }
123
+ /**
124
+ * Get all dashboards fora project.
125
+ *
126
+ * @param projectId - Project Id
127
+ */
128
+ // TODO: map the response object
129
+ async getProjectDashboardList(projectId) {
130
+ return this.callGet(formatServiceUrl(API_PROJECT_DASHBOARD_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get dashboards for ${projectId}.`);
131
+ }
132
+ /**
133
+ * Get all custom widgets for a dashboard.
134
+ *
135
+ * @param projectId - Project Id
136
+ * @param dashboardId - Dashboard Id
137
+ */
138
+ // TODO: map the response object
139
+ async getProjectDashboardCustomWidget(projectId, dashboardId) {
140
+ return this.callGet(formatServiceUrl(API_PROJECT_DASHBOARD_CUSTOM_WIDGET_URL, { url: this.config.url, projectId, dashboardId }, this.config.insecure), `Failed to get custom widgets for ${projectId}, dashboardId ${dashboardId}.`);
141
+ }
142
+ }