@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.
- package/IRocosSDK.d.ts +55 -0
- package/IRocosSDK.js +2 -0
- package/README.md +108 -0
- package/RocosSDK.d.ts +138 -0
- package/RocosSDK.js +292 -0
- package/api/StreamRegister.d.ts +13 -0
- package/api/StreamRegister.js +69 -0
- package/api/atoms/StreamHeartbeat.d.ts +27 -0
- package/api/atoms/StreamHeartbeat.js +111 -0
- package/api/streams/caller/CallerStream.d.ts +13 -0
- package/api/streams/caller/CallerStream.js +77 -0
- package/api/streams/caller/CallerStreamAbstract.d.ts +23 -0
- package/api/streams/caller/CallerStreamAbstract.js +87 -0
- package/api/streams/caller/CallerStreamNode.d.ts +13 -0
- package/api/streams/caller/CallerStreamNode.js +115 -0
- package/api/streams/command/CommandStream.d.ts +10 -0
- package/api/streams/command/CommandStream.js +66 -0
- package/api/streams/command/CommandStreamAbstract.d.ts +20 -0
- package/api/streams/command/CommandStreamAbstract.js +63 -0
- package/api/streams/command/CommandStreamNode.d.ts +10 -0
- package/api/streams/command/CommandStreamNode.js +69 -0
- package/api/streams/control/ControlStream.d.ts +12 -0
- package/api/streams/control/ControlStream.js +75 -0
- package/api/streams/control/ControlStreamAbstract.d.ts +25 -0
- package/api/streams/control/ControlStreamAbstract.js +111 -0
- package/api/streams/control/ControlStreamNode.d.ts +12 -0
- package/api/streams/control/ControlStreamNode.js +73 -0
- package/api/streams/fileAccessor/FileAccessorStream.d.ts +8 -0
- package/api/streams/fileAccessor/FileAccessorStream.js +59 -0
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +21 -0
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +62 -0
- package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +8 -0
- package/api/streams/fileAccessor/FileAccessorStreamNode.js +66 -0
- package/api/streams/search/SearchStream.d.ts +13 -0
- package/api/streams/search/SearchStream.js +96 -0
- package/api/streams/search/SearchStreamAbstract.d.ts +25 -0
- package/api/streams/search/SearchStreamAbstract.js +72 -0
- package/api/streams/search/SearchStreamNode.d.ts +13 -0
- package/api/streams/search/SearchStreamNode.js +118 -0
- package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
- package/api/streams/telemetry/TelemetryStream.js +97 -0
- package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +59 -0
- package/api/streams/telemetry/TelemetryStreamAbstract.js +402 -0
- package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
- package/api/streams/telemetry/TelemetryStreamNode.js +175 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +39 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +84 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +29 -0
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
- package/constants/api.d.ts +127 -0
- package/constants/api.js +127 -0
- package/constants/auth.d.ts +2 -0
- package/constants/auth.js +2 -0
- package/constants/grpc.d.ts +5 -0
- package/constants/grpc.js +5 -0
- package/constants/identifier.d.ts +6 -0
- package/constants/identifier.js +6 -0
- package/constants/timezones.d.ts +2 -0
- package/constants/timezones.js +427 -0
- package/grpc/conker_pb.client.d.ts +78 -0
- package/grpc/conker_pb.client.js +55 -0
- package/grpc/conker_pb.d.ts +141 -0
- package/grpc/conker_pb.grpc-client.d.ts +81 -0
- package/grpc/conker_pb.grpc-client.js +58 -0
- package/grpc/conker_pb.js +104 -0
- package/grpc/filagree_pb.client.d.ts +68 -0
- package/grpc/filagree_pb.client.js +48 -0
- package/grpc/filagree_pb.d.ts +404 -0
- package/grpc/filagree_pb.grpc-client.d.ts +69 -0
- package/grpc/filagree_pb.grpc-client.js +51 -0
- package/grpc/filagree_pb.js +329 -0
- package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
- package/grpc/google/protobuf/descriptor_pb.js +2378 -0
- package/grpc/google/protobuf/empty_pb.d.ts +23 -0
- package/grpc/google/protobuf/empty_pb.js +47 -0
- package/grpc/pigeon_pb.client.d.ts +96 -0
- package/grpc/pigeon_pb.client.js +72 -0
- package/grpc/pigeon_pb.d.ts +207 -0
- package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
- package/grpc/pigeon_pb.grpc-client.js +68 -0
- package/grpc/pigeon_pb.js +144 -0
- package/grpc/rambo.uri.v1_pb.d.ts +73 -0
- package/grpc/rambo.uri.v1_pb.js +48 -0
- package/grpc/rambo.v1_pb.client.d.ts +66 -0
- package/grpc/rambo.v1_pb.client.js +48 -0
- package/grpc/rambo.v1_pb.d.ts +392 -0
- package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
- package/grpc/rambo.v1_pb.grpc-client.js +44 -0
- package/grpc/rambo.v1_pb.js +272 -0
- package/grpc/serviette.uri.v1_pb.d.ts +89 -0
- package/grpc/serviette.uri.v1_pb.js +62 -0
- package/grpc/serviette.v1_pb.client.d.ts +225 -0
- package/grpc/serviette.v1_pb.client.js +174 -0
- package/grpc/serviette.v1_pb.d.ts +827 -0
- package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
- package/grpc/serviette.v1_pb.grpc-client.js +162 -0
- package/grpc/serviette.v1_pb.js +553 -0
- package/grpc/slowlane_pb.client.d.ts +61 -0
- package/grpc/slowlane_pb.client.js +41 -0
- package/grpc/slowlane_pb.d.ts +303 -0
- package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
- package/grpc/slowlane_pb.grpc-client.js +44 -0
- package/grpc/slowlane_pb.js +185 -0
- package/grpc/teletubby_pb.client.d.ts +145 -0
- package/grpc/teletubby_pb.client.js +104 -0
- package/grpc/teletubby_pb.d.ts +634 -0
- package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
- package/grpc/teletubby_pb.grpc-client.js +100 -0
- package/grpc/teletubby_pb.js +1264 -0
- package/helpers/arrayRemove.d.ts +1 -0
- package/helpers/arrayRemove.js +3 -0
- package/helpers/arrayUnique.d.ts +1 -0
- package/helpers/arrayUnique.js +3 -0
- package/helpers/average.d.ts +1 -0
- package/helpers/average.js +6 -0
- package/helpers/cleanObject.d.ts +1 -0
- package/helpers/cleanObject.js +18 -0
- package/helpers/cleanObject.spec.d.ts +1 -0
- package/helpers/cleanObject.spec.js +53 -0
- package/helpers/enviroment.d.ts +8 -0
- package/helpers/enviroment.js +13 -0
- package/helpers/flattenCallsignsLookup.d.ts +2 -0
- package/helpers/flattenCallsignsLookup.js +6 -0
- package/helpers/flattenObject.d.ts +1 -0
- package/helpers/flattenObject.js +13 -0
- package/helpers/flattenObject.spec.d.ts +1 -0
- package/helpers/flattenObject.spec.js +29 -0
- package/helpers/flattenOneOf.d.ts +67 -0
- package/helpers/flattenOneOf.js +29 -0
- package/helpers/flattenOneOf.spec.d.ts +1 -0
- package/helpers/flattenOneOf.spec.js +157 -0
- package/helpers/formatServiceUrl.d.ts +1 -0
- package/helpers/formatServiceUrl.js +7 -0
- package/helpers/formatServiceUrl.spec.d.ts +1 -0
- package/helpers/formatServiceUrl.spec.js +16 -0
- package/helpers/generateUUID.d.ts +1 -0
- package/helpers/generateUUID.js +4 -0
- package/helpers/getSubscriptionsDifference.d.ts +10 -0
- package/helpers/getSubscriptionsDifference.js +35 -0
- package/helpers/getUniqueConfigKey.d.ts +7 -0
- package/helpers/getUniqueConfigKey.js +14 -0
- package/helpers/getUniqueId.d.ts +9 -0
- package/helpers/getUniqueId.js +11 -0
- package/helpers/getUnixTimeMs.d.ts +1 -0
- package/helpers/getUnixTimeMs.js +4 -0
- package/helpers/index.d.ts +3 -0
- package/helpers/index.js +3 -0
- package/helpers/nanosecondToMillisecond.d.ts +1 -0
- package/helpers/nanosecondToMillisecond.js +12 -0
- package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
- package/helpers/nanosecondToMillisecond.spec.js +20 -0
- package/helpers/randomString.d.ts +1 -0
- package/helpers/randomString.js +3 -0
- package/helpers/standardDeviation.d.ts +1 -0
- package/helpers/standardDeviation.js +12 -0
- package/helpers/standardDeviation.spec.d.ts +1 -0
- package/helpers/standardDeviation.spec.js +11 -0
- package/helpers/stringToUint8Array.d.ts +1 -0
- package/helpers/stringToUint8Array.js +10 -0
- package/helpers/uint8ArrayToString.d.ts +1 -0
- package/helpers/uint8ArrayToString.js +10 -0
- package/index.d.ts +7 -0
- package/index.js +7 -0
- package/logger/RocosLogger.d.ts +7 -0
- package/logger/RocosLogger.js +37 -0
- package/models/CallsignStatus.d.ts +6 -0
- package/models/CallsignStatus.js +7 -0
- package/models/ExportDataQuery.d.ts +8 -0
- package/models/ExportDataQuery.js +13 -0
- package/models/ExternalProject.d.ts +6 -0
- package/models/ExternalProject.js +2 -0
- package/models/IBaseService.d.ts +4 -0
- package/models/IBaseService.js +1 -0
- package/models/IConfigGroup.d.ts +5 -0
- package/models/IConfigGroup.js +1 -0
- package/models/IDebugLevel.d.ts +2 -0
- package/models/IDebugLevel.js +1 -0
- package/models/IExportDataQuery.d.ts +9 -0
- package/models/IExportDataQuery.js +1 -0
- package/models/IFunctionConfig.d.ts +8 -0
- package/models/IFunctionConfig.js +1 -0
- package/models/IInvitation.d.ts +6 -0
- package/models/IInvitation.js +1 -0
- package/models/IInvitationExists.d.ts +4 -0
- package/models/IInvitationExists.js +1 -0
- package/models/IOperation.d.ts +6 -0
- package/models/IOperation.js +1 -0
- package/models/IPersonalAccessToken.d.ts +16 -0
- package/models/IPersonalAccessToken.js +1 -0
- package/models/IProject.d.ts +4 -0
- package/models/IProject.js +1 -0
- package/models/IProjectApplication.d.ts +6 -0
- package/models/IProjectApplication.js +1 -0
- package/models/IRobot.d.ts +18 -0
- package/models/IRobot.js +1 -0
- package/models/IRobotConfig.d.ts +8 -0
- package/models/IRobotConfig.js +1 -0
- package/models/IRobotPlugin.d.ts +3 -0
- package/models/IRobotPlugin.js +1 -0
- package/models/IRobotSettings.d.ts +28 -0
- package/models/IRobotSettings.js +1 -0
- package/models/IRobotTemplate.d.ts +10 -0
- package/models/IRobotTemplate.js +1 -0
- package/models/IRocosSDKConfig.d.ts +19 -0
- package/models/IRocosSDKConfig.js +1 -0
- package/models/ISource.d.ts +8 -0
- package/models/ISource.js +1 -0
- package/models/IStream.d.ts +9 -0
- package/models/IStream.js +1 -0
- package/models/IStreamConfig.d.ts +9 -0
- package/models/IStreamConfig.js +1 -0
- package/models/IStreamOptions.d.ts +7 -0
- package/models/IStreamOptions.js +1 -0
- package/models/IStreamSource.d.ts +8 -0
- package/models/IStreamSource.js +1 -0
- package/models/ISubscriberStatus.d.ts +5 -0
- package/models/ISubscriberStatus.js +1 -0
- package/models/ITelemetryStreamConfig.d.ts +7 -0
- package/models/ITelemetryStreamConfig.js +1 -0
- package/models/IToken.d.ts +9 -0
- package/models/IToken.js +1 -0
- package/models/IWidget.d.ts +25 -0
- package/models/IWidget.js +1 -0
- package/models/IWidgetLineGroup.d.ts +8 -0
- package/models/IWidgetLineGroup.js +1 -0
- package/models/ResponseLevelEnum.d.ts +10 -0
- package/models/ResponseLevelEnum.js +11 -0
- package/models/Robot.d.ts +20 -0
- package/models/Robot.js +8 -0
- package/models/RobotConfig.d.ts +10 -0
- package/models/RobotConfig.js +5 -0
- package/models/RobotPlugin.d.ts +5 -0
- package/models/RobotPlugin.js +5 -0
- package/models/RobotTemplate.d.ts +12 -0
- package/models/RobotTemplate.js +25 -0
- package/models/RocosError.d.ts +30 -0
- package/models/RocosError.js +39 -0
- package/models/ServiceEnum.d.ts +26 -0
- package/models/ServiceEnum.js +27 -0
- package/models/Stream.d.ts +10 -0
- package/models/Stream.js +11 -0
- package/models/StreamOptions.d.ts +9 -0
- package/models/StreamOptions.js +33 -0
- package/models/StreamSource.d.ts +10 -0
- package/models/StreamSource.js +11 -0
- package/models/SubscriberStatusEnum.d.ts +6 -0
- package/models/SubscriberStatusEnum.js +7 -0
- package/models/Token.d.ts +40 -0
- package/models/Token.js +78 -0
- package/models/Token.spec.d.ts +1 -0
- package/models/Token.spec.js +108 -0
- package/models/Widget.d.ts +27 -0
- package/models/Widget.js +12 -0
- package/models/WidgetLineGroup.d.ts +10 -0
- package/models/WidgetLineGroup.js +5 -0
- package/models/asset-storage/AssetModelItem.d.ts +29 -0
- package/models/asset-storage/AssetModelItem.js +1 -0
- package/models/caller/IRocosCallerMessageChunk.d.ts +10 -0
- package/models/caller/IRocosCallerMessageChunk.js +1 -0
- package/models/caller/IRocosCallerMessageChunks.d.ts +4 -0
- package/models/caller/IRocosCallerMessageChunks.js +1 -0
- package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -0
- package/models/caller/IRocosCallerMessageHeartbeat.js +1 -0
- package/models/caller/IRocosCallerMessageResponse.d.ts +10 -0
- package/models/caller/IRocosCallerMessageResponse.js +1 -0
- package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -0
- package/models/caller/IRocosCallerMessageResponseAck.js +13 -0
- package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -0
- package/models/caller/IRocosCallerMessageResponseResult.js +12 -0
- package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
- package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
- package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -0
- package/models/caller/IRocosCallerMessageResponseUid.js +7 -0
- package/models/caller/IRocosCallerMessageResponses.d.ts +4 -0
- package/models/caller/IRocosCallerMessageResponses.js +1 -0
- package/models/caller/RocosCallerResultStatus.d.ts +11 -0
- package/models/caller/RocosCallerResultStatus.js +12 -0
- package/models/caller/RocosResponseLevel.d.ts +6 -0
- package/models/caller/RocosResponseLevel.js +7 -0
- package/models/caller/index.d.ts +10 -0
- package/models/caller/index.js +10 -0
- package/models/callsigns/CallsignsEnums.d.ts +13 -0
- package/models/callsigns/CallsignsEnums.js +17 -0
- package/models/callsigns/CallsignsLookup.d.ts +8 -0
- package/models/callsigns/CallsignsLookup.js +28 -0
- package/models/callsigns/CallsignsQuery.d.ts +9 -0
- package/models/callsigns/CallsignsQuery.js +14 -0
- package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
- package/models/callsigns/CallsignsQueryPredicate.js +15 -0
- package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -0
- package/models/command/IRocosCommandMessageHeartbeat.js +1 -0
- package/models/command/IRocosCommandMessageResponse.d.ts +55 -0
- package/models/command/IRocosCommandMessageResponse.js +29 -0
- package/models/command/RocosCommandResultStatus.d.ts +11 -0
- package/models/command/RocosCommandResultStatus.js +12 -0
- package/models/command/index.d.ts +4 -0
- package/models/command/index.js +4 -0
- package/models/file/FileEnums.d.ts +30 -0
- package/models/file/FileEnums.js +33 -0
- package/models/index.d.ts +75 -0
- package/models/index.js +75 -0
- package/models/integrations/Overlay.d.ts +49 -0
- package/models/integrations/Overlay.js +1 -0
- package/models/integrations/Plan.d.ts +324 -0
- package/models/integrations/Plan.js +1 -0
- package/models/maps/Map.d.ts +11 -0
- package/models/maps/Map.js +1 -0
- package/models/message/IRocosCallerMessage.d.ts +8 -0
- package/models/message/IRocosCallerMessage.js +1 -0
- package/models/message/IRocosChangeMessage.d.ts +6 -0
- package/models/message/IRocosChangeMessage.js +1 -0
- package/models/message/IRocosCommandMessage.d.ts +6 -0
- package/models/message/IRocosCommandMessage.js +1 -0
- package/models/message/IRocosControlMessage.d.ts +7 -0
- package/models/message/IRocosControlMessage.js +1 -0
- package/models/message/IRocosOpResultMessage.d.ts +6 -0
- package/models/message/IRocosOpResultMessage.js +1 -0
- package/models/message/IRocosSearchMessage.d.ts +5 -0
- package/models/message/IRocosSearchMessage.js +1 -0
- package/models/message/IRocosSearchRowMessage.d.ts +9 -0
- package/models/message/IRocosSearchRowMessage.js +1 -0
- package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
- package/models/message/IRocosSearchStatusMessage.js +1 -0
- package/models/message/IRocosTelemetryMessage.d.ts +23 -0
- package/models/message/IRocosTelemetryMessage.js +1 -0
- package/models/message/IStreamStatusMessage.d.ts +5 -0
- package/models/message/IStreamStatusMessage.js +1 -0
- package/models/message/RocosCallerMessage.d.ts +10 -0
- package/models/message/RocosCallerMessage.js +32 -0
- package/models/message/RocosCommandMessage.d.ts +9 -0
- package/models/message/RocosCommandMessage.js +13 -0
- package/models/message/RocosControlMessage.d.ts +11 -0
- package/models/message/RocosControlMessage.js +14 -0
- package/models/message/RocosOpResultMessage.d.ts +10 -0
- package/models/message/RocosOpResultMessage.js +18 -0
- package/models/message/RocosSearchMessage.d.ts +9 -0
- package/models/message/RocosSearchMessage.js +24 -0
- package/models/message/RocosSearchRowMessage.d.ts +13 -0
- package/models/message/RocosSearchRowMessage.js +16 -0
- package/models/message/RocosTelemetryMessage.d.ts +10 -0
- package/models/message/RocosTelemetryMessage.js +63 -0
- package/models/message/index.d.ts +17 -0
- package/models/message/index.js +17 -0
- package/models/params/ICallerParams.d.ts +16 -0
- package/models/params/ICallerParams.js +1 -0
- package/models/params/ICommandParams.d.ts +9 -0
- package/models/params/ICommandParams.js +1 -0
- package/models/params/IControlParams.d.ts +8 -0
- package/models/params/IControlParams.js +1 -0
- package/models/params/IFileAccessorParams.d.ts +11 -0
- package/models/params/IFileAccessorParams.js +1 -0
- package/models/params/ISearchParams.d.ts +10 -0
- package/models/params/ISearchParams.js +1 -0
- package/models/params/ITelemetryParams.d.ts +18 -0
- package/models/params/ITelemetryParams.js +1 -0
- package/models/params/IWebRTCSignallingParams.d.ts +21 -0
- package/models/params/IWebRTCSignallingParams.js +1 -0
- package/models/projects/ProjectUser.d.ts +6 -0
- package/models/projects/ProjectUser.js +1 -0
- package/models/schedule/IScheduleAction.d.ts +13 -0
- package/models/schedule/IScheduleAction.js +6 -0
- package/models/schedule/IScheduleInfo.d.ts +11 -0
- package/models/schedule/IScheduleInfo.js +1 -0
- package/models/schedule/IScheduleJob.d.ts +12 -0
- package/models/schedule/IScheduleJob.js +1 -0
- package/models/search/SearchQueryFilter.d.ts +5 -0
- package/models/search/SearchQueryFilter.js +5 -0
- package/models/search/SearchStreamQuery.d.ts +15 -0
- package/models/search/SearchStreamQuery.js +6 -0
- package/models/stream/IBaseStream.d.ts +8 -0
- package/models/stream/IBaseStream.js +1 -0
- package/models/stream/ICallerStream.d.ts +8 -0
- package/models/stream/ICallerStream.js +1 -0
- package/models/stream/ICommandStream.d.ts +7 -0
- package/models/stream/ICommandStream.js +1 -0
- package/models/stream/IControlStream.d.ts +9 -0
- package/models/stream/IControlStream.js +1 -0
- package/models/stream/IFileAccessorStream.d.ts +9 -0
- package/models/stream/IFileAccessorStream.js +1 -0
- package/models/stream/ISearchStream.d.ts +11 -0
- package/models/stream/ISearchStream.js +1 -0
- package/models/stream/ITelemetryStream.d.ts +10 -0
- package/models/stream/ITelemetryStream.js +1 -0
- package/models/stream/IWebRTCSignallingStream.d.ts +76 -0
- package/models/stream/IWebRTCSignallingStream.js +1 -0
- package/models/types.d.ts +5 -0
- package/models/types.js +1 -0
- package/node/RocosSDKNode.d.ts +42 -0
- package/node/RocosSDKNode.js +143 -0
- package/node/index.d.ts +7 -0
- package/node/index.js +7 -0
- package/package.json +23 -7
- package/services/AssetStorageService.d.ts +106 -0
- package/services/AssetStorageService.js +169 -0
- package/services/AuthService.d.ts +93 -0
- package/services/AuthService.js +235 -0
- package/services/AuthService.spec.d.ts +1 -0
- package/services/AuthService.spec.js +163 -0
- package/services/BaseServiceAbstract.d.ts +36 -0
- package/services/BaseServiceAbstract.js +101 -0
- package/services/BaseStreamService.d.ts +18 -0
- package/services/BaseStreamService.js +47 -0
- package/services/CallerService.d.ts +10 -0
- package/services/CallerService.js +53 -0
- package/services/CallerServiceNode.d.ts +6 -0
- package/services/CallerServiceNode.js +7 -0
- package/services/CommandService.d.ts +9 -0
- package/services/CommandService.js +38 -0
- package/services/CommandServiceNode.d.ts +6 -0
- package/services/CommandServiceNode.js +7 -0
- package/services/ConfigGroupService.d.ts +89 -0
- package/services/ConfigGroupService.js +153 -0
- package/services/ControlService.d.ts +11 -0
- package/services/ControlService.js +57 -0
- package/services/ControlServiceNode.d.ts +6 -0
- package/services/ControlServiceNode.js +7 -0
- package/services/DashboardService.d.ts +97 -0
- package/services/DashboardService.js +142 -0
- package/services/EventService.d.ts +53 -0
- package/services/EventService.js +85 -0
- package/services/FileAccessorService.d.ts +11 -0
- package/services/FileAccessorService.js +37 -0
- package/services/FileAccessorServiceNode.d.ts +6 -0
- package/services/FileAccessorServiceNode.js +7 -0
- package/services/FunctionService.d.ts +68 -0
- package/services/FunctionService.js +99 -0
- package/services/IntegrationService.d.ts +48 -0
- package/services/IntegrationService.js +72 -0
- package/services/MapService.d.ts +107 -0
- package/services/MapService.js +149 -0
- package/services/PlatformTimeService.d.ts +35 -0
- package/services/PlatformTimeService.js +156 -0
- package/services/PlatformTimeService.spec.d.ts +1 -0
- package/services/PlatformTimeService.spec.js +180 -0
- package/services/ProfileService.d.ts +244 -0
- package/services/ProfileService.js +362 -0
- package/services/ProjectService.d.ts +110 -0
- package/services/ProjectService.js +160 -0
- package/services/RobotService.d.ts +278 -0
- package/services/RobotService.js +460 -0
- package/services/ScheduleService.d.ts +22 -0
- package/services/ScheduleService.js +36 -0
- package/services/SearchService.d.ts +12 -0
- package/services/SearchService.js +58 -0
- package/services/SearchServiceNode.d.ts +6 -0
- package/services/SearchServiceNode.js +7 -0
- package/services/SpotProvisioningService.d.ts +14 -0
- package/services/SpotProvisioningService.js +43 -0
- package/services/SpotProvisioningServiceNode.d.ts +15 -0
- package/services/SpotProvisioningServiceNode.js +43 -0
- package/services/StreamService.d.ts +98 -0
- package/services/StreamService.js +142 -0
- package/services/TelemetryService.d.ts +40 -0
- package/services/TelemetryService.js +142 -0
- package/services/TelemetryService.spec.d.ts +1 -0
- package/services/TelemetryService.spec.js +37 -0
- package/services/TelemetryServiceNode.d.ts +6 -0
- package/services/TelemetryServiceNode.js +7 -0
- package/services/TimeSyncerService.d.ts +13 -0
- package/services/TimeSyncerService.js +23 -0
- package/services/UserService.d.ts +200 -0
- package/services/UserService.js +315 -0
- package/services/WebRTCSignallingService.d.ts +22 -0
- package/services/WebRTCSignallingService.js +78 -0
- package/services/WorkflowService.d.ts +71 -0
- package/services/WorkflowService.js +118 -0
- package/services/index.d.ts +26 -0
- package/services/index.js +26 -0
- package/store/RocosStore.d.ts +31 -0
- package/store/RocosStore.js +47 -0
package/models/types.js
ADDED
@@ -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
|
+
}
|
package/node/index.d.ts
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/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.
|
4
|
-
"description": "
|
3
|
+
"version": "3.0.0-alpha.6",
|
4
|
+
"description": "Javascript SDK for rocos",
|
5
5
|
"main": "index.js",
|
6
|
-
"
|
7
|
-
|
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
|
-
"
|
10
|
-
|
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
|
+
}
|