@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,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": "1.0.0-alpha-2",
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"
22
+ "peerDependencies": {
23
+ "rxjs": "^6.6.6 || ^7.0.0"
24
+ },
25
+ "repository": {},
26
+ "private": false
11
27
  }
@@ -0,0 +1,99 @@
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 dataUUID
71
+ */
72
+ getMissionAsset(projectId: string, dataUUID: string): Promise<AssetItemModel>;
73
+ /**
74
+ * Set Robot Sync Definitions
75
+ * @param projectId
76
+ * @param callsign
77
+ * @param definition
78
+ */
79
+ setRobotSyncDefinitions(projectId: string, callsign: string, definition: AssetSyncDefinitionModel): Promise<AssetSyncDefinitionsModel>;
80
+ /**
81
+ * Get Robot Sync Definitions
82
+ * @param projectId
83
+ * @param callsign
84
+ */
85
+ getRobotSyncDefinitions(projectId: string, callsign: string): Promise<AssetSyncDefinitionsModel>;
86
+ /**
87
+ * Set Profile Sync Definitions
88
+ * @param projectId
89
+ * @param profileId
90
+ * @param definition
91
+ */
92
+ setProfileSyncDefinitions(projectId: string, profileId: string, definition: AssetSyncDefinitionModel): Promise<any>;
93
+ /**
94
+ * Get Profile Sync Definitions
95
+ * @param projectId
96
+ * @param profileId
97
+ */
98
+ getProfileSyncDefinition(projectId: string, profileId: string): Promise<AssetSyncDefinitionsModel>;
99
+ }
@@ -0,0 +1,158 @@
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_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 dataUUID
110
+ */
111
+ async getMissionAsset(projectId, dataUUID) {
112
+ return this.callGet(formatServiceUrl(API_PROJECT_MISSION_ASSET_PATH_URL, { url: this.config.url, projectId, dataUUID }, this.config.insecure), `Failed to get asset for ${projectId}, dataUUID ${dataUUID}.`, undefined);
113
+ }
114
+ /**
115
+ * Set Robot Sync Definitions
116
+ * @param projectId
117
+ * @param callsign
118
+ * @param definition
119
+ */
120
+ setRobotSyncDefinitions(projectId, callsign, definition) {
121
+ const httpOptions = {
122
+ headers: {
123
+ 'content-type': 'application/json',
124
+ },
125
+ };
126
+ 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);
127
+ }
128
+ /**
129
+ * Get Robot Sync Definitions
130
+ * @param projectId
131
+ * @param callsign
132
+ */
133
+ getRobotSyncDefinitions(projectId, callsign) {
134
+ 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);
135
+ }
136
+ /**
137
+ * Set Profile Sync Definitions
138
+ * @param projectId
139
+ * @param profileId
140
+ * @param definition
141
+ */
142
+ setProfileSyncDefinitions(projectId, profileId, definition) {
143
+ const httpOptions = {
144
+ headers: {
145
+ 'content-type': 'application/json',
146
+ },
147
+ };
148
+ 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);
149
+ }
150
+ /**
151
+ * Get Profile Sync Definitions
152
+ * @param projectId
153
+ * @param profileId
154
+ */
155
+ getProfileSyncDefinition(projectId, profileId) {
156
+ 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);
157
+ }
158
+ }
@@ -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
+ }