@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,200 @@
1
+ import { IInvitation, IInvitationType } from '../models/IInvitation';
2
+ import { RocosError } from '../models/RocosError';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { IBaseService } from '../models/IBaseService';
5
+ import { IInvitationExists } from '../models/IInvitationExists';
6
+ import { IPersonalAccessToken } from '../models/IPersonalAccessToken';
7
+ import { IProjectApplication } from '../models/IProjectApplication';
8
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
9
+ export declare class UserService extends BaseServiceAbstract implements IBaseService {
10
+ constructor(config: IRocosSDKConfig);
11
+ protected getError(e: Error): RocosError;
12
+ getStatus(): boolean;
13
+ /**
14
+ * Get the information of current user
15
+ */
16
+ info(): Promise<any>;
17
+ /**
18
+ * Get a new valid token
19
+ * @deprecated Please use {@link AuthService.getNewUserToken}
20
+ */
21
+ getToken(): Promise<any>;
22
+ /**
23
+ * Create a new invitation.
24
+ *
25
+ * @param invitation - Invitation payload {@link IInvitation}
26
+ */
27
+ createInvitation(invitation: IInvitation): Promise<any>;
28
+ /**
29
+ * List invitations
30
+ */
31
+ listInvitations(): Promise<any>;
32
+ /**
33
+ * Delete invitations by email and invite type.
34
+ *
35
+ * @param email - Email
36
+ * @param type
37
+ */
38
+ deleteInvitations(email: string, type: IInvitationType): Promise<any>;
39
+ /**
40
+ * Accept invitation by id
41
+ *
42
+ * @param invitationId - Invitation Id
43
+ */
44
+ acceptInvitation(invitationId: string): Promise<any>;
45
+ /**
46
+ * Check invitation by id
47
+ *
48
+ * @param invitationId - Invitation Id
49
+ */
50
+ checkInvitation(invitationId: string): Promise<IInvitationExists>;
51
+ /**
52
+ * Activate account by id
53
+ *
54
+ * @param accountId - Account Id
55
+ */
56
+ activateAccount(accountId: string): Promise<any>;
57
+ /**
58
+ * Resend verification email
59
+ *
60
+ * @param email - Email
61
+ */
62
+ resendVerificationEmail(email: string): Promise<any>;
63
+ /**
64
+ * Send forgotten password email.
65
+ *
66
+ * @param email - Email
67
+ */
68
+ sendForgottenPasswordEmail(email: string): Promise<any>;
69
+ /**
70
+ * Revoke user's project access.
71
+ *
72
+ * @param accountId - Account Id
73
+ * @param projectId - Project Id
74
+ * @param userId - User Id
75
+ */
76
+ removeProjectAccess(accountId: string, projectId: string, userId: string): Promise<any>;
77
+ /**
78
+ * Revoke user's account access.
79
+ *
80
+ * @param accountId - Account Id
81
+ * @param userId - User Id
82
+ */
83
+ removeAccountAccess(accountId: string, userId: string): Promise<any>;
84
+ /**
85
+ * List account users
86
+ *
87
+ * @param accountId - Account Id
88
+ */
89
+ listAccountUsers(accountId: string): Promise<any>;
90
+ /**
91
+ * List project users
92
+ *
93
+ * @param accountId - Account Id
94
+ * @param projectId - Project Id
95
+ */
96
+ listProjectUsers(accountId: string, projectId: string): Promise<any>;
97
+ /**
98
+ * Create a users personal access token.
99
+ *
100
+ * @param personalAccessToken - Payload {@link IPersonalAccessToken}
101
+ */
102
+ createPAT(personalAccessToken: IPersonalAccessToken): Promise<IPersonalAccessToken>;
103
+ /**
104
+ * Get all personal access tokens
105
+ *
106
+ * @param projectId - Project Id
107
+ * @param robotDefinitionId - Robot definition Id
108
+ */
109
+ getAllPATs(projectId: string, robotDefinitionId: string): Promise<any>;
110
+ /**
111
+ * Get a personal access token
112
+ *
113
+ * @param tokenString - Token string
114
+ */
115
+ getOnePAT(tokenString: string): Promise<any>;
116
+ /**
117
+ * REmove personal access token
118
+ *
119
+ * @param id - Token Id
120
+ */
121
+ removePATById(id: string): Promise<any>;
122
+ /**
123
+ * Get account details
124
+ *
125
+ * @param accountId - Account Id
126
+ */
127
+ accountDetails(accountId: string): Promise<any>;
128
+ /**
129
+ * Create an account
130
+ *
131
+ * @param name - Account name
132
+ */
133
+ createAccount(name: string): Promise<any>;
134
+ /**
135
+ * Authenticate application
136
+ *
137
+ * @param appId - Application Id
138
+ * @param appKey - Application Key
139
+ */
140
+ applicationAuth(appId: string, appKey: string): Promise<any>;
141
+ /**
142
+ * Create a new application
143
+ *
144
+ * @param accountId - Account Id
145
+ * @param projectId - Project Id
146
+ * @param model - Payload {@link IProjectApplication}
147
+ */
148
+ createApplication(accountId: string, projectId: string, model: IProjectApplication): Promise<IProjectApplication>;
149
+ /**
150
+ * List all applications
151
+ *
152
+ * @param accountId - Account Id
153
+ * @param projectId - Project Id
154
+ */
155
+ getAllApplications(accountId: string, projectId: string): Promise<any>;
156
+ /**
157
+ * Get application information
158
+ *
159
+ * @param accountId - Account Id
160
+ * @param projectId - Project Id
161
+ * @param applicationId - Application Id
162
+ */
163
+ getApplication(accountId: string, projectId: string, applicationId: string): Promise<any>;
164
+ /**
165
+ * Update application information
166
+ *
167
+ * @param accountId - Account Id
168
+ * @param projectId - Project Id
169
+ * @param applicationId - Application Id
170
+ * @param model - Payload
171
+ */
172
+ updateApplication(accountId: string, projectId: string, applicationId: string, model: any): Promise<any>;
173
+ /**
174
+ * Delete application
175
+ *
176
+ * @param accountId - Account ID
177
+ * @param projectId - Project ID
178
+ * @param applicationId - Application ID
179
+ */
180
+ deleteApplication(accountId: string, projectId: string, applicationId: string): Promise<any>;
181
+ /**
182
+ * Get account settings.
183
+ *
184
+ * @param accountId - Account Id
185
+ */
186
+ accountSettings(accountId: string): Promise<any>;
187
+ /**
188
+ * Update account settings
189
+ *
190
+ * @param accountId - Account ID
191
+ * @param settings - Updated account settings
192
+ */
193
+ updateAccountSettings(accountId: string, settings: any): Promise<any>;
194
+ /**
195
+ * Send a new invitation.
196
+ *
197
+ * @param invitation - Invitation payload {@link IInvitation}
198
+ */
199
+ sendInvitation(invitation: IInvitation): Promise<any>;
200
+ }
@@ -0,0 +1,315 @@
1
+ import { API_ACCOUNT_ACTIVATE_URL, API_ACCOUNT_ID_URL, API_ACCOUNT_PROJECT_APPLICATION_ID_URL, API_ACCOUNT_PROJECT_APPLICATION_URL, API_ACCOUNT_PROJECT_USER_ID_URL, API_ACCOUNT_PROJECT_USER_URL, API_ACCOUNT_SETTINGS_URL, API_ACCOUNT_URL, API_ADMIN_USER_INVITATION_URL, API_APPLICATION_AUTH_URL, API_AUTH_USER_ACCOUNT_USER_ID_URL, API_AUTH_USER_ACCOUNT_USER_URL, API_USER_INVITATION_ACCEPT_URL, API_USER_INVITATION_CHECK_URL, API_USER_INVITATION_URL, API_USER_PASSWORD_FORGOT_URL, API_USER_PAT_TOKEN_URL, API_USER_PAT_URL, API_USER_TOKEN_URL, API_USER_URL, API_USER_VERIFY_EMAIL_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 UserService extends BaseServiceAbstract {
7
+ constructor(config) {
8
+ super(config);
9
+ this.logger = RocosLogger.getInstance(`UserService(${this.config.url})`);
10
+ }
11
+ getError(e) {
12
+ return new RocosError(e, errorCodes.USER_SERVICE_ERROR);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ /**
18
+ * Get the information of current user
19
+ */
20
+ // TODO: map the response object
21
+ async info() {
22
+ return this.callGet(formatServiceUrl(API_USER_URL, { url: this.config.url }, this.config.insecure), 'Failed to get user details.');
23
+ }
24
+ /**
25
+ * Get a new valid token
26
+ * @deprecated Please use {@link AuthService.getNewUserToken}
27
+ */
28
+ // TODO: map the response object
29
+ async getToken() {
30
+ return this.callGet(formatServiceUrl(API_USER_TOKEN_URL, { url: this.config.url }, this.config.insecure), 'Failed to get user token.');
31
+ }
32
+ /**
33
+ * Create a new invitation.
34
+ *
35
+ * @param invitation - Invitation payload {@link IInvitation}
36
+ */
37
+ // TODO: map the response object
38
+ async createInvitation(invitation) {
39
+ return this.callPost(formatServiceUrl(API_USER_INVITATION_URL, { url: this.config.url }, this.config.insecure), invitation, 'Failed to create user invitation.');
40
+ }
41
+ /**
42
+ * List invitations
43
+ */
44
+ // TODO: map the response object
45
+ async listInvitations() {
46
+ return this.callGet(formatServiceUrl(API_USER_INVITATION_URL, { url: this.config.url }, this.config.insecure), 'Failed to get user invitations.');
47
+ }
48
+ /**
49
+ * Delete invitations by email and invite type.
50
+ *
51
+ * @param email - Email
52
+ * @param type
53
+ */
54
+ // TODO: map the response object
55
+ async deleteInvitations(email, type) {
56
+ return this.callDelete(formatServiceUrl(API_USER_INVITATION_URL, { url: this.config.url }, this.config.insecure), `Failed to delete user invitation ${email}, type ${type}.`, { email, type });
57
+ }
58
+ /**
59
+ * Accept invitation by id
60
+ *
61
+ * @param invitationId - Invitation Id
62
+ */
63
+ // TODO: map the response object
64
+ async acceptInvitation(invitationId) {
65
+ return this.callPut(formatServiceUrl(API_USER_INVITATION_ACCEPT_URL, { url: this.config.url, invitationId }, this.config.insecure), null, `Failed to accept user invitation ${invitationId}.`);
66
+ }
67
+ /**
68
+ * Check invitation by id
69
+ *
70
+ * @param invitationId - Invitation Id
71
+ */
72
+ async checkInvitation(invitationId) {
73
+ return this.callGet(formatServiceUrl(API_USER_INVITATION_CHECK_URL, { url: this.config.url, invitationId }, this.config.insecure), `Failed to check user invitation ${invitationId}.`);
74
+ }
75
+ /**
76
+ * Activate account by id
77
+ *
78
+ * @param accountId - Account Id
79
+ */
80
+ // TODO: map the response object
81
+ async activateAccount(accountId) {
82
+ return this.callPost(formatServiceUrl(API_ACCOUNT_ACTIVATE_URL, { url: this.config.url, accountId }, this.config.insecure), null, `Failed to activate account ${accountId}.`);
83
+ }
84
+ /**
85
+ * Resend verification email
86
+ *
87
+ * @param email - Email
88
+ */
89
+ // TODO: map the response object
90
+ async resendVerificationEmail(email) {
91
+ return this.callPost(formatServiceUrl(API_USER_VERIFY_EMAIL_URL, { url: this.config.url }, this.config.insecure), { email }, `Failed to send verification email ${email}.`);
92
+ }
93
+ /**
94
+ * Send forgotten password email.
95
+ *
96
+ * @param email - Email
97
+ */
98
+ // TODO: map the response object
99
+ async sendForgottenPasswordEmail(email) {
100
+ return this.callPost(formatServiceUrl(API_USER_PASSWORD_FORGOT_URL, { url: this.config.url }, this.config.insecure), { email }, `Failed to send forgot password email ${email}.`);
101
+ }
102
+ /**
103
+ * Revoke user's project access.
104
+ *
105
+ * @param accountId - Account Id
106
+ * @param projectId - Project Id
107
+ * @param userId - User Id
108
+ */
109
+ // TODO: map the response object
110
+ async removeProjectAccess(accountId, projectId, userId) {
111
+ return this.callDelete(formatServiceUrl(API_ACCOUNT_PROJECT_USER_ID_URL, {
112
+ url: this.config.url,
113
+ accountId,
114
+ projectId,
115
+ userId,
116
+ }, this.config.insecure), `Failed to remove project access ${accountId}, projectId ${projectId}, userId ${userId}.`);
117
+ }
118
+ /**
119
+ * Revoke user's account access.
120
+ *
121
+ * @param accountId - Account Id
122
+ * @param userId - User Id
123
+ */
124
+ // TODO: map the response object
125
+ async removeAccountAccess(accountId, userId) {
126
+ return this.callDelete(formatServiceUrl(API_AUTH_USER_ACCOUNT_USER_ID_URL, { url: this.config.url, accountId, userId }, this.config.insecure), `Failed to remove account access ${accountId}, userId ${userId}.`);
127
+ }
128
+ /**
129
+ * List account users
130
+ *
131
+ * @param accountId - Account Id
132
+ */
133
+ // TODO: map the response object
134
+ async listAccountUsers(accountId) {
135
+ return this.callGet(formatServiceUrl(API_AUTH_USER_ACCOUNT_USER_URL, { url: this.config.url, accountId }, this.config.insecure), `Failed to remove account access ${accountId}.`);
136
+ }
137
+ /**
138
+ * List project users
139
+ *
140
+ * @param accountId - Account Id
141
+ * @param projectId - Project Id
142
+ */
143
+ // TODO: map the response object
144
+ async listProjectUsers(accountId, projectId) {
145
+ return this.callGet(formatServiceUrl(API_ACCOUNT_PROJECT_USER_URL, { url: this.config.url, accountId, projectId }, this.config.insecure), `Failed to get account project users ${accountId}, projectId ${projectId}.`);
146
+ }
147
+ /**
148
+ * Create a users personal access token.
149
+ *
150
+ * @param personalAccessToken - Payload {@link IPersonalAccessToken}
151
+ */
152
+ async createPAT(personalAccessToken) {
153
+ return this.callPost(formatServiceUrl(API_USER_PAT_URL, { url: this.config.url }, this.config.insecure), personalAccessToken, 'Failed to create personal access token.');
154
+ }
155
+ /**
156
+ * Get all personal access tokens
157
+ *
158
+ * @param projectId - Project Id
159
+ * @param robotDefinitionId - Robot definition Id
160
+ */
161
+ // TODO: map the response object
162
+ async getAllPATs(projectId, robotDefinitionId) {
163
+ return this.callGet(formatServiceUrl(API_USER_PAT_URL, { url: this.config.url }, this.config.insecure), `Failed to get personal access tokens ${projectId}, robotDefinitionId ${robotDefinitionId}.`, {
164
+ 'q[projectId]': projectId,
165
+ 'q[metaData.defaultRobotDefinitionId]': robotDefinitionId,
166
+ });
167
+ }
168
+ /**
169
+ * Get a personal access token
170
+ *
171
+ * @param tokenString - Token string
172
+ */
173
+ // TODO: map the response object
174
+ async getOnePAT(tokenString) {
175
+ return this.callGet(formatServiceUrl(API_USER_PAT_TOKEN_URL, { url: this.config.url, token: tokenString }, this.config.insecure), 'Failed to get personal access token.');
176
+ }
177
+ /**
178
+ * REmove personal access token
179
+ *
180
+ * @param id - Token Id
181
+ */
182
+ // TODO: map the response object
183
+ async removePATById(id) {
184
+ return this.callDelete(formatServiceUrl(API_USER_PAT_TOKEN_URL, { url: this.config.url, token: id }, this.config.insecure), 'Failed to remove personal access token.');
185
+ }
186
+ /**
187
+ * Get account details
188
+ *
189
+ * @param accountId - Account Id
190
+ */
191
+ // TODO: map the response object
192
+ async accountDetails(accountId) {
193
+ return this.callGet(formatServiceUrl(API_ACCOUNT_ID_URL, { url: this.config.url, accountId }, this.config.insecure), `Failed to get account details ${accountId}.`);
194
+ }
195
+ /**
196
+ * Create an account
197
+ *
198
+ * @param name - Account name
199
+ */
200
+ // TODO: map the response object
201
+ async createAccount(name) {
202
+ return this.callPost(formatServiceUrl(API_ACCOUNT_URL, { url: this.config.url }, this.config.insecure), { name }, 'Failed to create account.');
203
+ }
204
+ /**
205
+ * Authenticate application
206
+ *
207
+ * @param appId - Application Id
208
+ * @param appKey - Application Key
209
+ */
210
+ // TODO: map the response object
211
+ async applicationAuth(appId, appKey) {
212
+ return this.callPost(formatServiceUrl(API_APPLICATION_AUTH_URL, { url: this.config.url }, this.config.insecure), { applicationId: appId, secret: appKey }, `Failed to authenticate application ${appId}.`);
213
+ }
214
+ /**
215
+ * Create a new application
216
+ *
217
+ * @param accountId - Account Id
218
+ * @param projectId - Project Id
219
+ * @param model - Payload {@link IProjectApplication}
220
+ */
221
+ async createApplication(accountId, projectId, model) {
222
+ return this.callPost(formatServiceUrl(API_ACCOUNT_PROJECT_APPLICATION_URL, { url: this.config.url, accountId, projectId }, this.config.insecure), model, `Failed to create application ${accountId}, projectId ${projectId}.`);
223
+ }
224
+ /**
225
+ * List all applications
226
+ *
227
+ * @param accountId - Account Id
228
+ * @param projectId - Project Id
229
+ */
230
+ // TODO: map the response object
231
+ async getAllApplications(accountId, projectId) {
232
+ return this.callGet(formatServiceUrl(API_ACCOUNT_PROJECT_APPLICATION_URL, { url: this.config.url, accountId, projectId }, this.config.insecure), `Failed to get applications ${accountId}, projectId ${projectId}.`);
233
+ }
234
+ /**
235
+ * Get application information
236
+ *
237
+ * @param accountId - Account Id
238
+ * @param projectId - Project Id
239
+ * @param applicationId - Application Id
240
+ */
241
+ // TODO: map the response object
242
+ async getApplication(accountId, projectId, applicationId) {
243
+ return this.callGet(formatServiceUrl(API_ACCOUNT_PROJECT_APPLICATION_ID_URL, {
244
+ url: this.config.url,
245
+ accountId,
246
+ projectId,
247
+ applicationId,
248
+ }, this.config.insecure), `Failed to get application ${accountId}, projectId ${projectId}, applicationId ${applicationId}.`);
249
+ }
250
+ /**
251
+ * Update application information
252
+ *
253
+ * @param accountId - Account Id
254
+ * @param projectId - Project Id
255
+ * @param applicationId - Application Id
256
+ * @param model - Payload
257
+ */
258
+ // TODO: map the request model
259
+ // TODO: map the response object
260
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
261
+ async updateApplication(accountId, projectId, applicationId, model) {
262
+ return this.callPut(formatServiceUrl(API_ACCOUNT_PROJECT_APPLICATION_ID_URL, {
263
+ url: this.config.url,
264
+ accountId,
265
+ projectId,
266
+ applicationId,
267
+ }, this.config.insecure), model, `Failed to update application ${accountId}, projectId ${projectId}, applicationId ${applicationId}.`);
268
+ }
269
+ /**
270
+ * Delete application
271
+ *
272
+ * @param accountId - Account ID
273
+ * @param projectId - Project ID
274
+ * @param applicationId - Application ID
275
+ */
276
+ // TODO: map the response object
277
+ async deleteApplication(accountId, projectId, applicationId) {
278
+ return this.callDelete(formatServiceUrl(API_ACCOUNT_PROJECT_APPLICATION_ID_URL, {
279
+ url: this.config.url,
280
+ accountId,
281
+ projectId,
282
+ applicationId,
283
+ }, this.config.insecure), `Failed to delete application ${accountId}, projectId ${projectId}, applicationId ${applicationId}.`);
284
+ }
285
+ /**
286
+ * Get account settings.
287
+ *
288
+ * @param accountId - Account Id
289
+ */
290
+ // TODO: map the response object
291
+ async accountSettings(accountId) {
292
+ return this.callGet(formatServiceUrl(API_ACCOUNT_SETTINGS_URL, { url: this.config.url, accountId }, this.config.insecure), `Failed to get account settings ${accountId}.`);
293
+ }
294
+ /**
295
+ * Update account settings
296
+ *
297
+ * @param accountId - Account ID
298
+ * @param settings - Updated account settings
299
+ */
300
+ // TODO: map the request model
301
+ // TODO: map the response object
302
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
303
+ async updateAccountSettings(accountId, settings) {
304
+ return this.callPut(formatServiceUrl(API_ACCOUNT_SETTINGS_URL, { url: this.config.url, accountId }, this.config.insecure), settings, `Failed to update account settings ${accountId}.`);
305
+ }
306
+ /**
307
+ * Send a new invitation.
308
+ *
309
+ * @param invitation - Invitation payload {@link IInvitation}
310
+ */
311
+ // TODO: map the response object
312
+ async sendInvitation(invitation) {
313
+ return this.callPost(formatServiceUrl(API_ADMIN_USER_INVITATION_URL, { url: this.config.url }, this.config.insecure), invitation, 'Failed to send invitation.');
314
+ }
315
+ }
@@ -0,0 +1,22 @@
1
+ import { IAddIceCandidateRequest, IGetDetailsRequest, IOfferRequest, IOperatorConnectRequest, IWebRTCSignallingGetDetailsResponse, IWebRTCSignallingMessage, IWebRTCSignallingOutcome, IWebRTCSignallingResponseStream, IWebRTCSignallingStream } from '..';
2
+ import { IBaseService } from '../models/IBaseService';
3
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
4
+ import { IStreamConfig } from '../models/IStreamConfig';
5
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
6
+ import { Subject } from 'rxjs';
7
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
8
+ export declare class WebRTCSignallingService implements IBaseService, ISubscriberStatus {
9
+ private config;
10
+ private logger;
11
+ private status;
12
+ status$: Subject<SubscriberStatusEnum>;
13
+ constructor(config: IRocosSDKConfig);
14
+ getStatus(): boolean;
15
+ connectOperator(request: IOperatorConnectRequest): Promise<IWebRTCSignallingResponseStream<IWebRTCSignallingMessage>>;
16
+ getDetails(request: IGetDetailsRequest): Promise<IWebRTCSignallingGetDetailsResponse>;
17
+ offerConnection(request: IOfferRequest): Promise<IWebRTCSignallingOutcome>;
18
+ addIceCandidate(request: IAddIceCandidateRequest): Promise<IWebRTCSignallingOutcome>;
19
+ private createSignallingStream;
20
+ private initStream;
21
+ protected getStream(config: IStreamConfig): IWebRTCSignallingStream;
22
+ }
@@ -0,0 +1,78 @@
1
+ import { IDENTIFIER_NAME_COMMAND } from '../constants/identifier';
2
+ import { RocosLogger } from '../logger/RocosLogger';
3
+ import { RocosStore } from '../store/RocosStore';
4
+ import { StreamRegister } from '../api/StreamRegister';
5
+ import { Subject } from 'rxjs';
6
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
7
+ import { WebRTCSignallingStream } from '../api/streams/webRTCSignalling/WebRTCSignallingStream';
8
+ export class WebRTCSignallingService {
9
+ constructor(config) {
10
+ this.status = false;
11
+ this.status$ = new Subject();
12
+ this.config = config;
13
+ this.logger = RocosLogger.getInstance(`WebRTCSignallingService(${this.config.url})`);
14
+ RocosStore.getSDKInstance(this.config).getAuthService().startTokenRefreshChecker();
15
+ }
16
+ getStatus() {
17
+ return this.status;
18
+ }
19
+ async connectOperator(request) {
20
+ const stream = await this.createSignallingStream();
21
+ return stream.connectOperator(request);
22
+ }
23
+ async getDetails(request) {
24
+ const stream = await this.createSignallingStream();
25
+ return stream.getDetails(request);
26
+ }
27
+ async offerConnection(request) {
28
+ const stream = await this.createSignallingStream();
29
+ return stream.offerConnection(request);
30
+ }
31
+ async addIceCandidate(request) {
32
+ const stream = await this.createSignallingStream();
33
+ return stream.addIceCandidate(request);
34
+ }
35
+ async createSignallingStream() {
36
+ const scope = 'default';
37
+ const identifier = StreamRegister.getIdentifier(IDENTIFIER_NAME_COMMAND, scope);
38
+ const streamRegister = StreamRegister.getInstance();
39
+ let stream = streamRegister.getStream(identifier);
40
+ if (!stream) {
41
+ stream = this.getStream({
42
+ url: this.config.url,
43
+ token: this.config.token,
44
+ scope,
45
+ options: this.config.options,
46
+ port: this.config.port,
47
+ insecure: this.config.insecure,
48
+ });
49
+ stream.statusStream$.subscribe((msg) => {
50
+ this.status = msg === SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum.ALIVE;
51
+ this.status$.next(msg);
52
+ });
53
+ // don't wait for these promises, they can be init after startup
54
+ await streamRegister.addStream(stream);
55
+ await this.initStream(stream);
56
+ }
57
+ return stream;
58
+ }
59
+ async initStream(stream) {
60
+ // an async callback to set the stream token in case one was not set at startup
61
+ if (!this.config.token) {
62
+ try {
63
+ const authService = RocosStore.getSDKInstance(this.config).getAuthService();
64
+ const token = await authService.getToken();
65
+ if (token?.value) {
66
+ this.config.token = token?.value;
67
+ stream.setToken(this.config.token);
68
+ }
69
+ }
70
+ catch (e) {
71
+ this.logger.info('Can not retrieve auth token for web rtc signalling stream', e);
72
+ }
73
+ }
74
+ }
75
+ getStream(config) {
76
+ return new WebRTCSignallingStream(config);
77
+ }
78
+ }
@@ -0,0 +1,71 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
5
+ export declare class WorkflowService extends BaseServiceAbstract implements IBaseService {
6
+ constructor(config: IRocosSDKConfig);
7
+ protected getError(e: Error): RocosError;
8
+ getStatus(): boolean;
9
+ /**
10
+ * Create workflow
11
+ *
12
+ * @param projectId - Project Id
13
+ * @param model - Payload
14
+ */
15
+ createOne(projectId: string, model: any): Promise<any>;
16
+ /**
17
+ * Get workflows for project
18
+ *
19
+ * @param projectId - Project Id
20
+ * @param includeRocosGraph - Include Rocos graph
21
+ * @param includeStats - Include stats
22
+ * @param opsId - Ops Id
23
+ * @param workflowIds - Workflow Id's
24
+ */
25
+ getAll(projectId: string, includeRocosGraph?: boolean, includeStats?: boolean, opsId?: string, workflowIds?: string[]): Promise<any>;
26
+ /**
27
+ * Get a workflow
28
+ *
29
+ * @param projectId - Project Id
30
+ * @param workflowId - Workflow Id
31
+ * @param includeInstances - Include instances
32
+ */
33
+ getOne(projectId: string, workflowId: string, includeInstances?: boolean): Promise<any>;
34
+ /**
35
+ * Update a workflow
36
+ *
37
+ * @param projectId - Project Id
38
+ * @param workflowId - Workflow Id
39
+ * @param model - Payload
40
+ */
41
+ updateOne(projectId: string, workflowId: string, model: any): Promise<any>;
42
+ /**
43
+ * Delete a workflow
44
+ *
45
+ * @param projectId - Project Id
46
+ * @param workflowId - Workflow Id
47
+ */
48
+ deleteOne(projectId: string, workflowId: string): Promise<any>;
49
+ /**
50
+ * Get all workflows for a robot
51
+ *
52
+ * @param projectId - Project Id
53
+ * @param callsign - Robot callsign
54
+ */
55
+ getAllOfRobot(projectId: string, callsign: string): Promise<any>;
56
+ /**
57
+ * Update workflows for a robot
58
+ *
59
+ * @param projectId - Project Id
60
+ * @param callsign - Robot callsign
61
+ * @param model - Payload
62
+ */
63
+ updateAllForRobot(projectId: string, callsign: string, model: any): Promise<any>;
64
+ /**
65
+ * Get deployed workflows on robot
66
+ *
67
+ * @param projectId - Project Id
68
+ * @param callsign - Robot callsign
69
+ */
70
+ getDeployedOnRobot(projectId: string, callsign: string): Promise<any>;
71
+ }