@dronedeploy/rocos-js-sdk 0.0.1 → 3.0.0-alpha.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (470) 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 +127 -0
  51. package/constants/api.js +127 -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 +12 -0
  150. package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
  151. package/helpers/nanosecondToMillisecond.spec.js +20 -0
  152. package/helpers/randomString.d.ts +1 -0
  153. package/helpers/randomString.js +3 -0
  154. package/helpers/standardDeviation.d.ts +1 -0
  155. package/helpers/standardDeviation.js +12 -0
  156. package/helpers/standardDeviation.spec.d.ts +1 -0
  157. package/helpers/standardDeviation.spec.js +11 -0
  158. package/helpers/stringToUint8Array.d.ts +1 -0
  159. package/helpers/stringToUint8Array.js +10 -0
  160. package/helpers/uint8ArrayToString.d.ts +1 -0
  161. package/helpers/uint8ArrayToString.js +10 -0
  162. package/index.d.ts +7 -0
  163. package/index.js +7 -0
  164. package/logger/RocosLogger.d.ts +7 -0
  165. package/logger/RocosLogger.js +37 -0
  166. package/models/CallsignStatus.d.ts +6 -0
  167. package/models/CallsignStatus.js +7 -0
  168. package/models/ExportDataQuery.d.ts +8 -0
  169. package/models/ExportDataQuery.js +13 -0
  170. package/models/ExternalProject.d.ts +6 -0
  171. package/models/ExternalProject.js +2 -0
  172. package/models/IBaseService.d.ts +4 -0
  173. package/models/IBaseService.js +1 -0
  174. package/models/IConfigGroup.d.ts +5 -0
  175. package/models/IConfigGroup.js +1 -0
  176. package/models/IDebugLevel.d.ts +2 -0
  177. package/models/IDebugLevel.js +1 -0
  178. package/models/IExportDataQuery.d.ts +9 -0
  179. package/models/IExportDataQuery.js +1 -0
  180. package/models/IFunctionConfig.d.ts +8 -0
  181. package/models/IFunctionConfig.js +1 -0
  182. package/models/IInvitation.d.ts +6 -0
  183. package/models/IInvitation.js +1 -0
  184. package/models/IInvitationExists.d.ts +4 -0
  185. package/models/IInvitationExists.js +1 -0
  186. package/models/IOperation.d.ts +6 -0
  187. package/models/IOperation.js +1 -0
  188. package/models/IPersonalAccessToken.d.ts +16 -0
  189. package/models/IPersonalAccessToken.js +1 -0
  190. package/models/IProject.d.ts +4 -0
  191. package/models/IProject.js +1 -0
  192. package/models/IProjectApplication.d.ts +6 -0
  193. package/models/IProjectApplication.js +1 -0
  194. package/models/IRobot.d.ts +18 -0
  195. package/models/IRobot.js +1 -0
  196. package/models/IRobotConfig.d.ts +8 -0
  197. package/models/IRobotConfig.js +1 -0
  198. package/models/IRobotPlugin.d.ts +3 -0
  199. package/models/IRobotPlugin.js +1 -0
  200. package/models/IRobotSettings.d.ts +28 -0
  201. package/models/IRobotSettings.js +1 -0
  202. package/models/IRobotTemplate.d.ts +10 -0
  203. package/models/IRobotTemplate.js +1 -0
  204. package/models/IRocosSDKConfig.d.ts +19 -0
  205. package/models/IRocosSDKConfig.js +1 -0
  206. package/models/ISource.d.ts +8 -0
  207. package/models/ISource.js +1 -0
  208. package/models/IStream.d.ts +9 -0
  209. package/models/IStream.js +1 -0
  210. package/models/IStreamConfig.d.ts +9 -0
  211. package/models/IStreamConfig.js +1 -0
  212. package/models/IStreamOptions.d.ts +7 -0
  213. package/models/IStreamOptions.js +1 -0
  214. package/models/IStreamSource.d.ts +8 -0
  215. package/models/IStreamSource.js +1 -0
  216. package/models/ISubscriberStatus.d.ts +5 -0
  217. package/models/ISubscriberStatus.js +1 -0
  218. package/models/ITelemetryStreamConfig.d.ts +7 -0
  219. package/models/ITelemetryStreamConfig.js +1 -0
  220. package/models/IToken.d.ts +9 -0
  221. package/models/IToken.js +1 -0
  222. package/models/IWidget.d.ts +25 -0
  223. package/models/IWidget.js +1 -0
  224. package/models/IWidgetLineGroup.d.ts +8 -0
  225. package/models/IWidgetLineGroup.js +1 -0
  226. package/models/ResponseLevelEnum.d.ts +10 -0
  227. package/models/ResponseLevelEnum.js +11 -0
  228. package/models/Robot.d.ts +20 -0
  229. package/models/Robot.js +8 -0
  230. package/models/RobotConfig.d.ts +10 -0
  231. package/models/RobotConfig.js +5 -0
  232. package/models/RobotPlugin.d.ts +5 -0
  233. package/models/RobotPlugin.js +5 -0
  234. package/models/RobotTemplate.d.ts +12 -0
  235. package/models/RobotTemplate.js +25 -0
  236. package/models/RocosError.d.ts +30 -0
  237. package/models/RocosError.js +39 -0
  238. package/models/ServiceEnum.d.ts +26 -0
  239. package/models/ServiceEnum.js +27 -0
  240. package/models/Stream.d.ts +10 -0
  241. package/models/Stream.js +11 -0
  242. package/models/StreamOptions.d.ts +9 -0
  243. package/models/StreamOptions.js +33 -0
  244. package/models/StreamSource.d.ts +10 -0
  245. package/models/StreamSource.js +11 -0
  246. package/models/SubscriberStatusEnum.d.ts +6 -0
  247. package/models/SubscriberStatusEnum.js +7 -0
  248. package/models/Token.d.ts +40 -0
  249. package/models/Token.js +78 -0
  250. package/models/Token.spec.d.ts +1 -0
  251. package/models/Token.spec.js +108 -0
  252. package/models/Widget.d.ts +27 -0
  253. package/models/Widget.js +12 -0
  254. package/models/WidgetLineGroup.d.ts +10 -0
  255. package/models/WidgetLineGroup.js +5 -0
  256. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  257. package/models/asset-storage/AssetModelItem.js +1 -0
  258. package/models/caller/IRocosCallerMessageChunk.d.ts +10 -0
  259. package/models/caller/IRocosCallerMessageChunk.js +1 -0
  260. package/models/caller/IRocosCallerMessageChunks.d.ts +4 -0
  261. package/models/caller/IRocosCallerMessageChunks.js +1 -0
  262. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -0
  263. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -0
  264. package/models/caller/IRocosCallerMessageResponse.d.ts +10 -0
  265. package/models/caller/IRocosCallerMessageResponse.js +1 -0
  266. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -0
  267. package/models/caller/IRocosCallerMessageResponseAck.js +13 -0
  268. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -0
  269. package/models/caller/IRocosCallerMessageResponseResult.js +12 -0
  270. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  271. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  272. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -0
  273. package/models/caller/IRocosCallerMessageResponseUid.js +7 -0
  274. package/models/caller/IRocosCallerMessageResponses.d.ts +4 -0
  275. package/models/caller/IRocosCallerMessageResponses.js +1 -0
  276. package/models/caller/RocosCallerResultStatus.d.ts +11 -0
  277. package/models/caller/RocosCallerResultStatus.js +12 -0
  278. package/models/caller/RocosResponseLevel.d.ts +6 -0
  279. package/models/caller/RocosResponseLevel.js +7 -0
  280. package/models/caller/index.d.ts +10 -0
  281. package/models/caller/index.js +10 -0
  282. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  283. package/models/callsigns/CallsignsEnums.js +17 -0
  284. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  285. package/models/callsigns/CallsignsLookup.js +28 -0
  286. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  287. package/models/callsigns/CallsignsQuery.js +14 -0
  288. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  289. package/models/callsigns/CallsignsQueryPredicate.js +15 -0
  290. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -0
  291. package/models/command/IRocosCommandMessageHeartbeat.js +1 -0
  292. package/models/command/IRocosCommandMessageResponse.d.ts +55 -0
  293. package/models/command/IRocosCommandMessageResponse.js +29 -0
  294. package/models/command/RocosCommandResultStatus.d.ts +11 -0
  295. package/models/command/RocosCommandResultStatus.js +12 -0
  296. package/models/command/index.d.ts +4 -0
  297. package/models/command/index.js +4 -0
  298. package/models/file/FileEnums.d.ts +30 -0
  299. package/models/file/FileEnums.js +33 -0
  300. package/models/index.d.ts +75 -0
  301. package/models/index.js +75 -0
  302. package/models/integrations/Overlay.d.ts +49 -0
  303. package/models/integrations/Overlay.js +1 -0
  304. package/models/integrations/Plan.d.ts +324 -0
  305. package/models/integrations/Plan.js +1 -0
  306. package/models/maps/Map.d.ts +11 -0
  307. package/models/maps/Map.js +1 -0
  308. package/models/message/IRocosCallerMessage.d.ts +8 -0
  309. package/models/message/IRocosCallerMessage.js +1 -0
  310. package/models/message/IRocosChangeMessage.d.ts +6 -0
  311. package/models/message/IRocosChangeMessage.js +1 -0
  312. package/models/message/IRocosCommandMessage.d.ts +6 -0
  313. package/models/message/IRocosCommandMessage.js +1 -0
  314. package/models/message/IRocosControlMessage.d.ts +7 -0
  315. package/models/message/IRocosControlMessage.js +1 -0
  316. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  317. package/models/message/IRocosOpResultMessage.js +1 -0
  318. package/models/message/IRocosSearchMessage.d.ts +5 -0
  319. package/models/message/IRocosSearchMessage.js +1 -0
  320. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  321. package/models/message/IRocosSearchRowMessage.js +1 -0
  322. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  323. package/models/message/IRocosSearchStatusMessage.js +1 -0
  324. package/models/message/IRocosTelemetryMessage.d.ts +23 -0
  325. package/models/message/IRocosTelemetryMessage.js +1 -0
  326. package/models/message/IStreamStatusMessage.d.ts +5 -0
  327. package/models/message/IStreamStatusMessage.js +1 -0
  328. package/models/message/RocosCallerMessage.d.ts +10 -0
  329. package/models/message/RocosCallerMessage.js +32 -0
  330. package/models/message/RocosCommandMessage.d.ts +9 -0
  331. package/models/message/RocosCommandMessage.js +13 -0
  332. package/models/message/RocosControlMessage.d.ts +11 -0
  333. package/models/message/RocosControlMessage.js +14 -0
  334. package/models/message/RocosOpResultMessage.d.ts +10 -0
  335. package/models/message/RocosOpResultMessage.js +18 -0
  336. package/models/message/RocosSearchMessage.d.ts +9 -0
  337. package/models/message/RocosSearchMessage.js +24 -0
  338. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  339. package/models/message/RocosSearchRowMessage.js +16 -0
  340. package/models/message/RocosTelemetryMessage.d.ts +10 -0
  341. package/models/message/RocosTelemetryMessage.js +63 -0
  342. package/models/message/index.d.ts +17 -0
  343. package/models/message/index.js +17 -0
  344. package/models/params/ICallerParams.d.ts +16 -0
  345. package/models/params/ICallerParams.js +1 -0
  346. package/models/params/ICommandParams.d.ts +9 -0
  347. package/models/params/ICommandParams.js +1 -0
  348. package/models/params/IControlParams.d.ts +8 -0
  349. package/models/params/IControlParams.js +1 -0
  350. package/models/params/IFileAccessorParams.d.ts +11 -0
  351. package/models/params/IFileAccessorParams.js +1 -0
  352. package/models/params/ISearchParams.d.ts +10 -0
  353. package/models/params/ISearchParams.js +1 -0
  354. package/models/params/ITelemetryParams.d.ts +18 -0
  355. package/models/params/ITelemetryParams.js +1 -0
  356. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  357. package/models/params/IWebRTCSignallingParams.js +1 -0
  358. package/models/projects/ProjectUser.d.ts +6 -0
  359. package/models/projects/ProjectUser.js +1 -0
  360. package/models/schedule/IScheduleAction.d.ts +13 -0
  361. package/models/schedule/IScheduleAction.js +6 -0
  362. package/models/schedule/IScheduleInfo.d.ts +11 -0
  363. package/models/schedule/IScheduleInfo.js +1 -0
  364. package/models/schedule/IScheduleJob.d.ts +12 -0
  365. package/models/schedule/IScheduleJob.js +1 -0
  366. package/models/search/SearchQueryFilter.d.ts +5 -0
  367. package/models/search/SearchQueryFilter.js +5 -0
  368. package/models/search/SearchStreamQuery.d.ts +15 -0
  369. package/models/search/SearchStreamQuery.js +6 -0
  370. package/models/stream/IBaseStream.d.ts +8 -0
  371. package/models/stream/IBaseStream.js +1 -0
  372. package/models/stream/ICallerStream.d.ts +8 -0
  373. package/models/stream/ICallerStream.js +1 -0
  374. package/models/stream/ICommandStream.d.ts +7 -0
  375. package/models/stream/ICommandStream.js +1 -0
  376. package/models/stream/IControlStream.d.ts +9 -0
  377. package/models/stream/IControlStream.js +1 -0
  378. package/models/stream/IFileAccessorStream.d.ts +9 -0
  379. package/models/stream/IFileAccessorStream.js +1 -0
  380. package/models/stream/ISearchStream.d.ts +11 -0
  381. package/models/stream/ISearchStream.js +1 -0
  382. package/models/stream/ITelemetryStream.d.ts +10 -0
  383. package/models/stream/ITelemetryStream.js +1 -0
  384. package/models/stream/IWebRTCSignallingStream.d.ts +76 -0
  385. package/models/stream/IWebRTCSignallingStream.js +1 -0
  386. package/models/types.d.ts +5 -0
  387. package/models/types.js +1 -0
  388. package/node/RocosSDKNode.d.ts +42 -0
  389. package/node/RocosSDKNode.js +143 -0
  390. package/node/index.d.ts +7 -0
  391. package/node/index.js +7 -0
  392. package/package.json +23 -7
  393. package/services/AssetStorageService.d.ts +106 -0
  394. package/services/AssetStorageService.js +169 -0
  395. package/services/AuthService.d.ts +93 -0
  396. package/services/AuthService.js +235 -0
  397. package/services/AuthService.spec.d.ts +1 -0
  398. package/services/AuthService.spec.js +163 -0
  399. package/services/BaseServiceAbstract.d.ts +36 -0
  400. package/services/BaseServiceAbstract.js +101 -0
  401. package/services/BaseStreamService.d.ts +18 -0
  402. package/services/BaseStreamService.js +47 -0
  403. package/services/CallerService.d.ts +10 -0
  404. package/services/CallerService.js +53 -0
  405. package/services/CallerServiceNode.d.ts +6 -0
  406. package/services/CallerServiceNode.js +7 -0
  407. package/services/CommandService.d.ts +9 -0
  408. package/services/CommandService.js +38 -0
  409. package/services/CommandServiceNode.d.ts +6 -0
  410. package/services/CommandServiceNode.js +7 -0
  411. package/services/ConfigGroupService.d.ts +89 -0
  412. package/services/ConfigGroupService.js +153 -0
  413. package/services/ControlService.d.ts +11 -0
  414. package/services/ControlService.js +57 -0
  415. package/services/ControlServiceNode.d.ts +6 -0
  416. package/services/ControlServiceNode.js +7 -0
  417. package/services/DashboardService.d.ts +97 -0
  418. package/services/DashboardService.js +142 -0
  419. package/services/EventService.d.ts +53 -0
  420. package/services/EventService.js +85 -0
  421. package/services/FileAccessorService.d.ts +11 -0
  422. package/services/FileAccessorService.js +37 -0
  423. package/services/FileAccessorServiceNode.d.ts +6 -0
  424. package/services/FileAccessorServiceNode.js +7 -0
  425. package/services/FunctionService.d.ts +68 -0
  426. package/services/FunctionService.js +99 -0
  427. package/services/IntegrationService.d.ts +48 -0
  428. package/services/IntegrationService.js +72 -0
  429. package/services/MapService.d.ts +107 -0
  430. package/services/MapService.js +149 -0
  431. package/services/PlatformTimeService.d.ts +35 -0
  432. package/services/PlatformTimeService.js +156 -0
  433. package/services/PlatformTimeService.spec.d.ts +1 -0
  434. package/services/PlatformTimeService.spec.js +180 -0
  435. package/services/ProfileService.d.ts +244 -0
  436. package/services/ProfileService.js +362 -0
  437. package/services/ProjectService.d.ts +110 -0
  438. package/services/ProjectService.js +160 -0
  439. package/services/RobotService.d.ts +278 -0
  440. package/services/RobotService.js +460 -0
  441. package/services/ScheduleService.d.ts +22 -0
  442. package/services/ScheduleService.js +36 -0
  443. package/services/SearchService.d.ts +12 -0
  444. package/services/SearchService.js +58 -0
  445. package/services/SearchServiceNode.d.ts +6 -0
  446. package/services/SearchServiceNode.js +7 -0
  447. package/services/SpotProvisioningService.d.ts +14 -0
  448. package/services/SpotProvisioningService.js +43 -0
  449. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  450. package/services/SpotProvisioningServiceNode.js +43 -0
  451. package/services/StreamService.d.ts +98 -0
  452. package/services/StreamService.js +142 -0
  453. package/services/TelemetryService.d.ts +40 -0
  454. package/services/TelemetryService.js +142 -0
  455. package/services/TelemetryService.spec.d.ts +1 -0
  456. package/services/TelemetryService.spec.js +37 -0
  457. package/services/TelemetryServiceNode.d.ts +6 -0
  458. package/services/TelemetryServiceNode.js +7 -0
  459. package/services/TimeSyncerService.d.ts +13 -0
  460. package/services/TimeSyncerService.js +23 -0
  461. package/services/UserService.d.ts +200 -0
  462. package/services/UserService.js +315 -0
  463. package/services/WebRTCSignallingService.d.ts +22 -0
  464. package/services/WebRTCSignallingService.js +78 -0
  465. package/services/WorkflowService.d.ts +71 -0
  466. package/services/WorkflowService.js +118 -0
  467. package/services/index.d.ts +26 -0
  468. package/services/index.js +26 -0
  469. package/store/RocosStore.d.ts +31 -0
  470. package/store/RocosStore.js +47 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ import { ScheduleService } from '../services';
