@dronedeploy/rocos-js-sdk 2.6.1 → 3.0.0-alpha.20
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.
- package/IRocosSDK.d.ts +3 -26
- package/IRocosSDK.js +1 -5
- package/README.md +18 -0
- package/RocosSDK.d.ts +6 -1
- package/RocosSDK.js +103 -95
- package/api/StreamRegister.d.ts +1 -1
- package/api/StreamRegister.js +23 -12
- package/api/atoms/StreamHeartbeat.js +3 -7
- package/api/streams/caller/CallerStream.d.ts +6 -6
- package/api/streams/caller/CallerStream.js +41 -49
- package/api/streams/caller/CallerStreamAbstract.d.ts +6 -11
- package/api/streams/caller/CallerStreamAbstract.js +55 -67
- package/api/streams/caller/CallerStreamNode.d.ts +6 -6
- package/api/streams/caller/CallerStreamNode.js +48 -61
- package/api/streams/command/CommandStream.d.ts +2 -4
- package/api/streams/command/CommandStream.js +28 -30
- package/api/streams/command/CommandStreamAbstract.d.ts +4 -8
- package/api/streams/command/CommandStreamAbstract.js +33 -42
- package/api/streams/command/CommandStreamNode.d.ts +2 -4
- package/api/streams/command/CommandStreamNode.js +16 -40
- package/api/streams/control/ControlStream.d.ts +4 -6
- package/api/streams/control/ControlStream.js +30 -36
- package/api/streams/control/ControlStreamAbstract.d.ts +6 -9
- package/api/streams/control/ControlStreamAbstract.js +57 -54
- package/api/streams/control/ControlStreamNode.d.ts +3 -5
- package/api/streams/control/ControlStreamNode.js +19 -44
- package/api/streams/fileAccessor/FileAccessorStream.d.ts +2 -4
- package/api/streams/fileAccessor/FileAccessorStream.js +42 -57
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +4 -9
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +28 -48
- package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +1 -3
- package/api/streams/fileAccessor/FileAccessorStreamNode.js +23 -53
- package/api/streams/search/SearchStream.d.ts +2 -5
- package/api/streams/search/SearchStream.js +50 -74
- package/api/streams/search/SearchStreamAbstract.d.ts +4 -9
- package/api/streams/search/SearchStreamAbstract.js +33 -35
- package/api/streams/search/SearchStreamNode.d.ts +2 -5
- package/api/streams/search/SearchStreamNode.js +23 -48
- package/api/streams/telemetry/TelemetryStream.d.ts +4 -4
- package/api/streams/telemetry/TelemetryStream.js +49 -78
- package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +8 -11
- package/api/streams/telemetry/TelemetryStreamAbstract.js +126 -145
- package/api/streams/telemetry/TelemetryStreamNode.d.ts +5 -5
- package/api/streams/telemetry/TelemetryStreamNode.js +44 -64
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +5 -10
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +37 -20
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +10 -13
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +37 -37
- package/constants/api.d.ts +14 -5
- package/constants/api.js +130 -126
- package/constants/auth.d.ts +2 -0
- package/constants/auth.js +2 -0
- package/constants/grpc.js +5 -8
- package/constants/identifier.js +6 -9
- package/constants/timezones.d.ts +1 -1
- package/constants/timezones.js +1 -4
- 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.js +2 -6
- package/helpers/arrayUnique.js +2 -6
- package/helpers/average.js +2 -7
- package/helpers/callerMessageHelpers.d.ts +14 -0
- package/helpers/callerMessageHelpers.js +86 -0
- package/helpers/cleanObject.js +17 -19
- package/helpers/cleanObject.spec.d.ts +1 -0
- package/helpers/cleanObject.spec.js +53 -0
- package/helpers/enviroment.js +4 -11
- package/helpers/flattenCallsignsLookup.d.ts +1 -1
- package/helpers/flattenCallsignsLookup.js +1 -5
- package/helpers/flattenObject.js +1 -5
- 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.js +1 -5
- package/helpers/formatServiceUrl.spec.d.ts +1 -0
- package/helpers/formatServiceUrl.spec.js +16 -0
- package/helpers/generateUUID.js +3 -7
- package/helpers/getSubscriptionsDifference.d.ts +3 -3
- package/helpers/getSubscriptionsDifference.js +6 -10
- package/helpers/getURLSearchParams.d.ts +2 -0
- package/helpers/getURLSearchParams.js +9 -0
- package/helpers/getURLSearchParams.spec.d.ts +1 -0
- package/helpers/getURLSearchParams.spec.js +19 -0
- package/helpers/getUniqueConfigKey.js +1 -6
- package/helpers/getUniqueId.js +3 -7
- package/helpers/getUnixTimeMs.js +1 -5
- package/helpers/index.d.ts +3 -1
- package/helpers/index.js +5 -15
- package/helpers/nanosecondToMillisecond.d.ts +1 -1
- package/helpers/nanosecondToMillisecond.js +11 -6
- package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
- package/helpers/nanosecondToMillisecond.spec.js +20 -0
- package/helpers/randomString.js +1 -5
- package/helpers/standardDeviation.js +4 -8
- package/helpers/standardDeviation.spec.d.ts +1 -0
- package/helpers/standardDeviation.spec.js +11 -0
- package/helpers/stringToUint8Array.js +3 -7
- package/helpers/uint8ArrayToString.js +3 -8
- package/helpers/websandbox/connection.d.ts +67 -0
- package/helpers/websandbox/connection.js +133 -0
- package/helpers/websandbox/frame/frame.d.ts +12 -0
- package/helpers/websandbox/frame/frame.js +22 -0
- package/helpers/websandbox/frame/frame.source.d.ts +2 -0
- package/helpers/websandbox/frame/frame.source.js +5 -0
- package/helpers/websandbox/frame/index.d.ts +2 -0
- package/helpers/websandbox/frame/index.js +2 -0
- package/helpers/websandbox/frame/worker/index.d.ts +2 -0
- package/helpers/websandbox/frame/worker/index.js +2 -0
- package/helpers/websandbox/frame/worker/manager.d.ts +11 -0
- package/helpers/websandbox/frame/worker/manager.js +67 -0
- package/helpers/websandbox/frame/worker/manager.spec.d.ts +4 -0
- package/helpers/websandbox/frame/worker/manager.spec.js +127 -0
- package/helpers/websandbox/frame/worker/types.d.ts +11 -0
- package/helpers/websandbox/frame/worker/types.js +1 -0
- package/helpers/websandbox/frame/worker/worker.d.ts +1 -0
- package/helpers/websandbox/frame/worker/worker.js +74 -0
- package/helpers/websandbox/frame/worker/worker.source.d.ts +2 -0
- package/helpers/websandbox/frame/worker/worker.source.js +4 -0
- package/helpers/websandbox/index.d.ts +2 -0
- package/helpers/websandbox/index.js +2 -0
- package/helpers/websandbox/sandbox.d.ts +57 -0
- package/helpers/websandbox/sandbox.js +175 -0
- package/helpers/websandbox/types.d.ts +13 -0
- package/helpers/websandbox/types.js +1 -0
- package/index.js +7 -19
- package/logger/RocosLogger.js +18 -44
- package/models/CallsignStatus.d.ts +6 -0
- package/models/CallsignStatus.js +7 -0
- package/models/ExportDataQuery.js +1 -5
- package/models/ExternalProject.js +1 -5
- package/models/IBaseService.d.ts +1 -0
- package/models/IBaseService.js +1 -2
- package/models/IConfigGroup.js +1 -2
- package/models/IDebugLevel.d.ts +1 -1
- package/models/IDebugLevel.js +1 -2
- package/models/IExportDataQuery.js +1 -2
- package/models/IFunctionConfig.js +1 -2
- package/models/IInvitation.d.ts +1 -1
- package/models/IInvitation.js +1 -2
- package/models/IInvitationExists.js +1 -2
- package/models/IOperation.js +1 -2
- package/models/IPersonalAccessToken.js +1 -2
- package/models/IProject.js +1 -2
- package/models/IProjectApplication.js +1 -2
- package/models/IRobot.d.ts +1 -0
- package/models/IRobot.js +1 -2
- package/models/IRobotConfig.js +1 -2
- package/models/IRobotPlugin.js +1 -2
- package/models/IRobotSettings.d.ts +28 -0
- package/models/IRobotSettings.js +1 -0
- package/models/IRobotTemplate.js +1 -2
- package/models/IRocosSDKConfig.d.ts +3 -9
- package/models/IRocosSDKConfig.js +1 -2
- package/models/ISource.js +1 -2
- package/models/IStream.js +1 -2
- package/models/IStreamConfig.js +1 -2
- package/models/IStreamOptions.js +1 -2
- package/models/IStreamSource.js +1 -2
- package/models/ISubscriberStatus.js +1 -2
- package/models/ITelemetryStreamConfig.js +1 -2
- package/models/IToken.d.ts +7 -3
- package/models/IToken.js +1 -2
- package/models/IWidget.js +1 -2
- package/models/IWidgetLineGroup.js +1 -2
- package/models/ResponseLevelEnum.d.ts +4 -0
- package/models/ResponseLevelEnum.js +6 -5
- package/models/Robot.d.ts +1 -0
- package/models/Robot.js +1 -5
- package/models/RobotConfig.js +1 -5
- package/models/RobotPlugin.js +1 -5
- package/models/RobotTemplate.js +9 -14
- package/models/RocosError.d.ts +1 -0
- package/models/RocosError.js +3 -6
- package/models/ServiceEnum.d.ts +2 -1
- package/models/ServiceEnum.js +3 -5
- package/models/Stream.js +4 -8
- package/models/StreamOptions.js +1 -5
- package/models/StreamSource.js +3 -7
- package/models/SubscriberStatusEnum.js +2 -5
- package/models/Token.d.ts +36 -4
- package/models/Token.js +74 -11
- package/models/Token.spec.d.ts +1 -0
- package/models/Token.spec.js +108 -0
- package/models/Widget.js +4 -8
- package/models/WidgetLineGroup.js +1 -5
- package/models/asset-storage/AssetModelItem.d.ts +3 -0
- package/models/asset-storage/AssetModelItem.js +1 -2
- package/models/caller/IRocosCallerMessageChunk.d.ts +8 -2
- package/models/caller/IRocosCallerMessageChunk.js +1 -2
- package/models/caller/IRocosCallerMessageChunks.d.ts +2 -3
- package/models/caller/IRocosCallerMessageChunks.js +1 -2
- package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -2
- package/models/caller/IRocosCallerMessageHeartbeat.js +1 -2
- package/models/caller/IRocosCallerMessageResponse.d.ts +3 -2
- package/models/caller/IRocosCallerMessageResponse.js +1 -2
- package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -2
- package/models/caller/IRocosCallerMessageResponseAck.js +13 -2
- package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -2
- package/models/caller/IRocosCallerMessageResponseResult.js +12 -2
- package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
- package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
- package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -2
- package/models/caller/IRocosCallerMessageResponseUid.js +7 -2
- package/models/caller/IRocosCallerMessageResponses.d.ts +2 -3
- package/models/caller/IRocosCallerMessageResponses.js +1 -2
- package/models/caller/RocosCallerResultStatus.d.ts +11 -1
- package/models/caller/RocosCallerResultStatus.js +12 -5
- package/models/caller/RocosResponseLevel.d.ts +6 -0
- package/models/caller/RocosResponseLevel.js +7 -0
- package/models/caller/index.d.ts +11 -0
- package/models/caller/index.js +11 -0
- package/models/callsigns/CallsignsEnums.d.ts +3 -3
- package/models/callsigns/CallsignsEnums.js +11 -14
- package/models/callsigns/CallsignsLookup.js +10 -15
- package/models/callsigns/CallsignsQuery.js +1 -5
- package/models/callsigns/CallsignsQueryPredicate.js +1 -5
- package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -2
- package/models/command/IRocosCommandMessageHeartbeat.js +1 -2
- package/models/command/IRocosCommandMessageResponse.d.ts +55 -2
- package/models/command/IRocosCommandMessageResponse.js +29 -2
- package/models/command/RocosCommandResultStatus.d.ts +11 -1
- package/models/command/RocosCommandResultStatus.js +12 -5
- package/models/command/index.d.ts +4 -0
- package/models/command/index.js +4 -0
- package/models/file/FileEnums.d.ts +4 -4
- package/models/file/FileEnums.js +9 -12
- package/models/index.d.ts +6 -31
- package/models/index.js +76 -113
- package/models/integrations/Overlay.js +1 -2
- package/models/integrations/Plan.js +1 -2
- package/models/maps/Map.d.ts +2 -3
- package/models/maps/Map.js +1 -2
- package/models/maps/Panorama.d.ts +36 -0
- package/models/maps/Panorama.js +1 -0
- package/models/message/IRocosCallerMessage.js +1 -2
- package/models/message/IRocosChangeMessage.js +1 -2
- package/models/message/IRocosCommandMessage.js +1 -2
- package/models/message/IRocosControlMessage.js +1 -2
- package/models/message/IRocosOpResultMessage.d.ts +2 -2
- package/models/message/IRocosOpResultMessage.js +1 -2
- package/models/message/IRocosSearchMessage.js +1 -2
- package/models/message/IRocosSearchRowMessage.js +1 -2
- package/models/message/IRocosSearchStatusMessage.js +1 -2
- package/models/message/IRocosTelemetryMessage.d.ts +12 -7
- package/models/message/IRocosTelemetryMessage.js +1 -2
- package/models/message/IStreamStatusMessage.js +1 -2
- package/models/message/RocosCallerMessage.d.ts +2 -4
- package/models/message/RocosCallerMessage.js +24 -15
- package/models/message/RocosCommandMessage.d.ts +2 -3
- package/models/message/RocosCommandMessage.js +5 -8
- package/models/message/RocosControlMessage.d.ts +1 -1
- package/models/message/RocosControlMessage.js +6 -10
- package/models/message/RocosOpResultMessage.d.ts +3 -2
- package/models/message/RocosOpResultMessage.js +6 -10
- package/models/message/RocosSearchMessage.d.ts +1 -1
- package/models/message/RocosSearchMessage.js +5 -9
- package/models/message/RocosSearchRowMessage.d.ts +1 -1
- package/models/message/RocosSearchRowMessage.js +8 -12
- package/models/message/RocosTelemetryMessage.d.ts +9 -23
- package/models/message/RocosTelemetryMessage.js +51 -93
- package/models/message/index.d.ts +17 -0
- package/models/message/index.js +17 -0
- package/models/params/ICallerParams.d.ts +12 -1
- package/models/params/ICallerParams.js +1 -2
- package/models/params/ICommandParams.js +1 -2
- package/models/params/IControlParams.d.ts +1 -1
- package/models/params/IControlParams.js +1 -2
- package/models/params/IFileAccessorParams.js +1 -2
- package/models/params/ISearchParams.js +1 -2
- package/models/params/ITelemetryParams.d.ts +1 -1
- package/models/params/ITelemetryParams.js +1 -2
- package/models/params/IWebRTCSignallingParams.js +1 -2
- package/models/projects/ProjectUser.js +1 -2
- package/models/schedule/IScheduleAction.d.ts +1 -1
- package/models/schedule/IScheduleAction.js +2 -5
- package/models/schedule/IScheduleInfo.js +1 -2
- package/models/schedule/IScheduleJob.js +1 -2
- package/models/search/SearchQueryFilter.js +1 -5
- package/models/search/SearchStreamQuery.js +1 -5
- package/models/stream/IBaseStream.js +1 -2
- package/models/stream/ICallerStream.js +1 -2
- package/models/stream/ICommandStream.js +1 -2
- package/models/stream/IControlStream.js +1 -2
- package/models/stream/IFileAccessorStream.d.ts +1 -2
- package/models/stream/IFileAccessorStream.js +1 -2
- package/models/stream/ISearchStream.js +1 -2
- package/models/stream/ITelemetryStream.js +1 -2
- package/models/stream/IWebRTCSignallingStream.d.ts +51 -16
- package/models/stream/IWebRTCSignallingStream.js +1 -7
- package/models/types.d.ts +5 -5
- package/models/types.js +1 -2
- package/models/workflow/Workflow.d.ts +36 -0
- package/models/workflow/Workflow.js +1 -0
- package/node/RocosSDKNode.d.ts +6 -1
- package/node/RocosSDKNode.js +82 -80
- package/node/index.js +7 -19
- package/package.json +10 -11
- package/services/AssetStorageService.d.ts +23 -1
- package/services/AssetStorageService.js +53 -24
- package/services/AuthService.d.ts +59 -27
- package/services/AuthService.js +167 -86
- package/services/AuthService.spec.d.ts +1 -0
- package/services/AuthService.spec.js +163 -0
- package/services/BaseServiceAbstract.d.ts +11 -13
- package/services/BaseServiceAbstract.js +18 -24
- package/services/BaseStreamService.d.ts +18 -0
- package/services/BaseStreamService.js +47 -0
- package/services/CallerService.d.ts +37 -17
- package/services/CallerService.js +86 -65
- package/services/CallerService.spec.d.ts +1 -0
- package/services/CallerService.spec.js +227 -0
- package/services/CallerServiceNode.js +4 -8
- package/services/CommandService.d.ts +5 -17
- package/services/CommandService.js +19 -62
- package/services/CommandServiceNode.js +4 -8
- package/services/ConfigGroupService.js +17 -21
- package/services/ControlService.d.ts +5 -17
- package/services/ControlService.js +22 -65
- package/services/ControlServiceNode.js +4 -8
- package/services/DashboardService.js +20 -24
- package/services/EvaluatorService.d.ts +11 -0
- package/services/EvaluatorService.js +28 -0
- package/services/EventService.js +13 -17
- package/services/FileAccessorService.d.ts +4 -18
- package/services/FileAccessorService.js +14 -62
- package/services/FileAccessorServiceNode.js +4 -8
- package/services/FunctionService.js +17 -21
- package/services/IntegrationService.js +14 -19
- package/services/MapService.d.ts +71 -25
- package/services/MapService.js +113 -40
- package/services/PlatformTimeService.js +8 -12
- package/services/PlatformTimeService.spec.d.ts +1 -0
- package/services/PlatformTimeService.spec.js +180 -0
- package/services/ProfileService.js +36 -40
- package/services/ProjectService.js +23 -27
- package/services/RobotService.d.ts +2 -6
- package/services/RobotService.js +48 -55
- package/services/ScheduleService.js +10 -14
- package/services/SearchService.d.ts +4 -17
- package/services/SearchService.js +24 -59
- package/services/SearchServiceNode.js +4 -8
- package/services/SpotProvisioningService.d.ts +1 -1
- package/services/SpotProvisioningService.js +16 -16
- package/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/services/SpotProvisioningServiceNode.js +16 -16
- package/services/StreamService.js +26 -30
- package/services/TelemetryService.d.ts +15 -17
- package/services/TelemetryService.js +103 -93
- package/services/TelemetryService.spec.d.ts +1 -0
- package/services/TelemetryService.spec.js +37 -0
- package/services/TelemetryServiceNode.js +4 -8
- package/services/TimeSyncerService.js +9 -13
- package/services/UserService.js +37 -41
- package/services/WebRTCSignallingService.d.ts +4 -4
- package/services/WebRTCSignallingService.js +24 -27
- package/services/WorkflowService.d.ts +25 -29
- package/services/WorkflowService.js +39 -75
- package/services/index.d.ts +1 -0
- package/services/index.js +27 -38
- package/store/RocosStore.js +9 -15
- package/demo/angular/.editorconfig +0 -16
- package/demo/angular/.eslintignore +0 -4
- package/demo/angular/.eslintrc.json +0 -50
- package/demo/angular/README.md +0 -36
- package/demo/angular/angular.json +0 -132
- package/demo/angular/karma.conf.js +0 -44
- package/demo/angular/package.json +0 -41
- package/demo/angular/src/app/app.component.css +0 -0
- package/demo/angular/src/app/app.component.html +0 -9
- package/demo/angular/src/app/app.component.ts +0 -10
- package/demo/angular/src/app/app.module.ts +0 -38
- package/demo/angular/src/app/components/assets/assets.component.css +0 -0
- package/demo/angular/src/app/components/assets/assets.component.html +0 -29
- package/demo/angular/src/app/components/assets/assets.component.ts +0 -107
- package/demo/angular/src/app/components/auth/auth.component.css +0 -0
- package/demo/angular/src/app/components/auth/auth.component.html +0 -27
- package/demo/angular/src/app/components/auth/auth.component.ts +0 -33
- package/demo/angular/src/app/components/caller/caller.component.css +0 -0
- package/demo/angular/src/app/components/caller/caller.component.html +0 -22
- package/demo/angular/src/app/components/caller/caller.component.ts +0 -61
- package/demo/angular/src/app/components/command/command.component.css +0 -0
- package/demo/angular/src/app/components/command/command.component.html +0 -22
- package/demo/angular/src/app/components/command/command.component.ts +0 -60
- package/demo/angular/src/app/components/integrations/integrations.component.ts +0 -43
- package/demo/angular/src/app/components/robots/robots.component.css +0 -0
- package/demo/angular/src/app/components/robots/robots.component.html +0 -13
- package/demo/angular/src/app/components/robots/robots.component.ts +0 -26
- package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
- package/demo/angular/src/app/components/sdk/sdk.component.html +0 -43
- package/demo/angular/src/app/components/sdk/sdk.component.ts +0 -50
- package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
- package/demo/angular/src/app/components/subscription/subscription.component.html +0 -6
- package/demo/angular/src/app/components/subscription/subscription.component.ts +0 -40
- package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
- package/demo/angular/src/app/components/telemetry/telemetry.component.html +0 -19
- package/demo/angular/src/app/components/telemetry/telemetry.component.ts +0 -61
- package/demo/angular/src/app/components/token/token.component.css +0 -0
- package/demo/angular/src/app/components/token/token.component.html +0 -10
- package/demo/angular/src/app/components/token/token.component.ts +0 -18
- package/demo/angular/src/app/components/video/p2pvideo/index.ts +0 -646
- package/demo/angular/src/app/components/video/video-source.ts +0 -315
- package/demo/angular/src/app/components/video/video.component.css +0 -6
- package/demo/angular/src/app/components/video/video.component.html +0 -54
- package/demo/angular/src/app/components/video/video.component.ts +0 -151
- package/demo/angular/src/app/services/sdk.service.ts +0 -193
- package/demo/angular/src/assets/.gitkeep +0 -0
- package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/angular/src/assets/logo.svg +0 -16
- package/demo/angular/src/environments/environment.prod.ts +0 -3
- package/demo/angular/src/environments/environment.ts +0 -16
- package/demo/angular/src/favicon.ico +0 -0
- package/demo/angular/src/index.html +0 -15
- package/demo/angular/src/main.ts +0 -7
- package/demo/angular/src/polyfills.ts +0 -53
- package/demo/angular/src/styles.css +0 -198
- package/demo/angular/tsconfig.app.json +0 -15
- package/demo/angular/tsconfig.json +0 -39
- package/demo/html/README.md +0 -8
- package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/html/assets/logo.svg +0 -16
- package/demo/html/favicon.ico +0 -0
- package/demo/html/index.html +0 -416
- package/demo/html/rocos-js-sdk.js +0 -3
- package/demo/html/rocos-js-sdk.js.LICENSE.txt +0 -8
- package/demo/html/rocos-js-sdk.js.map +0 -1
- package/demo/html/styles.css +0 -190
- package/demo/node/README.md +0 -17
- package/demo/node/index.js +0 -134
- package/demo/node/package.json +0 -8
- package/demo/react/.env +0 -1
- package/demo/react/.env.dist +0 -1
- package/demo/react/.eslintrc.json +0 -46
- package/demo/react/README.md +0 -65
- package/demo/react/package.json +0 -60
- package/demo/react/public/favicon.ico +0 -0
- package/demo/react/public/index.html +0 -43
- package/demo/react/public/logo192.png +0 -0
- package/demo/react/public/logo512.png +0 -0
- package/demo/react/public/manifest.json +0 -25
- package/demo/react/public/robots.txt +0 -3
- package/demo/react/src/App.css +0 -190
- package/demo/react/src/App.tsx +0 -31
- package/demo/react/src/actions/index.ts +0 -8
- package/demo/react/src/actions/sdkActions.ts +0 -62
- package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/react/src/assets/logo.svg +0 -16
- package/demo/react/src/components/AuthForm.tsx +0 -76
- package/demo/react/src/components/CallerBox.tsx +0 -53
- package/demo/react/src/components/CallerForm.tsx +0 -98
- package/demo/react/src/components/CommandBox.tsx +0 -47
- package/demo/react/src/components/CommandForm.tsx +0 -98
- package/demo/react/src/components/RobotsForm.tsx +0 -51
- package/demo/react/src/components/SubscriptionBox.tsx +0 -55
- package/demo/react/src/components/TelemetryForm.tsx +0 -98
- package/demo/react/src/components/TokenForm.tsx +0 -39
- package/demo/react/src/config.json +0 -14
- package/demo/react/src/controllers/RocosSDKController.ts +0 -48
- package/demo/react/src/helpers/deepEqual.ts +0 -27
- package/demo/react/src/hooks/useInput.ts +0 -29
- package/demo/react/src/index.css +0 -11
- package/demo/react/src/index.tsx +0 -26
- package/demo/react/src/react-app-env.d.ts +0 -1
- package/demo/react/src/reducers/sdkReducer.ts +0 -133
- package/demo/react/src/reportWebVitals.ts +0 -15
- package/demo/react/src/selectors/sdkSelector.ts +0 -11
- package/demo/react/src/setupTests.ts +0 -5
- package/demo/react/src/store.ts +0 -14
- package/demo/react/tsconfig.json +0 -26
- package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +0 -975
- package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
- package/demo/sdk-sizer/dist/sdk-sizer/index.html +0 -12
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/stats.json +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +0 -1
- package/grpc/file-accessor/filagree_grpc_pb.d.ts +0 -41
- package/grpc/file-accessor/filagree_grpc_pb.js +0 -121
- package/grpc/file-accessor/filagree_pb.d.ts +0 -339
- package/grpc/file-accessor/filagree_pb.js +0 -2261
- package/grpc/file-accessor/filagree_pb_service.d.ts +0 -115
- package/grpc/file-accessor/filagree_pb_service.js +0 -257
- package/grpc/rambo/rambo.v1_grpc_pb.d.ts +0 -39
- package/grpc/rambo/rambo.v1_grpc_pb.js +0 -73
- package/grpc/rambo/rambo.v1_pb.d.ts +0 -365
- package/grpc/rambo/rambo.v1_pb.js +0 -2469
- package/grpc/rambo/rambo.v1_pb_service.d.ts +0 -76
- package/grpc/rambo/rambo.v1_pb_service.js +0 -138
- package/grpc/rambo/uri.v1_grpc_pb.d.ts +0 -1
- package/grpc/rambo/uri.v1_grpc_pb.js +0 -1
- package/grpc/rambo/uri.v1_pb.d.ts +0 -80
- package/grpc/rambo/uri.v1_pb.js +0 -563
- package/grpc/rambo/uri.v1_pb_service.d.ts +0 -3
- package/grpc/rambo/uri.v1_pb_service.js +0 -3
- package/grpc/robot-control/conker_grpc_pb.d.ts +0 -46
- package/grpc/robot-control/conker_grpc_pb.js +0 -143
- package/grpc/robot-control/conker_pb.d.ts +0 -168
- package/grpc/robot-control/conker_pb.js +0 -1287
- package/grpc/robot-control/conker_pb_service.d.ts +0 -126
- package/grpc/robot-control/conker_pb_service.js +0 -301
- package/grpc/serviette/common.v1_grpc_pb.d.ts +0 -1
- package/grpc/serviette/common.v1_grpc_pb.js +0 -1
- package/grpc/serviette/common.v1_pb.d.ts +0 -8
- package/grpc/serviette/common.v1_pb.js +0 -45
- package/grpc/serviette/common.v1_pb_service.d.ts +0 -3
- package/grpc/serviette/common.v1_pb_service.js +0 -3
- package/grpc/serviette/serviette.v1_grpc_pb.d.ts +0 -137
- package/grpc/serviette/serviette.v1_grpc_pb.js +0 -331
- package/grpc/serviette/serviette.v1_pb.d.ts +0 -884
- package/grpc/serviette/serviette.v1_pb.js +0 -6363
- package/grpc/serviette/serviette.v1_pb_service.d.ts +0 -278
- package/grpc/serviette/serviette.v1_pb_service.js +0 -699
- package/grpc/serviette/uri.v1_grpc_pb.d.ts +0 -1
- package/grpc/serviette/uri.v1_grpc_pb.js +0 -1
- package/grpc/serviette/uri.v1_pb.d.ts +0 -102
- package/grpc/serviette/uri.v1_pb.js +0 -741
- package/grpc/serviette/uri.v1_pb_service.d.ts +0 -3
- package/grpc/serviette/uri.v1_pb_service.js +0 -3
- package/grpc/slowlane/slowlane_grpc_pb.d.ts +0 -38
- package/grpc/slowlane/slowlane_grpc_pb.js +0 -132
- package/grpc/slowlane/slowlane_pb.d.ts +0 -373
- package/grpc/slowlane/slowlane_pb.js +0 -2908
- package/grpc/slowlane/slowlane_pb_service.d.ts +0 -112
- package/grpc/slowlane/slowlane_pb_service.js +0 -189
- package/grpc/teletubby/teletubby_grpc_pb.d.ts +0 -73
- package/grpc/teletubby/teletubby_grpc_pb.js +0 -231
- package/grpc/teletubby/teletubby_pb.d.ts +0 -647
- package/grpc/teletubby/teletubby_pb.js +0 -4786
- package/grpc/teletubby/teletubby_pb_service.d.ts +0 -193
- package/grpc/teletubby/teletubby_pb_service.js +0 -436
- package/grpc/video/pigeon_grpc_pb.d.ts +0 -59
- package/grpc/video/pigeon_grpc_pb.js +0 -180
- package/grpc/video/pigeon_pb.d.ts +0 -237
- package/grpc/video/pigeon_pb.js +0 -1775
- package/grpc/video/pigeon_pb_service.d.ts +0 -152
- package/grpc/video/pigeon_pb_service.js +0 -292
- package/models/ISignupParams.d.ts +0 -8
- package/models/ISignupParams.js +0 -2
- package/utils/axisangle.d.ts +0 -18
- package/utils/axisangle.js +0 -48
- package/utils/eulerangles.d.ts +0 -22
- package/utils/eulerangles.js +0 -133
- package/utils/helperfunctions.d.ts +0 -5
- package/utils/helperfunctions.js +0 -50
- package/utils/localtransform.d.ts +0 -17
- package/utils/localtransform.js +0 -50
- package/utils/localtransformtree.d.ts +0 -17
- package/utils/localtransformtree.js +0 -88
- package/utils/misc.d.ts +0 -17
- package/utils/misc.js +0 -23
- package/utils/positionvector.d.ts +0 -13
- package/utils/positionvector.js +0 -79
- package/utils/quaternion.d.ts +0 -20
- package/utils/quaternion.js +0 -62
- package/utils/rotationmatrix.d.ts +0 -23
- package/utils/rotationmatrix.js +0 -262
- package/utils/transformationmatrix.d.ts +0 -12
- package/utils/transformationmatrix.js +0 -123
- package/utils/vector3.d.ts +0 -11
- package/utils/vector3.js +0 -61
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
|
|
3
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
|
4
4
|
import { Timezone } from '../constants/timezones';
|
|
5
|
-
|
|
5
|
+
type SpotImageTag = 'stable' | 'dev' | 'unstable';
|
|
6
6
|
export declare class SpotProvisioningServiceNode extends BaseServiceAbstract implements IBaseService {
|
|
7
7
|
constructor(config: IRocosSDKConfig);
|
|
8
8
|
getStatus(): boolean;
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const RocosStore_1 = require("../store/RocosStore");
|
|
9
|
-
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
|
10
|
-
class SpotProvisioningServiceNode extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
1
|
+
import { RocosError, errorCodes } from '../models';
|
|
2
|
+
import { API_SPOTTY_URL } from '../constants/api';
|
|
3
|
+
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
|
4
|
+
import { RocosLogger } from '../logger/RocosLogger';
|
|
5
|
+
import { RocosStore } from '../store/RocosStore';
|
|
6
|
+
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
|
7
|
+
export class SpotProvisioningServiceNode extends BaseServiceAbstract {
|
|
11
8
|
constructor(config) {
|
|
12
9
|
super(config);
|
|
13
|
-
this.logger =
|
|
10
|
+
this.logger = RocosLogger.getInstance(`SpotService(${this.config.url})`);
|
|
14
11
|
}
|
|
15
12
|
getStatus() {
|
|
16
13
|
return true;
|
|
17
14
|
}
|
|
18
15
|
getError(e) {
|
|
19
|
-
return new
|
|
16
|
+
return new RocosError(e, errorCodes.SPOT_SERVICE_ERROR);
|
|
20
17
|
}
|
|
21
18
|
async getSpotCoreImage(projectId, profileId, robot, tag = 'stable', patMetadata, timezone) {
|
|
22
|
-
const userService =
|
|
19
|
+
const userService = RocosStore.getSDKInstance(this.config).getUserService();
|
|
23
20
|
const pat = await userService.createPAT({
|
|
24
21
|
name: `Spot provisioning token for ${robot.callsign}`,
|
|
25
22
|
projectId,
|
|
26
23
|
scope: ['provisioning'],
|
|
27
24
|
robotDefinitionId: profileId,
|
|
28
|
-
metaData:
|
|
25
|
+
metaData: {
|
|
26
|
+
defaultRobotDefinitionId: profileId,
|
|
27
|
+
singleUse: true,
|
|
28
|
+
...patMetadata,
|
|
29
|
+
},
|
|
29
30
|
ttlDays: 90,
|
|
30
31
|
});
|
|
31
|
-
return this.callPost(
|
|
32
|
+
return this.callPost(formatServiceUrl(API_SPOTTY_URL, { url: this.config.url }, this.config.insecure), {
|
|
32
33
|
pat: pat.pat,
|
|
33
34
|
callsign: robot.callsign,
|
|
34
35
|
robotName: robot.name,
|
|
@@ -40,4 +41,3 @@ class SpotProvisioningServiceNode extends BaseServiceAbstract_1.BaseServiceAbstr
|
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
|
-
exports.SpotProvisioningServiceNode = SpotProvisioningServiceNode;
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const cleanObject_1 = require("../helpers/cleanObject");
|
|
11
|
-
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
|
12
|
-
class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
1
|
+
import { API_PROJECT_CALLSIGN_STREAM_URL, API_PROJECT_STREAM_CALLSIGN_URL, API_PROJECT_STREAM_DATA_URL, API_PROJECT_STREAM_ID_URL, API_PROJECT_STREAM_URL, API_SOURCE_ID_URL, API_SOURCE_URL, API_TEMPLATE_EXPORTER_URL, } from '../constants/api';
|
|
2
|
+
import { RocosError, errorCodes } from '../models/RocosError';
|
|
3
|
+
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
|
4
|
+
import { RocosLogger } from '../logger/RocosLogger';
|
|
5
|
+
import { Stream } from '../models/Stream';
|
|
6
|
+
import { StreamSource } from '../models/StreamSource';
|
|
7
|
+
import { cleanObject } from '../helpers/cleanObject';
|
|
8
|
+
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
|
9
|
+
export class StreamService extends BaseServiceAbstract {
|
|
13
10
|
constructor(config) {
|
|
14
11
|
super(config);
|
|
15
|
-
this.logger =
|
|
12
|
+
this.logger = RocosLogger.getInstance(`StreamService(${this.config.url})`);
|
|
16
13
|
}
|
|
17
14
|
getError(e) {
|
|
18
|
-
return new
|
|
15
|
+
return new RocosError(e, errorCodes.STREAM_SERVICE_ERROR);
|
|
19
16
|
}
|
|
20
17
|
getStatus() {
|
|
21
18
|
return true;
|
|
@@ -28,14 +25,14 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
28
25
|
*/
|
|
29
26
|
// TODO: map the response object
|
|
30
27
|
async create(projectId, stream) {
|
|
31
|
-
return this.callPost(
|
|
28
|
+
return this.callPost(formatServiceUrl(API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), cleanObject(new Stream(stream)), `Failed to create stream for ${projectId}.`);
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Get streams list by project id.
|
|
35
32
|
*/
|
|
36
33
|
async list(projectId) {
|
|
37
|
-
const data = await this.callGet(
|
|
38
|
-
return data.map((stream) =>
|
|
34
|
+
const data = await this.callGet(formatServiceUrl(API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get streams for ${projectId}.`);
|
|
35
|
+
return data.map((stream) => cleanObject(new Stream(stream)));
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
41
38
|
* Get stream information by project id and stream id.
|
|
@@ -44,8 +41,8 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
44
41
|
* @param streamId - Stream Id
|
|
45
42
|
*/
|
|
46
43
|
async info(projectId, streamId) {
|
|
47
|
-
const data = await this.callGet(
|
|
48
|
-
return
|
|
44
|
+
const data = await this.callGet(formatServiceUrl(API_PROJECT_STREAM_ID_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to get stream for ${projectId}, streamId ${streamId}.`);
|
|
45
|
+
return cleanObject(new Stream(data));
|
|
49
46
|
}
|
|
50
47
|
/**
|
|
51
48
|
* Add new data to the stream
|
|
@@ -56,13 +53,13 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
56
53
|
*/
|
|
57
54
|
// TODO: map the response object
|
|
58
55
|
async addData(projectId, streamId, sources) {
|
|
59
|
-
return this.callPut(
|
|
56
|
+
return this.callPut(formatServiceUrl(API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), { data: sources.map((source) => cleanObject(new StreamSource(source))) }, `Failed add data to stream for ${projectId}, streamId ${streamId}.`);
|
|
60
57
|
}
|
|
61
58
|
/**
|
|
62
59
|
* Get sources for stream.
|
|
63
60
|
*/
|
|
64
61
|
async sources() {
|
|
65
|
-
return this.callGet(
|
|
62
|
+
return this.callGet(formatServiceUrl(API_SOURCE_URL, { url: this.config.url }, this.config.insecure), 'Failed to get sources for stream.');
|
|
66
63
|
}
|
|
67
64
|
/**
|
|
68
65
|
* Get source info
|
|
@@ -70,7 +67,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
70
67
|
* @param sourceId - Source Id
|
|
71
68
|
*/
|
|
72
69
|
async sourceInfo(sourceId) {
|
|
73
|
-
return this.callGet(
|
|
70
|
+
return this.callGet(formatServiceUrl(API_SOURCE_ID_URL, { url: this.config.url, sourceId }, this.config.insecure), `Failed add et source info for ${sourceId}.`);
|
|
74
71
|
}
|
|
75
72
|
/**
|
|
76
73
|
* Get streams list of robot
|
|
@@ -79,7 +76,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
79
76
|
* @param callsign - Robot's Callsign
|
|
80
77
|
*/
|
|
81
78
|
async streamsForRobot(projectId, callsign) {
|
|
82
|
-
return this.callGet(
|
|
79
|
+
return this.callGet(formatServiceUrl(API_PROJECT_CALLSIGN_STREAM_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed get streams for ${projectId}, callsign ${callsign}.`);
|
|
83
80
|
}
|
|
84
81
|
/**
|
|
85
82
|
* Bind robot with stream
|
|
@@ -90,7 +87,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
90
87
|
*/
|
|
91
88
|
// TODO: map the response object
|
|
92
89
|
async bindRobot(projectId, streamId, callsigns) {
|
|
93
|
-
return this.callPut(
|
|
90
|
+
return this.callPut(formatServiceUrl(API_PROJECT_STREAM_CALLSIGN_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), callsigns, `Failed to bind robot with stream for ${projectId}, streamId ${streamId}.`);
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
96
93
|
* Unbind robot with stream
|
|
@@ -101,7 +98,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
101
98
|
*/
|
|
102
99
|
// TODO: map the response object
|
|
103
100
|
async unbindRobot(projectId, streamId, callsigns) {
|
|
104
|
-
return this.callDelete(
|
|
101
|
+
return this.callDelete(formatServiceUrl(API_PROJECT_STREAM_CALLSIGN_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to unbind robot with stream for ${projectId}, streamId ${streamId}.`, callsigns);
|
|
105
102
|
}
|
|
106
103
|
/**
|
|
107
104
|
* Remove streams by list
|
|
@@ -111,7 +108,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
111
108
|
*/
|
|
112
109
|
// TODO: map the response object
|
|
113
110
|
async removeStreams(projectId, streamIds) {
|
|
114
|
-
return this.callDelete(
|
|
111
|
+
return this.callDelete(formatServiceUrl(API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to remove stream for ${projectId}.`, streamIds);
|
|
115
112
|
}
|
|
116
113
|
/**
|
|
117
114
|
* Remove stream data by dataIds list
|
|
@@ -122,7 +119,7 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
122
119
|
*/
|
|
123
120
|
// TODO: map the response object
|
|
124
121
|
async removeStreamData(projectId, streamId, dataIds) {
|
|
125
|
-
return this.callDelete(
|
|
122
|
+
return this.callDelete(formatServiceUrl(API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to remove streams for ${projectId}, streamId ${streamId}.`, dataIds);
|
|
126
123
|
}
|
|
127
124
|
/**
|
|
128
125
|
* Remove stream data by ids list
|
|
@@ -133,14 +130,13 @@ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
133
130
|
*/
|
|
134
131
|
// TODO: map the response object
|
|
135
132
|
async removeStreamDataByIds(projectId, streamId, ids) {
|
|
136
|
-
return this.callDelete(
|
|
133
|
+
return this.callDelete(formatServiceUrl(API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to remove streams for ${projectId}, streamId ${streamId}.`, ids);
|
|
137
134
|
}
|
|
138
135
|
/**
|
|
139
136
|
* Get stream data exporter templates list
|
|
140
137
|
*/
|
|
141
138
|
// TODO: map the response object
|
|
142
139
|
async dataExporterTemplates() {
|
|
143
|
-
return this.callGet(
|
|
140
|
+
return this.callGet(formatServiceUrl(API_TEMPLATE_EXPORTER_URL, { url: this.config.url }, this.config.insecure), 'Failed to get data exporters.');
|
|
144
141
|
}
|
|
145
142
|
}
|
|
146
|
-
exports.StreamService = StreamService;
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import { Observable
|
|
2
|
-
import { ITelemetrySubscriptionParams, ITelemetrySubscriptions } from '../models
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { IRocosTelemetryMessage } from '../models/message/IRocosTelemetryMessage';
|
|
6
|
-
import { IStreamStatusMessage } from '../models/message/IStreamStatusMessage';
|
|
7
|
-
import { ISubscriberStatus } from '../models/ISubscriberStatus';
|
|
8
|
-
import { ITelemetryStream } from '../models/stream/ITelemetryStream';
|
|
9
|
-
import { ITelemetryStreamConfig } from '../models/ITelemetryStreamConfig';
|
|
10
|
-
import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
|
|
11
|
-
export declare class TelemetryService implements IBaseService, ISubscriberStatus {
|
|
12
|
-
private config;
|
|
13
|
-
private logger;
|
|
14
|
-
private status;
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { CallsignStatus, IRocosSDKConfig, IRocosTelemetryMessage, IStreamStatusMessage, ITelemetryStream, ITelemetryStreamConfig, ITelemetrySubscriptionParams, ITelemetrySubscriptions } from '../models';
|
|
3
|
+
import { BaseStreamService } from './BaseStreamService';
|
|
4
|
+
export declare class TelemetryService extends BaseStreamService<ITelemetryStream, ITelemetryStreamConfig> {
|
|
15
5
|
private statusSubscription;
|
|
16
6
|
private changeStream$;
|
|
17
7
|
private streamStatusSubject$;
|
|
18
|
-
status$: Subject<SubscriberStatusEnum>;
|
|
19
8
|
constructor(config: IRocosSDKConfig);
|
|
20
|
-
getStatus(): boolean;
|
|
21
9
|
/**
|
|
22
10
|
* The main method for subscribing to telemetry messages
|
|
23
11
|
*
|
|
@@ -38,6 +26,16 @@ export declare class TelemetryService implements IBaseService, ISubscriberStatus
|
|
|
38
26
|
* @returns An Observable that outputs stream status
|
|
39
27
|
*/
|
|
40
28
|
getStatusChanges(): Observable<IStreamStatusMessage>;
|
|
41
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Subscribes to the heartbeat telemetry and checks we receive one at least every 5s
|
|
31
|
+
* @param projectId
|
|
32
|
+
* @param callsign
|
|
33
|
+
* @param heartbeatTimeoutMs optionally override the deadline for heartbeats (in ms). Default 5000ms
|
|
34
|
+
* @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
|
|
35
|
+
*/
|
|
36
|
+
getRobotStatusChanges(projectId: string, callsign: string, heartbeatTimeoutMs?: number, intervalMs?: number): Observable<CallsignStatus>;
|
|
37
|
+
protected initStream(stream: ITelemetryStream): Promise<void>;
|
|
38
|
+
private buildScope;
|
|
39
|
+
private createStream;
|
|
42
40
|
protected getStream(config: ITelemetryStreamConfig): ITelemetryStream;
|
|
43
41
|
}
|
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const TelemetryStream_1 = require("../api/streams/telemetry/TelemetryStream");
|
|
15
|
-
const arrayUnique_1 = require("../helpers/arrayUnique");
|
|
16
|
-
const getUniqueId_1 = require("../helpers/getUniqueId");
|
|
17
|
-
class TelemetryService {
|
|
1
|
+
import { BehaviorSubject, catchError, combineLatest, distinctUntilChanged, from, interval, map, mergeAll, of, startWith, } from 'rxjs';
|
|
2
|
+
import { CallsignsLookup, CallsignsLookupType, CallsignStatus, errorCodes, RocosError, SubscriberStatusEnum, } from '../models';
|
|
3
|
+
import { filter, finalize } from 'rxjs/operators';
|
|
4
|
+
import { BaseStreamService } from './BaseStreamService';
|
|
5
|
+
import { IDENTIFIER_NAME_TELEMETRY } from '../constants/identifier';
|
|
6
|
+
import { RocosStore } from '../store/RocosStore';
|
|
7
|
+
import { TelemetryStream } from '../api/streams/telemetry/TelemetryStream';
|
|
8
|
+
import { arrayUnique } from '../helpers/arrayUnique';
|
|
9
|
+
import { getUniqueId } from '../helpers/getUniqueId';
|
|
10
|
+
import { flattenCallsignsLookup } from '../helpers/flattenCallsignsLookup';
|
|
11
|
+
const HEARTBEAT_SOURCE = '/rocos/agent/telemetry/heartbeat';
|
|
12
|
+
const HEARTBEAT_TIMEOUT = 5000; // if no heartbeat within 5 seconds then the robot is considered dead
|
|
13
|
+
export class TelemetryService extends BaseStreamService {
|
|
18
14
|
constructor(config) {
|
|
19
|
-
|
|
20
|
-
this.changeStream$ = new
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.logger = RocosLogger_1.RocosLogger.getInstance(`TelemetryService(${this.config.url})`);
|
|
24
|
-
RocosStore_1.RocosStore.getChangeSubject()
|
|
25
|
-
.pipe(operators_1.filter((message) => {
|
|
15
|
+
super('TelemetryService', config);
|
|
16
|
+
this.changeStream$ = new BehaviorSubject(new Map());
|
|
17
|
+
RocosStore.getChangeSubject()
|
|
18
|
+
.pipe(filter((message) => {
|
|
26
19
|
return message.type === 'telemetry-subscription' && message.url === this.config.url;
|
|
27
20
|
}))
|
|
28
21
|
.subscribe((msg) => {
|
|
29
22
|
this.changeStream$.next(msg.data);
|
|
30
23
|
});
|
|
31
|
-
this.streamStatusSubject$ = new
|
|
24
|
+
this.streamStatusSubject$ = new BehaviorSubject({
|
|
32
25
|
scope: 'default',
|
|
33
|
-
status:
|
|
26
|
+
status: SubscriberStatusEnum.STOPPED,
|
|
34
27
|
});
|
|
35
28
|
}
|
|
36
|
-
getStatus() {
|
|
37
|
-
return this.status;
|
|
38
|
-
}
|
|
39
29
|
/**
|
|
40
30
|
* The main method for subscribing to telemetry messages
|
|
41
31
|
*
|
|
@@ -44,65 +34,42 @@ class TelemetryService {
|
|
|
44
34
|
* @returns An Observable that outputs telemetry messages
|
|
45
35
|
*/
|
|
46
36
|
subscribe(params) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (!(params === null || params === void 0 ? void 0 : params.callsigns) && (params === null || params === void 0 ? void 0 : params.query)) {
|
|
37
|
+
const sources = arrayUnique(params.sources).map((item) => item.trim()) ?? [];
|
|
38
|
+
if (!params?.callsigns && params?.query) {
|
|
50
39
|
this.logger.error('Error: params need to contain either callsigns or query', params);
|
|
51
|
-
throw new
|
|
40
|
+
throw new RocosError('Params need to contain either callsigns or query.', errorCodes.TELEMETRY_SERVICE_ERROR);
|
|
52
41
|
}
|
|
53
|
-
let callsignsLookup = new
|
|
54
|
-
if (params
|
|
42
|
+
let callsignsLookup = new CallsignsLookup([]);
|
|
43
|
+
if (params?.callsigns) {
|
|
55
44
|
this.logger.info('subscribe with callsigns', params);
|
|
56
|
-
callsignsLookup = new
|
|
45
|
+
callsignsLookup = new CallsignsLookup(params.callsigns);
|
|
57
46
|
}
|
|
58
|
-
else if (params
|
|
47
|
+
else if (params?.query) {
|
|
59
48
|
this.logger.info('subscribe with query', params);
|
|
60
|
-
callsignsLookup = new
|
|
61
|
-
}
|
|
62
|
-
const scope = (_b = params.scope) !== null && _b !== void 0 ? _b : 'default';
|
|
63
|
-
const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_TELEMETRY, scope);
|
|
64
|
-
const streamRegister = StreamRegister_1.StreamRegister.getInstance();
|
|
65
|
-
let stream = streamRegister.getStream(identifier);
|
|
66
|
-
if (!stream) {
|
|
67
|
-
stream = this.getStream({
|
|
68
|
-
url: this.config.url,
|
|
69
|
-
projectId: params.projectId,
|
|
70
|
-
callsignsLookup,
|
|
71
|
-
sources,
|
|
72
|
-
token: this.config.token,
|
|
73
|
-
scope,
|
|
74
|
-
options: this.config.options,
|
|
75
|
-
port: this.config.port,
|
|
76
|
-
insecure: this.config.insecure,
|
|
77
|
-
});
|
|
78
|
-
// don't wait for these promises, they can be init after startup
|
|
79
|
-
void streamRegister.addStream(stream);
|
|
80
|
-
void this.initStream(stream);
|
|
81
|
-
stream.statusStream$.subscribe((msg) => {
|
|
82
|
-
this.streamStatusSubject$.next({
|
|
83
|
-
scope,
|
|
84
|
-
status: msg,
|
|
85
|
-
});
|
|
86
|
-
});
|
|
49
|
+
callsignsLookup = new CallsignsLookup(params.query);
|
|
87
50
|
}
|
|
51
|
+
// scope is used as a key to generate unique streams
|
|
52
|
+
// ideally there should be just one concurrent stream opened
|
|
53
|
+
const scope = this.buildScope(params, callsignsLookup);
|
|
54
|
+
const callsigns = callsignsLookup.lookupValue;
|
|
88
55
|
const subscriptionParams = {
|
|
89
|
-
uniqueId:
|
|
90
|
-
callsigns: callsignsLookup
|
|
91
|
-
? callsignsLookup.lookupValue
|
|
92
|
-
: [],
|
|
56
|
+
uniqueId: getUniqueId(params.projectId, callsignsLookup, sources, scope),
|
|
57
|
+
callsigns: callsignsLookup?.lookupType === CallsignsLookupType.List ? callsignsLookup.lookupValue : [],
|
|
93
58
|
sources,
|
|
94
59
|
};
|
|
95
|
-
stream.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
60
|
+
const stream = this.createStream(params.projectId, callsignsLookup, sources, scope).then((stream) => {
|
|
61
|
+
stream.addSubscription(subscriptionParams);
|
|
62
|
+
if (!this.statusSubscription) {
|
|
63
|
+
this.statusSubscription = stream.statusStream$.subscribe((msg) => {
|
|
64
|
+
this.status = msg === SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum.ALIVE;
|
|
65
|
+
this.status$.next(msg);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return from(stream.messageStream$).pipe(finalize(() => stream?.removeSubscription(subscriptionParams, params.terminateReceiverGroupOnUnsubscribe)));
|
|
69
|
+
});
|
|
70
|
+
return from(stream).pipe(mergeAll(), filter((message) => {
|
|
104
71
|
return callsigns.includes(message.callsign) && sources.includes(message.source);
|
|
105
|
-
})
|
|
72
|
+
}));
|
|
106
73
|
}
|
|
107
74
|
/**
|
|
108
75
|
* A method to keep track of the current subscriptions
|
|
@@ -120,25 +87,68 @@ class TelemetryService {
|
|
|
120
87
|
getStatusChanges() {
|
|
121
88
|
return this.streamStatusSubject$.asObservable();
|
|
122
89
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Subscribes to the heartbeat telemetry and checks we receive one at least every 5s
|
|
92
|
+
* @param projectId
|
|
93
|
+
* @param callsign
|
|
94
|
+
* @param heartbeatTimeoutMs optionally override the deadline for heartbeats (in ms). Default 5000ms
|
|
95
|
+
* @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
|
|
96
|
+
*/
|
|
97
|
+
getRobotStatusChanges(projectId, callsign, heartbeatTimeoutMs = HEARTBEAT_TIMEOUT, intervalMs = 2000) {
|
|
98
|
+
const startedAt = Date.now();
|
|
99
|
+
const heartbeatTime$ = this.subscribe({
|
|
100
|
+
projectId,
|
|
101
|
+
sources: [HEARTBEAT_SOURCE],
|
|
102
|
+
callsigns: [callsign],
|
|
103
|
+
}).pipe(map(() => Date.now()));
|
|
104
|
+
return combineLatest([heartbeatTime$.pipe(startWith(startedAt)), interval(intervalMs)]).pipe(map(([lastHeartbeat, _]) => {
|
|
105
|
+
const now = Date.now();
|
|
106
|
+
// If we haven't received a heartbeat, but we've only just started
|
|
107
|
+
if (lastHeartbeat === startedAt && now - startedAt <= heartbeatTimeoutMs) {
|
|
108
|
+
return CallsignStatus.UNKNOWN;
|
|
133
109
|
}
|
|
134
|
-
|
|
135
|
-
|
|
110
|
+
if (now - lastHeartbeat > heartbeatTimeoutMs) {
|
|
111
|
+
return CallsignStatus.OFFLINE;
|
|
136
112
|
}
|
|
137
|
-
|
|
113
|
+
return CallsignStatus.ONLINE;
|
|
114
|
+
}), startWith(CallsignStatus.UNKNOWN), distinctUntilChanged(), catchError(() => of(CallsignStatus.ERROR)));
|
|
115
|
+
}
|
|
116
|
+
async initStream(stream) {
|
|
117
|
+
await super.initStream(stream);
|
|
138
118
|
stream.init();
|
|
139
119
|
}
|
|
120
|
+
buildScope(params, callsignsLookup) {
|
|
121
|
+
// prefix with project id to avoid stream instance to be shared across projects
|
|
122
|
+
if (params.scope)
|
|
123
|
+
return `${params.projectId}-${params.scope}`;
|
|
124
|
+
this.logger.debug(`No scope is set, generating default`);
|
|
125
|
+
if (callsignsLookup)
|
|
126
|
+
return `${params.projectId}-default-${flattenCallsignsLookup(callsignsLookup).join()}`;
|
|
127
|
+
return `${params.projectId}-default`;
|
|
128
|
+
}
|
|
129
|
+
async createStream(projectId, callsignsLookup, sources, scope) {
|
|
130
|
+
const newStream = await this.createStreamFromConfig(IDENTIFIER_NAME_TELEMETRY, {
|
|
131
|
+
url: this.config.url,
|
|
132
|
+
projectId,
|
|
133
|
+
callsignsLookup,
|
|
134
|
+
sources,
|
|
135
|
+
token: this.config.token,
|
|
136
|
+
scope: scope ?? 'default',
|
|
137
|
+
options: this.config.options,
|
|
138
|
+
port: this.config.port,
|
|
139
|
+
insecure: this.config.insecure,
|
|
140
|
+
});
|
|
141
|
+
if (!newStream.isNew) {
|
|
142
|
+
newStream.stream.statusStream$.subscribe((msg) => {
|
|
143
|
+
this.streamStatusSubject$.next({
|
|
144
|
+
scope,
|
|
145
|
+
status: msg,
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return newStream.stream;
|
|
150
|
+
}
|
|
140
151
|
getStream(config) {
|
|
141
|
-
return new
|
|
152
|
+
return new TelemetryStream(config);
|
|
142
153
|
}
|
|
143
154
|
}
|
|
144
|
-
exports.TelemetryService = TelemetryService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CallsignStatus } from '../models';
|
|
2
|
+
import { NEVER, delay, from, lastValueFrom, take, throwError } from 'rxjs';
|
|
3
|
+
import { TelemetryService } from './TelemetryService';
|
|
4
|
+
describe('TelemetryService', () => {
|
|
5
|
+
describe('getRobotStatusChanges', () => {
|
|
6
|
+
it('should emit unknown to begin with', async () => {
|
|
7
|
+
const service = new TelemetryService({ url: '', token: '' });
|
|
8
|
+
// Mock 5 heartbeat messages
|
|
9
|
+
jest.spyOn(service, 'subscribe').mockReturnValue(NEVER);
|
|
10
|
+
const lastValue = await lastValueFrom(service.getRobotStatusChanges('project', 'callsign').pipe(take(1)));
|
|
11
|
+
expect(lastValue).toEqual(CallsignStatus.UNKNOWN);
|
|
12
|
+
});
|
|
13
|
+
it('should emit online if the robot emits a heartbeat', async () => {
|
|
14
|
+
const service = new TelemetryService({ url: '', token: '' });
|
|
15
|
+
// Mock 5 heartbeat messages
|
|
16
|
+
jest
|
|
17
|
+
.spyOn(service, 'subscribe')
|
|
18
|
+
.mockReturnValue(from([0, 1, 2, 3, 4]).pipe(delay(100)));
|
|
19
|
+
const lastValue = await lastValueFrom(service.getRobotStatusChanges('project', 'callsign', 1000, 10).pipe(take(2)));
|
|
20
|
+
expect(lastValue).toEqual(CallsignStatus.ONLINE);
|
|
21
|
+
}, 10000);
|
|
22
|
+
it('should emit offline if the robot never emits', async () => {
|
|
23
|
+
const service = new TelemetryService({ url: '', token: '' });
|
|
24
|
+
// Mock 5 heartbeat messages
|
|
25
|
+
jest.spyOn(service, 'subscribe').mockReturnValue(NEVER);
|
|
26
|
+
const lastValue = await lastValueFrom(service.getRobotStatusChanges('project', 'callsign', 100, 10).pipe(take(2)));
|
|
27
|
+
expect(lastValue).toEqual(CallsignStatus.OFFLINE);
|
|
28
|
+
});
|
|
29
|
+
it('should emit an error if the telemetry errors', async () => {
|
|
30
|
+
const service = new TelemetryService({ url: '', token: '' });
|
|
31
|
+
// Mock 5 heartbeat messages
|
|
32
|
+
jest.spyOn(service, 'subscribe').mockReturnValue(throwError(() => new Error('test')));
|
|
33
|
+
const lastValue = await lastValueFrom(service.getRobotStatusChanges('project', 'callsign', 100, 10).pipe(take(2)));
|
|
34
|
+
expect(lastValue).toEqual(CallsignStatus.ERROR);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const TelemetryService_1 = require("./TelemetryService");
|
|
5
|
-
const TelemetryStreamNode_1 = require("../api/streams/telemetry/TelemetryStreamNode");
|
|
6
|
-
class TelemetryServiceNode extends TelemetryService_1.TelemetryService {
|
|
1
|
+
import { TelemetryService } from './TelemetryService';
|
|
2
|
+
import { TelemetryStreamNode } from '../api/streams/telemetry/TelemetryStreamNode';
|
|
3
|
+
export class TelemetryServiceNode extends TelemetryService {
|
|
7
4
|
getStream(config) {
|
|
8
|
-
return new
|
|
5
|
+
return new TelemetryStreamNode(config);
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
exports.TelemetryServiceNode = TelemetryServiceNode;
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const RocosLogger_1 = require("../logger/RocosLogger");
|
|
8
|
-
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
|
9
|
-
class TimeSyncerService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
1
|
+
import { RocosError, errorCodes } from '../models/RocosError';
|
|
2
|
+
import { API_SERVER_TIME_URL } from '../constants/api';
|
|
3
|
+
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
|
4
|
+
import { RocosLogger } from '../logger/RocosLogger';
|
|
5
|
+
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
|
6
|
+
export class TimeSyncerService extends BaseServiceAbstract {
|
|
10
7
|
constructor(config) {
|
|
11
8
|
super(config);
|
|
12
|
-
this.logger =
|
|
9
|
+
this.logger = RocosLogger.getInstance(`TimeSyncerService(${this.config.url})`);
|
|
13
10
|
}
|
|
14
11
|
getError(e) {
|
|
15
|
-
return new
|
|
12
|
+
return new RocosError(e, errorCodes.TIME_SYNCER_SERVICE_ERROR);
|
|
16
13
|
}
|
|
17
14
|
getStatus() {
|
|
18
15
|
return true;
|
|
@@ -21,7 +18,6 @@ class TimeSyncerService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
|
21
18
|
* Get Server Time
|
|
22
19
|
*/
|
|
23
20
|
getServerTime() {
|
|
24
|
-
return this.callGet(
|
|
21
|
+
return this.callGet(formatServiceUrl(API_SERVER_TIME_URL, { url: this.config.url }, this.config.insecure), 'Failed to get server time.');
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
exports.TimeSyncerService = TimeSyncerService;
|