2
+ import { CallerServiceNode } from '../services/CallerServiceNode';
3
+ import { CommandServiceNode } from '../services/CommandServiceNode';
4
+ import { ControlServiceNode } from '../services/ControlServiceNode';
5
+ import { FileAccessorServiceNode } from '../services/FileAccessorServiceNode';
6
+ import { IBaseService } from '../models/IBaseService';
7
+ import { RocosSDK } from '../RocosSDK';
8
+ import { SearchServiceNode } from '../services/SearchServiceNode';
9
+ import { ServiceEnum } from '../models/ServiceEnum';
10
+ import { TelemetryServiceNode } from '../services/TelemetryServiceNode';
11
+ export declare class RocosSDKNode extends RocosSDK {
12
+ getService<T extends IBaseService>(name: ServiceEnum): T;
13
+ /**
14
+ * Gets the telemetry service.
15
+ */
16
+ getTelemetryService(): TelemetryServiceNode;
17
+ /**
18
+ * Gets the scheduler service.
19
+ */
20
+ getSchedulerService(): ScheduleService;
21
+ /**
22
+ * Gets the service call service.
23
+ */
24
+ getCallerService(): CallerServiceNode;
25
+ /**
26
+ * Gets the command service.
27
+ */
28
+ getCommandService(): CommandServiceNode;
29
+ /**
30
+ * Gets the robot control service.
31
+ */
32
+ getControlService(): ControlServiceNode;
33
+ /**
34
+ * Gets the search service.
35
+ */
36
+ getSearchService(): SearchServiceNode;
37
+ /**
38
+ * Gets the file accessor service
39
+ * @returns FileAccessorServiceNode
40
+ */
41
+ getFileAccessorService(): FileAccessorServiceNode;
42
+ }
@@ -0,0 +1,143 @@
1
+ import { MapService, ScheduleService, SpotProvisioningServiceNode } from '../services';
2
+ import { AssetStorageService } from '../services/AssetStorageService';
3
+ import { AuthService } from '../services/AuthService';
4
+ import { CallerServiceNode } from '../services/CallerServiceNode';
5
+ import { CommandServiceNode } from '../services/CommandServiceNode';
6
+ import { ConfigGroupService } from '../services/ConfigGroupService';
7
+ import { ControlServiceNode } from '../services/ControlServiceNode';
8
+ import { DashboardService } from '../services/DashboardService';
9
+ import { EventService } from '../services/EventService';
10
+ import { FileAccessorServiceNode } from '../services/FileAccessorServiceNode';
11
+ import { FunctionService } from '../services/FunctionService';
12
+ import { IntegrationService } from '../services/IntegrationService';
13
+ import { ProfileService } from '../services/ProfileService';
14
+ import { ProjectService } from '../services/ProjectService';
15
+ import { RobotService } from '../services/RobotService';
16
+ import { RocosSDK } from '../RocosSDK';
17
+ import { SearchServiceNode } from '../services/SearchServiceNode';
18
+ import { ServiceEnum } from '../models/ServiceEnum';
19
+ import { StreamService } from '../services/StreamService';
20
+ import { TelemetryServiceNode } from '../services/TelemetryServiceNode';
21
+ import { UserService } from '../services/UserService';
22
+ import { WorkflowService } from '../services/WorkflowService';
23
+ export class RocosSDKNode extends RocosSDK {
24
+ // eslint-disable-next-line max-lines-per-function
25
+ getService(name) {
26
+ if (!this.services?.[name]) {
27
+ this.logger.info(`Service ${name} does not exist, creating it now.`);
28
+ switch (name) {
29
+ case ServiceEnum.AUTH:
30
+ this.services[name] = new AuthService(this.config);
31
+ break;
32
+ case ServiceEnum.TELEMETRY:
33
+ this.services[name] = new TelemetryServiceNode(this.config);
34
+ break;
35
+ case ServiceEnum.ROBOT:
36
+ this.services[name] = new RobotService(this.config);
37
+ break;
38
+ case ServiceEnum.EVENT:
39
+ this.services[name] = new EventService(this.config);
40
+ break;
41
+ case ServiceEnum.PROJECT:
42
+ this.services[name] = new ProjectService(this.config);
43
+ break;
44
+ case ServiceEnum.CALLER:
45
+ this.services[name] = new CallerServiceNode(this.config);
46
+ break;
47
+ case ServiceEnum.COMMAND:
48
+ this.services[name] = new CommandServiceNode(this.config);
49
+ break;
50
+ case ServiceEnum.CONTROL:
51
+ this.services[name] = new ControlServiceNode(this.config);
52
+ break;
53
+ case ServiceEnum.SEARCH:
54
+ this.services[name] = new SearchServiceNode(this.config);
55
+ break;
56
+ case ServiceEnum.CONFIG_GROUP:
57
+ this.services[name] = new ConfigGroupService(this.config);
58
+ break;
59
+ case ServiceEnum.DASHBOARD:
60
+ this.services[name] = new DashboardService(this.config);
61
+ break;
62
+ case ServiceEnum.FUNCTION:
63
+ this.services[name] = new FunctionService(this.config);
64
+ break;
65
+ case ServiceEnum.STREAM:
66
+ this.services[name] = new StreamService(this.config);
67
+ break;
68
+ case ServiceEnum.USER:
69
+ this.services[name] = new UserService(this.config);
70
+ break;
71
+ case ServiceEnum.WORKFLOW:
72
+ this.services[name] = new WorkflowService(this.config);
73
+ break;
74
+ case ServiceEnum.ASSET_STORAGE:
75
+ this.services[name] = new AssetStorageService(this.config);
76
+ break;
77
+ case ServiceEnum.PROFILE:
78
+ this.services[name] = new ProfileService(this.config);
79
+ break;
80
+ case ServiceEnum.FILE_ACCESSOR:
81
+ this.services[name] = new FileAccessorServiceNode(this.config);
82
+ break;
83
+ case ServiceEnum.SPOT_PROVISIONER:
84
+ this.services[name] = new SpotProvisioningServiceNode(this.config);
85
+ break;
86
+ case ServiceEnum.SCHEDULE:
87
+ this.services[name] = new ScheduleService(this.config);
88
+ break;
89
+ case ServiceEnum.INTEGRATION:
90
+ this.services[name] = new IntegrationService(this.config);
91
+ break;
92
+ case ServiceEnum.MAP:
93
+ this.services[name] = new MapService(this.config);
94
+ break;
95
+ }
96
+ }
97
+ this.logger.debug(`Found service ${name}.`);
98
+ return this.services[name];
99
+ }
100
+ /**
101
+ * Gets the telemetry service.
102
+ */
103
+ getTelemetryService() {
104
+ return this.getService(ServiceEnum.TELEMETRY);
105
+ }
106
+ /**
107
+ * Gets the scheduler service.
108
+ */
109
+ getSchedulerService() {
110
+ return this.getService(ServiceEnum.SCHEDULE);
111
+ }
112
+ /**
113
+ * Gets the service call service.
114
+ */
115
+ getCallerService() {
116
+ return this.getService(ServiceEnum.CALLER);
117
+ }
118
+ /**
119
+ * Gets the command service.
120
+ */
121
+ getCommandService() {
122
+ return this.getService(ServiceEnum.COMMAND);
123
+ }
124
+ /**
125
+ * Gets the robot control service.
126
+ */
127
+ getControlService() {
128
+ return this.getService(ServiceEnum.CONTROL);
129
+ }
130
+ /**
131
+ * Gets the search service.
132
+ */
133
+ getSearchService() {
134
+ return this.getService(ServiceEnum.SEARCH);
135
+ }
136
+ /**
137
+ * Gets the file accessor service
138
+ * @returns FileAccessorServiceNode
139
+ */
140
+ getFileAccessorService() {
141
+ return this.getService(ServiceEnum.FILE_ACCESSOR);
142
+ }
143
+ }
@@ -0,0 +1,7 @@
1
+ export * from './RocosSDKNode';
2
+ export * from '../services/CallerServiceNode';
3
+ export * from '../services/CommandServiceNode';
4
+ export * from '../services/ControlServiceNode';
5
+ export * from '../services/FileAccessorServiceNode';
6
+ export * from '../services/SearchServiceNode';
7
+ export * from '../services/TelemetryServiceNode';
package/node/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from './RocosSDKNode';
2
+ export * from '../services/CallerServiceNode';
3
+ export * from '../services/CommandServiceNode';
4
+ export * from '../services/ControlServiceNode';
5
+ export * from '../services/FileAccessorServiceNode';
6
+ export * from '../services/SearchServiceNode';
7
+ export * from '../services/TelemetryServiceNode';
package/package.json CHANGED
@@ -1,11 +1,27 @@
1
1
  {
2
2
  "name": "@dronedeploy/rocos-js-sdk",
3
- "version": "0.0.1",
4
- "description": "placeholder package for now",
3
+ "version": "3.0.0-alpha.6",
4
+ "description": "Javascript SDK for rocos",
5
5
  "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
6
+ "types": "index.d.ts",
7
+ "author": "Rocos",
8
+ "scripts": {},
9
+ "license": "MIT",
10
+ "devDependencies": {},
11
+ "dependencies": {
12
+ "@grpc/grpc-js": "^1.7.1",
13
+ "@improbable-eng/grpc-web": "^0.14.0",
14
+ "@protobuf-ts/grpcweb-transport": "^2.9.1",
15
+ "@protobuf-ts/plugin": "^2.9.1",
16
+ "@protobuf-ts/runtime": "^2.9.1",
17
+ "buffer": "^6.0.3",
18
+ "loglevel": "^1.7.1",
19
+ "loglevel-plugin-prefix": "^0.8.4",
20
+ "uuid": "^9.0.0"
8
21
  },
9
- "author": "",
10
- "license": "ISC"
11
- }
22
+ "peerDependencies": {
23
+ "rxjs": "^6.6.6 || ^7.0.0"
24
+ },
25
+ "repository": {},
26
+ "private": false
27
+ }
@@ -0,0 +1,106 @@
1
+ import { AssetItemModel, AssetSyncDefinitionModel, AssetSyncDefinitionsModel } from '../models';
2
+ import { RocosError } from '../models/RocosError';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { IBaseService } from '../models/IBaseService';
5
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
6
+ export declare class AssetStorageService extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ protected getError(e: Error): RocosError;
9
+ getStatus(): boolean;
10
+ /**
11
+ * Create a new project asset
12
+ *
13
+ * @param projectId - Project Id
14
+ * @param filePath - Path to asset file
15
+ * @param file - File payload
16
+ */
17
+ create(projectId: string, filePath: string, file: File): Promise<any>;
18
+ /**
19
+ * Update a project asset
20
+ *
21
+ * @param projectId - Project Id
22
+ * @param filePath - Path to asset file
23
+ * @param file - File payload
24
+ */
25
+ update(projectId: string, filePath: string, file: File): Promise<any>;
26
+ /**
27
+ * Delete a project asset
28
+ *
29
+ * @param projectId - Project Id
30
+ * @param filePath - Path to asset file
31
+ */
32
+ delete(projectId: string, filePath: string): Promise<any>;
33
+ /**
34
+ * Lost assets for a project or project file path
35
+ *
36
+ * @param projectId - Project Id
37
+ * @param filePath - Path to asset file
38
+ */
39
+ list(projectId: string, filePath?: string): Promise<any>;
40
+ /**
41
+ * Get a project asset
42
+ *
43
+ * @param projectId - Project Id
44
+ * @param filePath - Path to asset file
45
+ */
46
+ getAsset(projectId: string, filePath: string): Promise<any>;
47
+ /**
48
+ * List assets for a robot
49
+ *
50
+ * @param projectId
51
+ * @param callsign
52
+ * @param parent
53
+ * @param signedURL
54
+ */
55
+ listRobotAssets(projectId: string, callsign: string, parent?: string, signedURL?: boolean): Promise<AssetItemModel[]>;
56
+ /**
57
+ * List assets for a flow
58
+ *
59
+ * @param projectId
60
+ * @param flowId
61
+ * @param flowInstance
62
+ * @param parent
63
+ * @param signedURL
64
+ */
65
+ listFlowAssets(projectId: string, flowId: string, flowInstance: string, parent?: string, signedURL?: boolean): Promise<AssetItemModel[]>;
66
+ /**
67
+ * List assets for a mission
68
+ *
69
+ * @param projectId
70
+ * @param assetIdList
71
+ */
72
+ listMissionAssets(projectId: string, assetIdList: string[]): Promise<AssetItemModel[]>;
73
+ /**
74
+ * Get a single asset for a mission
75
+ *
76
+ * @param projectId
77
+ * @param assetId
78
+ */
79
+ getMissionAsset(projectId: string, assetId: string): Promise<AssetItemModel>;
80
+ /**
81
+ * Set Robot Sync Definitions
82
+ * @param projectId
83
+ * @param callsign
84
+ * @param definition
85
+ */
86
+ setRobotSyncDefinitions(projectId: string, callsign: string, definition: AssetSyncDefinitionModel): Promise<AssetSyncDefinitionsModel>;
87
+ /**
88
+ * Get Robot Sync Definitions
89
+ * @param projectId
90
+ * @param callsign
91
+ */
92
+ getRobotSyncDefinitions(projectId: string, callsign: string): Promise<AssetSyncDefinitionsModel>;
93
+ /**
94
+ * Set Profile Sync Definitions
95
+ * @param projectId
96
+ * @param profileId
97
+ * @param definition
98
+ */
99
+ setProfileSyncDefinitions(projectId: string, profileId: string, definition: AssetSyncDefinitionModel): Promise<any>;
100
+ /**
101
+ * Get Profile Sync Definitions
102
+ * @param projectId
103
+ * @param profileId
104
+ */
105
+ getProfileSyncDefinition(projectId: string, profileId: string): Promise<AssetSyncDefinitionsModel>;
106
+ }
@@ -0,0 +1,169 @@
1
+ import { API_PROJECT_ASSET_PATH_URL, API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_URL, API_PROJECT_FLOW_ASSET_PATH_URL, API_PROJECT_MISSION_ASSETS_PATH_URL, API_PROJECT_MISSION_ASSET_PATH_URL, API_PROJECT_ROBOT_ASSET_PATH_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 AssetStorageService extends BaseServiceAbstract {
7
+ constructor(config) {
8
+ super(config);
9
+ this.logger = RocosLogger.getInstance(`AssetStorageService(${this.config.url})`);
10
+ }
11
+ getError(e) {
12
+ return new RocosError(e, errorCodes.ASSET_STORAGE_SERVICE_ERROR);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ /**
18
+ * Create a new project asset
19
+ *
20
+ * @param projectId - Project Id
21
+ * @param filePath - Path to asset file
22
+ * @param file - File payload
23
+ */
24
+ // TODO: map the response object
25
+ async create(projectId, filePath, file) {
26
+ const formData = new FormData();
27
+ formData.append('file', file);
28
+ return this.callPut(formatServiceUrl(API_PROJECT_ASSET_PATH_URL, { url: this.config.url, projectId, filePath }, this.config.insecure), formData, `Failed to create asset for ${projectId}, filePath ${filePath}.`);
29
+ }
30
+ /**
31
+ * Update a project asset
32
+ *
33
+ * @param projectId - Project Id
34
+ * @param filePath - Path to asset file
35
+ * @param file - File payload
36
+ */
37
+ // TODO: map the response object
38
+ async update(projectId, filePath, file) {
39
+ const formData = new FormData();
40
+ formData.append('file', file);
41
+ return this.callPost(formatServiceUrl(API_PROJECT_ASSET_PATH_URL, { url: this.config.url, projectId, filePath }, this.config.insecure), formData, `Failed to update asset for ${projectId}, filePath ${filePath}.`);
42
+ }
43
+ /**
44
+ * Delete a project asset
45
+ *
46
+ * @param projectId - Project Id
47
+ * @param filePath - Path to asset file
48
+ */
49
+ // TODO: map the response object
50
+ async delete(projectId, filePath) {
51
+ return this.callDelete(formatServiceUrl(API_PROJECT_ASSET_PATH_URL, { url: this.config.url, projectId, filePath }, this.config.insecure), `Failed to delete asset for ${projectId}, filePath ${filePath}.`);
52
+ }
53
+ /**
54
+ * Lost assets for a project or project file path
55
+ *
56
+ * @param projectId - Project Id
57
+ * @param filePath - Path to asset file
58
+ */
59
+ // TODO: map the response object
60
+ async list(projectId, filePath) {
61
+ let url = '';
62
+ if (filePath) {
63
+ url = formatServiceUrl(API_PROJECT_ASSET_PATH_URL, { url: this.config.url, projectId, filePath }, this.config.insecure);
64
+ }
65
+ else {
66
+ url = formatServiceUrl(API_PROJECT_ASSET_URL, { url: this.config.url, projectId }, this.config.insecure);
67
+ }
68
+ return this.callGet(url, `Failed to get asset list for ${projectId}, filePath ${filePath}.`);
69
+ }
70
+ /**
71
+ * Get a project asset
72
+ *
73
+ * @param projectId - Project Id
74
+ * @param filePath - Path to asset file
75
+ */
76
+ // TODO: map the response object
77
+ async getAsset(projectId, filePath) {
78
+ return this.callGet(formatServiceUrl(API_PROJECT_ASSET_PATH_URL, { url: this.config.url, projectId, filePath }, this.config.insecure), `Failed to get asset for ${projectId}, filePath ${filePath}.`, undefined, {
79
+ responseType: 'blob',
80
+ });
81
+ }
82
+ /**
83
+ * List assets for a robot
84
+ *
85
+ * @param projectId
86
+ * @param callsign
87
+ * @param parent
88
+ * @param signedURL
89
+ */
90
+ async listRobotAssets(projectId, callsign, parent = '/', signedURL = false) {
91
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_ASSET_PATH_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get asset for ${projectId}, callsign ${callsign}.`, { parent, signedURL });
92
+ }
93
+ /**
94
+ * List assets for a flow
95
+ *
96
+ * @param projectId
97
+ * @param flowId
98
+ * @param flowInstance
99
+ * @param parent
100
+ * @param signedURL
101
+ */
102
+ async listFlowAssets(projectId, flowId, flowInstance, parent = '/', signedURL = false) {
103
+ return this.callGet(formatServiceUrl(API_PROJECT_FLOW_ASSET_PATH_URL, { url: this.config.url, projectId, flowId, flowInstance }, this.config.insecure), `Failed to get asset for ${projectId}, flow ${flowId}, flow instance ${flowInstance}.`, { parent, signedURL });
104
+ }
105
+ /**
106
+ * List assets for a mission
107
+ *
108
+ * @param projectId
109
+ * @param assetIdList
110
+ */
111
+ async listMissionAssets(projectId, assetIdList) {
112
+ const searchParams = new URLSearchParams();
113
+ assetIdList.forEach((assetId) => searchParams.append('assetId', assetId));
114
+ return this.callGet(formatServiceUrl(API_PROJECT_MISSION_ASSETS_PATH_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get asset for ${projectId}, assetIdList ${assetIdList}.`, searchParams);
115
+ }
116
+ /**
117
+ * Get a single asset for a mission
118
+ *
119
+ * @param projectId
120
+ * @param assetId
121
+ */
122
+ async getMissionAsset(projectId, assetId) {
123
+ return this.callGet(formatServiceUrl(API_PROJECT_MISSION_ASSET_PATH_URL, { url: this.config.url, projectId, assetId }, this.config.insecure), `Failed to get asset for ${projectId}, dataUUID ${assetId}.`, undefined);
124
+ }
125
+ /**
126
+ * Set Robot Sync Definitions
127
+ * @param projectId
128
+ * @param callsign
129
+ * @param definition
130
+ */
131
+ setRobotSyncDefinitions(projectId, callsign, definition) {
132
+ const httpOptions = {
133
+ headers: {
134
+ 'content-type': 'application/json',
135
+ },
136
+ };
137
+ return this.callPost(formatServiceUrl(API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), definition, `Failed to update asset for ${projectId}, callsign ${callsign}.`, httpOptions);
138
+ }
139
+ /**
140
+ * Get Robot Sync Definitions
141
+ * @param projectId
142
+ * @param callsign
143
+ */
144
+ getRobotSyncDefinitions(projectId, callsign) {
145
+ return this.callGet(formatServiceUrl(API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get asset for ${projectId}, callsign ${callsign}.`, undefined);
146
+ }
147
+ /**
148
+ * Set Profile Sync Definitions
149
+ * @param projectId
150
+ * @param profileId
151
+ * @param definition
152
+ */
153
+ setProfileSyncDefinitions(projectId, profileId, definition) {
154
+ const httpOptions = {
155
+ headers: {
156
+ 'content-type': 'application/json',
157
+ },
158
+ };
159
+ return this.callPost(formatServiceUrl(API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), definition, `Failed to update sync-definition for ${projectId}, callsign ${profileId}.`, httpOptions);
160
+ }
161
+ /**
162
+ * Get Profile Sync Definitions
163
+ * @param projectId
164
+ * @param profileId
165
+ */
166
+ getProfileSyncDefinition(projectId, profileId) {
167
+ return this.callGet(formatServiceUrl(API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), `Failed to get sync-definition for ${projectId}, callsign ${profileId}.`, undefined);
168
+ }
169
+ }
@@ -0,0 +1,93 @@
1
+ import { IBaseService, IRocosSDKConfig, RocosError, Token } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ export declare class AuthService extends BaseServiceAbstract implements IBaseService {
4
+ protected config: IRocosSDKConfig;
5
+ private token?;
6
+ private tokenRefreshTimeoutId?;
7
+ constructor(config: IRocosSDKConfig);
8
+ getStatus(): boolean;
9
+ teardown(): void;
10
+ protected getError(e: RocosError): RocosError;
11
+ /**
12
+ * Set the Auth token
13
+ * @param value - Token value
14
+ */
15
+ setToken(value: string | Token): void;
16
+ /**
17
+ * @deprecated `expiresIn` is now derived from the token. Use `setToken(value: string | Token)` instead
18
+ */
19
+ setToken(value: string | Token, expiresIn: number): void;
20
+ /**
21
+ * Clear token
22
+ */
23
+ clearToken(): void;
24
+ /**
25
+ * Get the authentication token for application Id and application Key.
26
+ */
27
+ getAppToken(): Promise<Token>;
28
+ /**
29
+ * Get new auth token for a user
30
+ * @desc This only works for user auth tokens, not appId auth tokens
31
+ */
32
+ getNewUserToken(): Promise<Token>;
33
+ /**
34
+ * Get new auth token for a user.
35
+ *
36
+ * Uses the OTP flow to exchange an external token for a user token.
37
+ *
38
+ * @desc This only works for user auth tokens, not appId auth tokens
39
+ */
40
+ private getNewUserTokenFromExternalToken;
41
+ /**
42
+ * Get the authentication token
43
+ *
44
+ * This will return the current token if it is not expired, otherwise it will get a new token based on your config.
45
+ */
46
+ getToken(): Promise<Token>;
47
+ /**
48
+ * Refresh the authentication token
49
+ *
50
+ * This only works for user auth tokens, not appId auth tokens.
51
+ *
52
+ * The new token is not automatically set as the current token. Use `setToken` to set the new token.
53
+ *
54
+ * @see setToken
55
+ * @param token the token to refresh. If not provided, the current token will be used.
56
+ */
57
+ refreshToken(token?: Token): Promise<Token>;
58
+ /** Refresh the token if it is expired or will expire in the next `minutes` minutes
59
+ *
60
+ * This only works for user auth tokens, not appId auth tokens.
61
+ *
62
+ * If you want to refresh the token regardless of the expiry time, use `refreshToken`.
63
+ *
64
+ * @param minutes the number of minutes before the token expires to refresh the token
65
+ * @see refreshToken
66
+ */
67
+ refreshTokenIfExpired(minutes: number): Promise<void>;
68
+ /** Start a 5-minute loop to check if the token needs to be refreshed
69
+ *
70
+ * This is useful when you are using GRPC services (i.e. telemetry) which does not automatically refresh the token.
71
+ * It is not required when using REST services as the token is refreshed automatically.
72
+ *
73
+ * The loop will stop when `stopTokenRefreshChecker` is called.
74
+ *
75
+ * @see stopTokenRefreshChecker
76
+ */
77
+ startTokenRefreshChecker(): void;
78
+ /**
79
+ * Stop the token refresh checker
80
+ * @see startTokenRefreshChecker
81
+ */
82
+ stopTokenRefreshChecker(): void;
83
+ /** Check if the token refresh checker is running
84
+ *
85
+ * @see startTokenRefreshChecker
86
+ * @see stopTokenRefreshChecker
87
+ * @returns true if the token refresh checker is running
88
+ */
89
+ isTokenRefreshCheckerRunning(): boolean;
90
+ /** Checks if the token is valid for use with the API */
91
+ isTokenValid(token: Token): boolean;
92
+ private isTokenIssuedByApp;
93
+ }