@dronedeploy/rocos-js-sdk 3.0.1-alpha.9 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +59 -29
- package/cjs/IRocosSDK.d.ts +4 -3
- package/cjs/RocosSDK.d.ts +19 -7
- package/cjs/RocosSDK.js +31 -10
- package/cjs/api/streams/caller/CallerStream.js +5 -2
- package/cjs/api/streams/caller/CallerStreamNode.js +2 -1
- package/cjs/api/streams/command/CommandStream.js +5 -2
- package/cjs/api/streams/command/CommandStreamNode.js +2 -1
- package/cjs/api/streams/control/ControlStream.js +5 -2
- package/cjs/api/streams/control/ControlStreamAbstract.d.ts +1 -1
- package/cjs/api/streams/control/ControlStreamNode.js +2 -1
- package/cjs/api/streams/fileAccessor/FileAccessorStream.js +4 -1
- package/cjs/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
- package/cjs/api/streams/search/SearchStream.js +5 -2
- package/cjs/api/streams/search/SearchStreamNode.js +2 -1
- package/cjs/api/streams/telemetry/TelemetryStream.js +4 -1
- package/cjs/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
- package/cjs/api/streams/telemetry/TelemetryStreamNode.js +2 -1
- package/cjs/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
- package/cjs/constants/api.d.ts +31 -15
- package/cjs/constants/api.js +35 -18
- package/cjs/helpers/cleanObject.js +4 -1
- package/cjs/helpers/getUniqueConfigKey.d.ts +6 -2
- package/cjs/helpers/getUniqueConfigKey.js +7 -2
- package/cjs/helpers/index.d.ts +1 -0
- package/cjs/helpers/index.js +1 -0
- package/cjs/helpers/kscript/Context.d.ts +34 -0
- package/cjs/helpers/kscript/Context.js +52 -0
- package/cjs/helpers/kscript/index.d.ts +1 -0
- package/cjs/helpers/kscript/index.js +27 -0
- package/cjs/helpers/kscript/kscript.d.ts +6 -0
- package/cjs/helpers/kscript/kscript.js +115 -0
- package/cjs/helpers/kscript/nodes/Identifier.d.ts +12 -0
- package/cjs/helpers/kscript/nodes/Identifier.js +20 -0
- package/cjs/helpers/kscript/nodes/Literal.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/Literal.js +22 -0
- package/cjs/helpers/kscript/nodes/Node.d.ts +9 -0
- package/cjs/helpers/kscript/nodes/Node.js +15 -0
- package/cjs/helpers/kscript/nodes/Program.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/Program.js +24 -0
- package/cjs/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
- package/cjs/helpers/kscript/nodes/TemplateLiteral.js +35 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.js +31 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +40 -0
- package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
- package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.js +104 -0
- package/cjs/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
- package/cjs/helpers/kscript/nodes/expressions/CallExpression.js +38 -0
- package/cjs/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
- package/cjs/helpers/kscript/nodes/expressions/ChainExpression.js +25 -0
- package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
- package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.js +30 -0
- package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
- package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.js +18 -0
- package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
- package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.js +47 -0
- package/cjs/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
- package/cjs/helpers/kscript/nodes/expressions/MemberExpression.js +98 -0
- package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.js +59 -0
- package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
- package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.js +44 -0
- package/cjs/helpers/kscript/nodes/expressions/index.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/expressions/index.js +28 -0
- package/cjs/helpers/kscript/nodes/index.d.ts +4 -0
- package/cjs/helpers/kscript/nodes/index.js +10 -0
- package/cjs/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
- package/cjs/helpers/kscript/nodes/nodeTypes.js +29 -0
- package/cjs/helpers/kscript/utils.d.ts +4 -0
- package/cjs/helpers/kscript/utils.js +15 -0
- package/cjs/helpers/websandbox/connection.d.ts +2 -1
- package/cjs/helpers/websandbox/connection.js +6 -5
- package/cjs/helpers/websandbox/frame/frame.js +4 -1
- package/cjs/helpers/websandbox/frame/frame.source.js +1 -1
- package/cjs/helpers/websandbox/frame/worker/manager.d.ts +8 -4
- package/cjs/helpers/websandbox/frame/worker/manager.js +32 -14
- package/cjs/helpers/websandbox/frame/worker/worker.source.js +1 -1
- package/cjs/helpers/websandbox/sandbox.d.ts +1 -1
- package/cjs/helpers/websandbox/sandbox.js +7 -7
- package/cjs/models/IConnectedCallsign.d.ts +10 -0
- package/cjs/models/IConnectedCallsign.js +8 -0
- package/cjs/models/RocosError.d.ts +3 -0
- package/cjs/models/RocosError.js +3 -0
- package/cjs/models/ServiceEnum.d.ts +20 -17
- package/cjs/models/ServiceEnum.js +20 -17
- package/cjs/models/TelemetryStatus.d.ts +12 -0
- package/cjs/models/TelemetryStatus.js +17 -0
- package/cjs/models/Token.d.ts +2 -2
- package/cjs/models/Token.js +5 -5
- package/cjs/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
- package/cjs/models/device-credentials/DeviceCredentials.d.ts +61 -0
- package/cjs/models/device-credentials/DeviceCredentials.js +2 -0
- package/cjs/models/graph/Position.d.ts +6 -0
- package/cjs/models/graph/Position.js +2 -0
- package/cjs/models/graph/Quaternion.d.ts +6 -0
- package/cjs/models/graph/Quaternion.js +2 -0
- package/cjs/models/graph/Vector3.d.ts +5 -0
- package/cjs/models/graph/Vector3.js +2 -0
- package/cjs/models/graph/index.d.ts +3 -0
- package/cjs/models/graph/index.js +19 -0
- package/cjs/models/index.d.ts +9 -2
- package/cjs/models/index.js +9 -2
- package/cjs/models/integrations/Location.d.ts +24 -0
- package/cjs/models/integrations/Location.js +2 -0
- package/cjs/models/integrations/PaginatedResults.d.ts +4 -0
- package/cjs/models/integrations/PaginatedResults.js +2 -0
- package/cjs/models/maps/Panorama.d.ts +12 -21
- package/cjs/models/projects/ExternalProject.d.ts +10 -0
- package/cjs/models/projects/ExternalProject.js +2 -0
- package/cjs/models/projects/NewProjectRequest.d.ts +8 -0
- package/cjs/models/projects/NewProjectRequest.js +2 -0
- package/cjs/models/target/Target.d.ts +30 -0
- package/cjs/models/target/Target.js +15 -0
- package/cjs/node/RocosSDKNode.d.ts +1 -5
- package/cjs/node/RocosSDKNode.js +9 -9
- package/cjs/services/AssetStorageService.d.ts +9 -1
- package/cjs/services/AssetStorageService.js +12 -1
- package/cjs/services/AuthService.d.ts +12 -1
- package/cjs/services/AuthService.js +25 -1
- package/cjs/services/DeviceCredentialsService.d.ts +15 -0
- package/cjs/services/DeviceCredentialsService.js +56 -0
- package/cjs/services/EnvironmentService.d.ts +28 -0
- package/cjs/services/EnvironmentService.js +48 -0
- package/cjs/services/EvaluatorService.js +1 -1
- package/cjs/services/IntegrationService.d.ts +7 -1
- package/cjs/services/IntegrationService.js +8 -0
- package/cjs/services/MapService.d.ts +18 -8
- package/cjs/services/MapService.js +37 -19
- package/cjs/services/ProfileService.d.ts +24 -0
- package/cjs/services/ProfileService.js +34 -0
- package/cjs/services/ProjectService.d.ts +7 -2
- package/cjs/services/ProjectService.js +7 -3
- package/cjs/services/RTPWebRTCService.d.ts +6 -1
- package/cjs/services/RTPWebRTCService.js +10 -2
- package/cjs/services/RobotService.d.ts +3 -1
- package/cjs/services/RobotService.js +6 -0
- package/cjs/services/SpotProvisioningService.d.ts +1 -1
- package/cjs/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/cjs/services/TargetService.d.ts +16 -0
- package/cjs/services/TargetService.js +58 -0
- package/cjs/services/TelemetryService.d.ts +10 -1
- package/cjs/services/TelemetryService.js +27 -5
- package/cjs/services/WorkflowService.d.ts +18 -8
- package/cjs/services/WorkflowService.js +37 -11
- package/cjs/services/index.d.ts +11 -9
- package/cjs/services/index.js +11 -9
- package/cjs/store/RocosStore.d.ts +1 -2
- package/esm/IRocosSDK.d.ts +4 -3
- package/esm/RocosSDK.d.ts +19 -7
- package/esm/RocosSDK.js +32 -11
- package/esm/api/streams/caller/CallerStream.js +5 -2
- package/esm/api/streams/caller/CallerStreamNode.js +2 -1
- package/esm/api/streams/command/CommandStream.js +5 -2
- package/esm/api/streams/command/CommandStreamNode.js +2 -1
- package/esm/api/streams/control/ControlStream.js +5 -2
- package/esm/api/streams/control/ControlStreamAbstract.d.ts +1 -1
- package/esm/api/streams/control/ControlStreamNode.js +2 -1
- package/esm/api/streams/fileAccessor/FileAccessorStream.js +4 -1
- package/esm/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
- package/esm/api/streams/search/SearchStream.js +5 -2
- package/esm/api/streams/search/SearchStreamNode.js +2 -1
- package/esm/api/streams/telemetry/TelemetryStream.js +4 -1
- package/esm/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
- package/esm/api/streams/telemetry/TelemetryStreamNode.js +2 -1
- package/esm/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
- package/esm/constants/api.d.ts +31 -15
- package/esm/constants/api.js +31 -15
- package/esm/helpers/cleanObject.js +4 -1
- package/esm/helpers/getUniqueConfigKey.d.ts +6 -2
- package/esm/helpers/getUniqueConfigKey.js +7 -2
- package/esm/helpers/index.d.ts +1 -0
- package/esm/helpers/index.js +1 -0
- package/esm/helpers/kscript/Context.d.ts +34 -0
- package/esm/helpers/kscript/Context.js +49 -0
- package/esm/helpers/kscript/index.d.ts +1 -0
- package/esm/helpers/kscript/index.js +1 -0
- package/esm/helpers/kscript/kscript.d.ts +6 -0
- package/esm/helpers/kscript/kscript.js +107 -0
- package/esm/helpers/kscript/nodes/Identifier.d.ts +12 -0
- package/esm/helpers/kscript/nodes/Identifier.js +14 -0
- package/esm/helpers/kscript/nodes/Literal.d.ts +11 -0
- package/esm/helpers/kscript/nodes/Literal.js +16 -0
- package/esm/helpers/kscript/nodes/Node.d.ts +9 -0
- package/esm/helpers/kscript/nodes/Node.js +12 -0
- package/esm/helpers/kscript/nodes/Program.d.ts +11 -0
- package/esm/helpers/kscript/nodes/Program.js +18 -0
- package/esm/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
- package/esm/helpers/kscript/nodes/TemplateLiteral.js +29 -0
- package/esm/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
- package/esm/helpers/kscript/nodes/expressions/ArrayExpression.js +25 -0
- package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
- package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +34 -0
- package/esm/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
- package/esm/helpers/kscript/nodes/expressions/BinaryExpression.js +98 -0
- package/esm/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
- package/esm/helpers/kscript/nodes/expressions/CallExpression.js +32 -0
- package/esm/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
- package/esm/helpers/kscript/nodes/expressions/ChainExpression.js +19 -0
- package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
- package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.js +24 -0
- package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
- package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.js +12 -0
- package/esm/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
- package/esm/helpers/kscript/nodes/expressions/LogicalExpression.js +41 -0
- package/esm/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
- package/esm/helpers/kscript/nodes/expressions/MemberExpression.js +92 -0
- package/esm/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
- package/esm/helpers/kscript/nodes/expressions/ObjectExpression.js +53 -0
- package/esm/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
- package/esm/helpers/kscript/nodes/expressions/UnaryExpression.js +38 -0
- package/esm/helpers/kscript/nodes/expressions/index.d.ts +11 -0
- package/esm/helpers/kscript/nodes/expressions/index.js +11 -0
- package/esm/helpers/kscript/nodes/index.d.ts +4 -0
- package/esm/helpers/kscript/nodes/index.js +3 -0
- package/esm/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
- package/esm/helpers/kscript/nodes/nodeTypes.js +24 -0
- package/esm/helpers/kscript/utils.d.ts +4 -0
- package/esm/helpers/kscript/utils.js +11 -0
- package/esm/helpers/websandbox/connection.d.ts +2 -1
- package/esm/helpers/websandbox/connection.js +6 -5
- package/esm/helpers/websandbox/frame/frame.js +4 -1
- package/esm/helpers/websandbox/frame/frame.source.js +1 -1
- package/esm/helpers/websandbox/frame/worker/manager.d.ts +8 -4
- package/esm/helpers/websandbox/frame/worker/manager.js +32 -14
- package/esm/helpers/websandbox/frame/worker/worker.source.js +1 -1
- package/esm/helpers/websandbox/sandbox.d.ts +1 -1
- package/esm/helpers/websandbox/sandbox.js +7 -7
- package/esm/models/IConnectedCallsign.d.ts +10 -0
- package/esm/models/IConnectedCallsign.js +5 -0
- package/esm/models/RocosError.d.ts +3 -0
- package/esm/models/RocosError.js +3 -0
- package/esm/models/ServiceEnum.d.ts +20 -17
- package/esm/models/ServiceEnum.js +20 -17
- package/esm/models/TelemetryStatus.d.ts +12 -0
- package/esm/models/TelemetryStatus.js +14 -0
- package/esm/models/Token.d.ts +2 -2
- package/esm/models/Token.js +5 -5
- package/esm/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
- package/esm/models/device-credentials/DeviceCredentials.d.ts +61 -0
- package/esm/models/graph/Position.d.ts +6 -0
- package/esm/models/graph/Quaternion.d.ts +6 -0
- package/esm/models/graph/Vector3.d.ts +5 -0
- package/esm/models/graph/index.d.ts +3 -0
- package/esm/models/graph/index.js +3 -0
- package/esm/models/index.d.ts +9 -2
- package/esm/models/index.js +9 -2
- package/esm/models/integrations/Location.d.ts +24 -0
- package/esm/models/integrations/PaginatedResults.d.ts +4 -0
- package/esm/models/maps/Panorama.d.ts +12 -21
- package/esm/models/projects/ExternalProject.d.ts +10 -0
- package/esm/models/projects/NewProjectRequest.d.ts +8 -0
- package/esm/models/target/Target.d.ts +30 -0
- package/esm/models/target/Target.js +9 -0
- package/esm/node/RocosSDKNode.d.ts +1 -5
- package/esm/node/RocosSDKNode.js +10 -10
- package/esm/services/AssetStorageService.d.ts +9 -1
- package/esm/services/AssetStorageService.js +13 -2
- package/esm/services/AuthService.d.ts +12 -1
- package/esm/services/AuthService.js +25 -1
- package/esm/services/BaseServiceAbstract.js +1 -1
- package/esm/services/DeviceCredentialsService.d.ts +15 -0
- package/esm/services/DeviceCredentialsService.js +52 -0
- package/esm/services/EnvironmentService.d.ts +28 -0
- package/esm/services/EnvironmentService.js +44 -0
- package/esm/services/EvaluatorService.js +1 -1
- package/esm/services/IntegrationService.d.ts +7 -1
- package/esm/services/IntegrationService.js +10 -2
- package/esm/services/MapService.d.ts +18 -8
- package/esm/services/MapService.js +38 -20
- package/esm/services/ProfileService.d.ts +24 -0
- package/esm/services/ProfileService.js +35 -1
- package/esm/services/ProjectService.d.ts +7 -2
- package/esm/services/ProjectService.js +9 -5
- package/esm/services/RTPWebRTCService.d.ts +6 -1
- package/esm/services/RTPWebRTCService.js +10 -2
- package/esm/services/RobotService.d.ts +3 -1
- package/esm/services/RobotService.js +8 -2
- package/esm/services/SpotProvisioningService.d.ts +1 -1
- package/esm/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/esm/services/TargetService.d.ts +16 -0
- package/esm/services/TargetService.js +54 -0
- package/esm/services/TelemetryService.d.ts +10 -1
- package/esm/services/TelemetryService.js +28 -6
- package/esm/services/WorkflowService.d.ts +18 -8
- package/esm/services/WorkflowService.js +38 -12
- package/esm/services/index.d.ts +11 -9
- package/esm/services/index.js +11 -9
- package/esm/store/RocosStore.d.ts +1 -2
- package/package.json +2 -2
- package/cjs/helpers/cleanObject.spec.js +0 -55
- package/cjs/helpers/flattenObject.spec.js +0 -31
- package/cjs/helpers/flattenOneOf.spec.js +0 -159
- package/cjs/helpers/formatServiceUrl.spec.js +0 -18
- package/cjs/helpers/getSha256Hex.spec.js +0 -19
- package/cjs/helpers/getSha256HexNode.spec.js +0 -10
- package/cjs/helpers/getURLSearchParams.spec.js +0 -21
- package/cjs/helpers/nanosecondToMillisecond.spec.js +0 -22
- package/cjs/helpers/splitRobotTopic.spec.js +0 -53
- package/cjs/helpers/standardDeviation.spec.d.ts +0 -1
- package/cjs/helpers/standardDeviation.spec.js +0 -13
- package/cjs/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
- package/cjs/helpers/websandbox/frame/worker/manager.spec.js +0 -132
- package/cjs/models/CallsignStatus.d.ts +0 -6
- package/cjs/models/CallsignStatus.js +0 -10
- package/cjs/models/ExternalProject.d.ts +0 -6
- package/cjs/models/ExternalProject.js +0 -6
- package/cjs/models/Token.spec.d.ts +0 -1
- package/cjs/models/Token.spec.js +0 -110
- package/cjs/services/AuthService.spec.d.ts +0 -1
- package/cjs/services/AuthService.spec.js +0 -165
- package/cjs/services/CallerService.spec.d.ts +0 -1
- package/cjs/services/CallerService.spec.js +0 -229
- package/cjs/services/FunctionService.d.ts +0 -68
- package/cjs/services/FunctionService.js +0 -103
- package/cjs/services/PlatformTimeService.spec.d.ts +0 -1
- package/cjs/services/PlatformTimeService.spec.js +0 -182
- package/cjs/services/RTPWebRTCService.spec.d.ts +0 -4
- package/cjs/services/RTPWebRTCService.spec.js +0 -171
- package/cjs/services/TelemetryService.spec.d.ts +0 -1
- package/cjs/services/TelemetryService.spec.js +0 -39
- package/esm/helpers/cleanObject.spec.d.ts +0 -1
- package/esm/helpers/cleanObject.spec.js +0 -53
- package/esm/helpers/flattenObject.spec.d.ts +0 -1
- package/esm/helpers/flattenObject.spec.js +0 -29
- package/esm/helpers/flattenOneOf.spec.d.ts +0 -1
- package/esm/helpers/flattenOneOf.spec.js +0 -157
- package/esm/helpers/formatServiceUrl.spec.d.ts +0 -1
- package/esm/helpers/formatServiceUrl.spec.js +0 -16
- package/esm/helpers/getSha256Hex.spec.d.ts +0 -1
- package/esm/helpers/getSha256Hex.spec.js +0 -14
- package/esm/helpers/getSha256HexNode.spec.d.ts +0 -1
- package/esm/helpers/getSha256HexNode.spec.js +0 -8
- package/esm/helpers/getURLSearchParams.spec.d.ts +0 -1
- package/esm/helpers/getURLSearchParams.spec.js +0 -19
- package/esm/helpers/nanosecondToMillisecond.spec.d.ts +0 -1
- package/esm/helpers/nanosecondToMillisecond.spec.js +0 -20
- package/esm/helpers/splitRobotTopic.spec.d.ts +0 -1
- package/esm/helpers/splitRobotTopic.spec.js +0 -51
- package/esm/helpers/standardDeviation.spec.d.ts +0 -1
- package/esm/helpers/standardDeviation.spec.js +0 -11
- package/esm/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
- package/esm/helpers/websandbox/frame/worker/manager.spec.js +0 -127
- package/esm/models/CallsignStatus.d.ts +0 -6
- package/esm/models/CallsignStatus.js +0 -7
- package/esm/models/ExternalProject.d.ts +0 -6
- package/esm/models/ExternalProject.js +0 -2
- package/esm/models/Token.spec.d.ts +0 -1
- package/esm/models/Token.spec.js +0 -108
- package/esm/models/asset-storage/AssetModelItem.js +0 -1
- package/esm/services/AuthService.spec.d.ts +0 -1
- package/esm/services/AuthService.spec.js +0 -163
- package/esm/services/CallerService.spec.d.ts +0 -1
- package/esm/services/CallerService.spec.js +0 -227
- package/esm/services/FunctionService.d.ts +0 -68
- package/esm/services/FunctionService.js +0 -99
- package/esm/services/PlatformTimeService.spec.d.ts +0 -1
- package/esm/services/PlatformTimeService.spec.js +0 -180
- package/esm/services/RTPWebRTCService.spec.d.ts +0 -4
- package/esm/services/RTPWebRTCService.spec.js +0 -169
- package/esm/services/TelemetryService.spec.d.ts +0 -1
- package/esm/services/TelemetryService.spec.js +0 -37
- /package/cjs/models/asset-storage/{AssetModelItem.js → AssetItem.js} +0 -0
- /package/{cjs/helpers/cleanObject.spec.d.ts → esm/models/asset-storage/AssetItem.js} +0 -0
- /package/{cjs/helpers/flattenObject.spec.d.ts → esm/models/device-credentials/DeviceCredentials.js} +0 -0
- /package/{cjs/helpers/flattenOneOf.spec.d.ts → esm/models/graph/Position.js} +0 -0
- /package/{cjs/helpers/formatServiceUrl.spec.d.ts → esm/models/graph/Quaternion.js} +0 -0
- /package/{cjs/helpers/getSha256Hex.spec.d.ts → esm/models/graph/Vector3.js} +0 -0
- /package/{cjs/helpers/getSha256HexNode.spec.d.ts → esm/models/integrations/Location.js} +0 -0
- /package/{cjs/helpers/getURLSearchParams.spec.d.ts → esm/models/integrations/PaginatedResults.js} +0 -0
- /package/{cjs/helpers/nanosecondToMillisecond.spec.d.ts → esm/models/projects/ExternalProject.js} +0 -0
- /package/{cjs/helpers/splitRobotTopic.spec.d.ts → esm/models/projects/NewProjectRequest.js} +0 -0
package/cjs/models/Token.d.ts
CHANGED
@@ -31,10 +31,10 @@ export declare class Token implements IToken {
|
|
31
31
|
isExpiredIn(threshold?: number, unit?: 'minutes' | 'seconds' | 'hours'): boolean;
|
32
32
|
isExpired(): boolean;
|
33
33
|
private getJWTPayload;
|
34
|
-
/** Decode a
|
34
|
+
/** Decode a base64url string.
|
35
35
|
*
|
36
36
|
* Supports both Node.js and browser environments.
|
37
37
|
* @private
|
38
38
|
*/
|
39
|
-
private
|
39
|
+
private decodeBase64URL;
|
40
40
|
}
|
package/cjs/models/Token.js
CHANGED
@@ -54,7 +54,7 @@ class Token {
|
|
54
54
|
throw new Error('Invalid token, too many parts');
|
55
55
|
}
|
56
56
|
const [header, payload] = parts.slice(0, 2).map((part) => {
|
57
|
-
return JSON.parse(this.
|
57
|
+
return JSON.parse(this.decodeBase64URL(part));
|
58
58
|
});
|
59
59
|
if (typeof payload !== 'object') {
|
60
60
|
throw new Error('Invalid token, payload must be an object');
|
@@ -67,16 +67,16 @@ class Token {
|
|
67
67
|
}
|
68
68
|
return payload;
|
69
69
|
}
|
70
|
-
/** Decode a
|
70
|
+
/** Decode a base64url string.
|
71
71
|
*
|
72
72
|
* Supports both Node.js and browser environments.
|
73
73
|
* @private
|
74
74
|
*/
|
75
|
-
|
75
|
+
decodeBase64URL(base64String) {
|
76
76
|
if (enviroment_1.isNode) {
|
77
|
-
return Buffer.from(base64String, '
|
77
|
+
return Buffer.from(base64String, 'base64url').toString('utf-8');
|
78
78
|
}
|
79
|
-
return atob(base64String);
|
79
|
+
return atob(base64String.replace(/-/g, '+').replace(/_/g, '/'));
|
80
80
|
}
|
81
81
|
}
|
82
82
|
exports.Token = Token;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { Observation } from '../maps/Panorama';
|
1
2
|
export interface AssetItemModel {
|
2
3
|
metadata?: {
|
3
4
|
[key: string]: string;
|
@@ -11,4 +12,5 @@ export interface AssetItemModel {
|
|
11
12
|
}
|
12
13
|
export interface AssetItemWithObservationsModel extends AssetItemModel {
|
13
14
|
observationCount?: number;
|
15
|
+
observations?: Observation[];
|
14
16
|
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
export interface DeviceCredentials {
|
2
|
+
[component: string]: {
|
3
|
+
[system: string]: DeviceCredential;
|
4
|
+
};
|
5
|
+
}
|
6
|
+
export interface DeviceCredential {
|
7
|
+
/**
|
8
|
+
* Device ID or username
|
9
|
+
*/
|
10
|
+
id: string;
|
11
|
+
/**
|
12
|
+
* Device secret or password
|
13
|
+
*/
|
14
|
+
key: string;
|
15
|
+
}
|
16
|
+
export interface DeviceCredentialCreate {
|
17
|
+
/**
|
18
|
+
* Will automatically be generated if not provided
|
19
|
+
*/
|
20
|
+
id?: string;
|
21
|
+
/**
|
22
|
+
* Will automatically be generated if not provided
|
23
|
+
*/
|
24
|
+
secret?: string;
|
25
|
+
/**
|
26
|
+
* The agent component the credentials are for e.g. dji, spot, etc.
|
27
|
+
*/
|
28
|
+
component: string;
|
29
|
+
/**
|
30
|
+
* The system the credentials are for e.g. mqtt, rtmp, etc.
|
31
|
+
*/
|
32
|
+
system: string;
|
33
|
+
/**
|
34
|
+
* Access control list for the credentials
|
35
|
+
*/
|
36
|
+
acl?: DeviceCredentialACLItem[];
|
37
|
+
}
|
38
|
+
export interface DeviceCredentialACLItem {
|
39
|
+
/**
|
40
|
+
* The resource the ACL item is for e.g. /sys/product/{device_sn}/*
|
41
|
+
*/
|
42
|
+
resource: string;
|
43
|
+
/**
|
44
|
+
* The action the ACL item is for e.g. allow, deny, ignore
|
45
|
+
*/
|
46
|
+
action: DeviceCredentialAuthAction;
|
47
|
+
}
|
48
|
+
export type DeviceCredentialAuthAction = 'allow' | 'deny' | 'ignore';
|
49
|
+
export interface DeviceCredentialAuth extends DeviceCredential {
|
50
|
+
/**
|
51
|
+
* The agent component the credentials are for e.g. dji, spot, etc.
|
52
|
+
*/
|
53
|
+
component: string;
|
54
|
+
/**
|
55
|
+
* The system the credentials are for e.g. mqtt, rtmp, etc.
|
56
|
+
*/
|
57
|
+
system: string;
|
58
|
+
}
|
59
|
+
export interface DeviceCredentialAuthResult {
|
60
|
+
result: 'allow' | 'deny';
|
61
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./Position"), exports);
|
18
|
+
__exportStar(require("./Quaternion"), exports);
|
19
|
+
__exportStar(require("./Vector3"), exports);
|
package/cjs/models/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export * from './asset-storage/
|
1
|
+
export * from './asset-storage/AssetItem';
|
2
2
|
export * from './asset-storage/SyncIntegrations';
|
3
3
|
export * from './schedule/IScheduleInfo';
|
4
4
|
export * from './schedule/IScheduleAction';
|
@@ -30,13 +30,19 @@ export * from './stream/ITelemetryStream';
|
|
30
30
|
export * from './stream/IWebRTCSignallingStream';
|
31
31
|
export * from './integrations/Overlay';
|
32
32
|
export * from './integrations/Plan';
|
33
|
+
export * from './integrations/Location';
|
34
|
+
export * from './integrations/PaginatedResults';
|
33
35
|
export * from './maps/Map';
|
36
|
+
export * from './maps/Panorama';
|
34
37
|
export * from './projects/ProjectUser';
|
35
|
-
export * from './
|
38
|
+
export * from './projects/ExternalProject';
|
39
|
+
export * from './projects/NewProjectRequest';
|
40
|
+
export * from './target/Target';
|
36
41
|
export * from './ExportDataQuery';
|
37
42
|
export * from './HttpError';
|
38
43
|
export * from './IBaseService';
|
39
44
|
export * from './IConfigGroup';
|
45
|
+
export * from './IConnectedCallsign';
|
40
46
|
export * from './IDebugLevel';
|
41
47
|
export * from './IExportDataQuery';
|
42
48
|
export * from './IFunctionConfig';
|
@@ -72,6 +78,7 @@ export * from './Stream';
|
|
72
78
|
export * from './StreamOptions';
|
73
79
|
export * from './StreamSource';
|
74
80
|
export * from './SubscriberStatusEnum';
|
81
|
+
export * from './TelemetryStatus';
|
75
82
|
export * from './Token';
|
76
83
|
export * from './types';
|
77
84
|
export * from './Widget';
|
package/cjs/models/index.js
CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./asset-storage/
|
17
|
+
__exportStar(require("./asset-storage/AssetItem"), exports);
|
18
18
|
__exportStar(require("./asset-storage/SyncIntegrations"), exports);
|
19
19
|
__exportStar(require("./schedule/IScheduleInfo"), exports);
|
20
20
|
__exportStar(require("./schedule/IScheduleAction"), exports);
|
@@ -46,13 +46,19 @@ __exportStar(require("./stream/ITelemetryStream"), exports);
|
|
46
46
|
__exportStar(require("./stream/IWebRTCSignallingStream"), exports);
|
47
47
|
__exportStar(require("./integrations/Overlay"), exports);
|
48
48
|
__exportStar(require("./integrations/Plan"), exports);
|
49
|
+
__exportStar(require("./integrations/Location"), exports);
|
50
|
+
__exportStar(require("./integrations/PaginatedResults"), exports);
|
49
51
|
__exportStar(require("./maps/Map"), exports);
|
52
|
+
__exportStar(require("./maps/Panorama"), exports);
|
50
53
|
__exportStar(require("./projects/ProjectUser"), exports);
|
51
|
-
__exportStar(require("./
|
54
|
+
__exportStar(require("./projects/ExternalProject"), exports);
|
55
|
+
__exportStar(require("./projects/NewProjectRequest"), exports);
|
56
|
+
__exportStar(require("./target/Target"), exports);
|
52
57
|
__exportStar(require("./ExportDataQuery"), exports);
|
53
58
|
__exportStar(require("./HttpError"), exports);
|
54
59
|
__exportStar(require("./IBaseService"), exports);
|
55
60
|
__exportStar(require("./IConfigGroup"), exports);
|
61
|
+
__exportStar(require("./IConnectedCallsign"), exports);
|
56
62
|
__exportStar(require("./IDebugLevel"), exports);
|
57
63
|
__exportStar(require("./IExportDataQuery"), exports);
|
58
64
|
__exportStar(require("./IFunctionConfig"), exports);
|
@@ -88,6 +94,7 @@ __exportStar(require("./Stream"), exports);
|
|
88
94
|
__exportStar(require("./StreamOptions"), exports);
|
89
95
|
__exportStar(require("./StreamSource"), exports);
|
90
96
|
__exportStar(require("./SubscriberStatusEnum"), exports);
|
97
|
+
__exportStar(require("./TelemetryStatus"), exports);
|
91
98
|
__exportStar(require("./Token"), exports);
|
92
99
|
__exportStar(require("./types"), exports);
|
93
100
|
__exportStar(require("./Widget"), exports);
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export interface Location {
|
2
|
+
id: string;
|
3
|
+
name: string;
|
4
|
+
level?: {
|
5
|
+
id: string;
|
6
|
+
};
|
7
|
+
locationType?: {
|
8
|
+
id: string;
|
9
|
+
name: string;
|
10
|
+
};
|
11
|
+
shape: {
|
12
|
+
coordinates: Array<{
|
13
|
+
lat: number;
|
14
|
+
lng: number;
|
15
|
+
}>;
|
16
|
+
radiusMeters?: number;
|
17
|
+
shapeType: string;
|
18
|
+
};
|
19
|
+
shapeStyle: {
|
20
|
+
fillColor: string;
|
21
|
+
strokeColor: string;
|
22
|
+
fillOpacity: number;
|
23
|
+
};
|
24
|
+
}
|
@@ -1,28 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
x?: number;
|
5
|
-
y?: number;
|
6
|
-
}
|
7
|
-
export interface Quaternion {
|
8
|
-
x: number;
|
9
|
-
y: number;
|
10
|
-
z: number;
|
11
|
-
w: number;
|
12
|
-
}
|
13
|
-
export interface Vector3 {
|
14
|
-
x: number;
|
15
|
-
y: number;
|
16
|
-
z: number;
|
17
|
-
}
|
18
|
-
export interface Observation {
|
1
|
+
import { Position, Quaternion, Vector3 } from '../graph';
|
2
|
+
interface ObservationBase {
|
3
|
+
name: string;
|
19
4
|
panoramaID: string;
|
20
|
-
|
21
|
-
|
5
|
+
assetID?: string;
|
6
|
+
type?: 'asset' | 'target';
|
22
7
|
data?: Record<string, string>;
|
23
|
-
geometry
|
8
|
+
geometry?: Position[];
|
24
9
|
center?: Position;
|
25
10
|
}
|
11
|
+
export interface Observation extends ObservationBase {
|
12
|
+
id: string;
|
13
|
+
}
|
14
|
+
export interface CreateObservation extends ObservationBase {
|
15
|
+
}
|
26
16
|
export interface Panorama {
|
27
17
|
transform: {
|
28
18
|
parent: string;
|
@@ -34,3 +24,4 @@ export interface Panorama {
|
|
34
24
|
path: string;
|
35
25
|
};
|
36
26
|
}
|
27
|
+
export {};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Quaternion } from '../graph/Quaternion';
|
2
|
+
import { Vector3 } from '../graph/Vector3';
|
3
|
+
export interface TargetBase {
|
4
|
+
id: string;
|
5
|
+
name: string;
|
6
|
+
data?: Record<string, string>;
|
7
|
+
translation?: Vector3;
|
8
|
+
rotation?: Quaternion;
|
9
|
+
media?: TargetMedia[];
|
10
|
+
position?: TargetWgs84 | Vector3;
|
11
|
+
frame?: string;
|
12
|
+
}
|
13
|
+
export interface TargetMedia {
|
14
|
+
id: string;
|
15
|
+
data: Record<string, string>;
|
16
|
+
}
|
17
|
+
export interface TargetWgs84 {
|
18
|
+
lat: number;
|
19
|
+
lon: number;
|
20
|
+
alt?: number;
|
21
|
+
}
|
22
|
+
export declare const isTargetWgs84: (position: TargetWgs84 | Vector3) => position is TargetWgs84;
|
23
|
+
export interface Target extends TargetBase {
|
24
|
+
type: 'TARGET';
|
25
|
+
}
|
26
|
+
export declare const isTarget: (target: Target | Asset) => target is Target;
|
27
|
+
export interface Asset extends TargetBase {
|
28
|
+
type: 'ASSET';
|
29
|
+
}
|
30
|
+
export declare const isAsset: (target: Target | Asset) => target is Asset;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isAsset = exports.isTarget = exports.isTargetWgs84 = void 0;
|
4
|
+
const isTargetWgs84 = (position) => {
|
5
|
+
return Boolean(position) && 'lat' in position && 'lon' in position;
|
6
|
+
};
|
7
|
+
exports.isTargetWgs84 = isTargetWgs84;
|
8
|
+
const isTarget = (target) => {
|
9
|
+
return target.type === 'TARGET';
|
10
|
+
};
|
11
|
+
exports.isTarget = isTarget;
|
12
|
+
const isAsset = (target) => {
|
13
|
+
return target.type === 'ASSET';
|
14
|
+
};
|
15
|
+
exports.isAsset = isAsset;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { EvaluatorService
|
1
|
+
import { EvaluatorService } from '../services';
|
2
2
|
import { IBaseService, ServiceEnum } from '../models';
|
3
3
|
import { CallerServiceNode } from '../services/CallerServiceNode';
|
4
4
|
import { CommandServiceNode } from '../services/CommandServiceNode';
|
@@ -13,10 +13,6 @@ export declare class RocosSDKNode extends RocosSDK {
|
|
13
13
|
* Gets the telemetry service.
|
14
14
|
*/
|
15
15
|
getTelemetryService(): TelemetryServiceNode;
|
16
|
-
/**
|
17
|
-
* Gets the scheduler service.
|
18
|
-
*/
|
19
|
-
getSchedulerService(): ScheduleService;
|
20
16
|
/**
|
21
17
|
* Gets the service call service.
|
22
18
|
*/
|
package/cjs/node/RocosSDKNode.js
CHANGED
@@ -27,6 +27,9 @@ class RocosSDKNode extends RocosSDK_1.RocosSDK {
|
|
27
27
|
case models_1.ServiceEnum.ROBOT:
|
28
28
|
this.services[name] = new services_1.RobotService(config);
|
29
29
|
break;
|
30
|
+
case models_1.ServiceEnum.ENVIRONMENT:
|
31
|
+
this.services[name] = new services_1.EnvironmentService(config);
|
32
|
+
break;
|
30
33
|
case models_1.ServiceEnum.EVENT:
|
31
34
|
this.services[name] = new services_1.EventService(config);
|
32
35
|
break;
|
@@ -51,9 +54,6 @@ class RocosSDKNode extends RocosSDK_1.RocosSDK {
|
|
51
54
|
case models_1.ServiceEnum.DASHBOARD:
|
52
55
|
this.services[name] = new services_1.DashboardService(config);
|
53
56
|
break;
|
54
|
-
case models_1.ServiceEnum.FUNCTION:
|
55
|
-
this.services[name] = new services_1.FunctionService(config);
|
56
|
-
break;
|
57
57
|
case models_1.ServiceEnum.STREAM:
|
58
58
|
this.services[name] = new services_1.StreamService(config);
|
59
59
|
break;
|
@@ -84,6 +84,12 @@ class RocosSDKNode extends RocosSDK_1.RocosSDK {
|
|
84
84
|
case models_1.ServiceEnum.MAP:
|
85
85
|
this.services[name] = new services_1.MapService(config);
|
86
86
|
break;
|
87
|
+
case models_1.ServiceEnum.DEVICE_CREDENTIALS:
|
88
|
+
this.services[name] = new services_1.DeviceCredentialsService(config);
|
89
|
+
break;
|
90
|
+
case models_1.ServiceEnum.TARGET:
|
91
|
+
this.services[name] = new services_1.TargetService(config);
|
92
|
+
break;
|
87
93
|
}
|
88
94
|
}
|
89
95
|
this.logger.debug(`Found service ${name}.`);
|
@@ -95,12 +101,6 @@ class RocosSDKNode extends RocosSDK_1.RocosSDK {
|
|
95
101
|
getTelemetryService() {
|
96
102
|
return this.getService(models_1.ServiceEnum.TELEMETRY);
|
97
103
|
}
|
98
|
-
/**
|
99
|
-
* Gets the scheduler service.
|
100
|
-
*/
|
101
|
-
getSchedulerService() {
|
102
|
-
return this.getService(models_1.ServiceEnum.SCHEDULE);
|
103
|
-
}
|
104
104
|
/**
|
105
105
|
* Gets the service call service.
|
106
106
|
*/
|
@@ -75,8 +75,16 @@ export declare class AssetStorageService extends BaseServiceAbstract implements
|
|
75
75
|
* @param projectId
|
76
76
|
* @param start Start date for the query (optional)
|
77
77
|
* @param end End date for the query (optional)
|
78
|
+
* @param includeObservations If observations should be included in the response (optional)
|
78
79
|
*/
|
79
|
-
listMappedAssets(projectId: string, start?: Date, end?: Date): Promise<AssetItemWithObservationsModel[]>;
|
80
|
+
listMappedAssets(projectId: string, start?: Date, end?: Date, includeObservations?: boolean): Promise<AssetItemWithObservationsModel[]>;
|
81
|
+
/**
|
82
|
+
* Get mapped asset
|
83
|
+
*
|
84
|
+
* @param projectId
|
85
|
+
* @param assetId
|
86
|
+
*/
|
87
|
+
getMappedAsset(projectId: string, assetId: string): Promise<AssetItemWithObservationsModel>;
|
80
88
|
/**
|
81
89
|
* Set Robot Sync Definitions
|
82
90
|
* @param projectId
|
@@ -127,13 +127,24 @@ class AssetStorageService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
127
127
|
* @param projectId
|
128
128
|
* @param start Start date for the query (optional)
|
129
129
|
* @param end End date for the query (optional)
|
130
|
+
* @param includeObservations If observations should be included in the response (optional)
|
130
131
|
*/
|
131
|
-
async listMappedAssets(projectId, start, end) {
|
132
|
+
async listMappedAssets(projectId, start, end, includeObservations) {
|
132
133
|
return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_MAPPED_ASSETS_PATH_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to list mapped assets for ${projectId}.`, {
|
133
134
|
start: start?.toISOString() ?? '',
|
134
135
|
end: end?.toISOString() ?? '',
|
136
|
+
includeObservations: includeObservations ? 'true' : 'false',
|
135
137
|
});
|
136
138
|
}
|
139
|
+
/**
|
140
|
+
* Get mapped asset
|
141
|
+
*
|
142
|
+
* @param projectId
|
143
|
+
* @param assetId
|
144
|
+
*/
|
145
|
+
async getMappedAsset(projectId, assetId) {
|
146
|
+
return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_MAPPED_ASSET_PATH_URL, { url: this.config.url, projectId, assetId }, this.config.insecure), `Failed to get mapped asset for ${projectId} and id: ${assetId}.`);
|
147
|
+
}
|
137
148
|
/**
|
138
149
|
* Set Robot Sync Definitions
|
139
150
|
* @param projectId
|
@@ -1,10 +1,20 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
1
2
|
import { IBaseService, IRocosSDKConfig, RocosError, Token } from '../models';
|
2
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
4
|
export declare class AuthService extends BaseServiceAbstract implements IBaseService {
|
4
5
|
protected config: IRocosSDKConfig;
|
5
6
|
private token?;
|
6
7
|
private tokenRefreshTimeoutId?;
|
8
|
+
private tokenSubject$;
|
7
9
|
constructor(config: IRocosSDKConfig);
|
10
|
+
/** Observable for token updates
|
11
|
+
*
|
12
|
+
* This is useful for getting notified when the token changes.
|
13
|
+
* i.e. when the token is refreshed from the token refresh checker.
|
14
|
+
*
|
15
|
+
* It will emit the current token when you subscribe and then emit new tokens when they are set.
|
16
|
+
*/
|
17
|
+
get token$(): Observable<Token>;
|
8
18
|
getStatus(): boolean;
|
9
19
|
teardown(): void;
|
10
20
|
protected getError(e: RocosError): RocosError;
|
@@ -62,9 +72,10 @@ export declare class AuthService extends BaseServiceAbstract implements IBaseSer
|
|
62
72
|
* If you want to refresh the token regardless of the expiry time, use `refreshToken`.
|
63
73
|
*
|
64
74
|
* @param minutes the number of minutes before the token expires to refresh the token
|
75
|
+
* @returns true if the token was refreshed
|
65
76
|
* @see refreshToken
|
66
77
|
*/
|
67
|
-
refreshTokenIfExpired(minutes: number): Promise<
|
78
|
+
refreshTokenIfExpired(minutes: number): Promise<boolean>;
|
68
79
|
/** Start a 5-minute loop to check if the token needs to be refreshed
|
69
80
|
*
|
70
81
|
* This is useful when you are using GRPC services (i.e. telemetry) which does not automatically refresh the token.
|
@@ -2,21 +2,37 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.AuthService = void 0;
|
4
4
|
const api_1 = require("../constants/api");
|
5
|
+
const rxjs_1 = require("rxjs");
|
5
6
|
const models_1 = require("../models");
|
6
7
|
const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
|
7
8
|
const RocosLogger_1 = require("../logger/RocosLogger");
|
8
9
|
const RocosStore_1 = require("../store/RocosStore");
|
10
|
+
const operators_1 = require("rxjs/operators");
|
9
11
|
const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
|
10
12
|
const auth_1 = require("../constants/auth");
|
11
13
|
class AuthService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
12
14
|
constructor(config) {
|
13
15
|
super(config);
|
14
16
|
this.config = config;
|
17
|
+
this.tokenSubject$ = new rxjs_1.BehaviorSubject(null);
|
15
18
|
this.config = config;
|
16
19
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`AuthService(${this.config.url})`);
|
17
20
|
if (this.config.token) {
|
18
21
|
this.setToken(this.config.token);
|
19
22
|
}
|
23
|
+
this.token$.subscribe((token) => {
|
24
|
+
RocosStore_1.RocosStore.getChangeSubject().next({ type: 'token', url: this.config.url, data: token.value });
|
25
|
+
});
|
26
|
+
}
|
27
|
+
/** Observable for token updates
|
28
|
+
*
|
29
|
+
* This is useful for getting notified when the token changes.
|
30
|
+
* i.e. when the token is refreshed from the token refresh checker.
|
31
|
+
*
|
32
|
+
* It will emit the current token when you subscribe and then emit new tokens when they are set.
|
33
|
+
*/
|
34
|
+
get token$() {
|
35
|
+
return this.tokenSubject$.asObservable().pipe((0, operators_1.filter)(Boolean));
|
20
36
|
}
|
21
37
|
getStatus() {
|
22
38
|
return true;
|
@@ -42,7 +58,12 @@ class AuthService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
42
58
|
}
|
43
59
|
this.config.token = this.token.value;
|
44
60
|
// output a message for token change
|
45
|
-
|
61
|
+
if (this.isTokenValid(this.token)) {
|
62
|
+
this.tokenSubject$.next(this.token);
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
void this.getToken();
|
66
|
+
}
|
46
67
|
}
|
47
68
|
/**
|
48
69
|
* Clear token
|
@@ -166,6 +187,7 @@ class AuthService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
166
187
|
* If you want to refresh the token regardless of the expiry time, use `refreshToken`.
|
167
188
|
*
|
168
189
|
* @param minutes the number of minutes before the token expires to refresh the token
|
190
|
+
* @returns true if the token was refreshed
|
169
191
|
* @see refreshToken
|
170
192
|
*/
|
171
193
|
async refreshTokenIfExpired(minutes) {
|
@@ -173,7 +195,9 @@ class AuthService extends BaseServiceAbstract_1.BaseServiceAbstract {
|
|
173
195
|
this.logger.info('Token expires in 15 minutes. Refreshing.');
|
174
196
|
const newToken = await this.refreshToken();
|
175
197
|
this.setToken(newToken);
|
198
|
+
return true;
|
176
199
|
}
|
200
|
+
return false;
|
177
201
|
}
|
178
202
|
/** Start a 5-minute loop to check if the token needs to be refreshed
|
179
203
|
*
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { DeviceCredentialAuth, DeviceCredentialAuthResult, DeviceCredentialCreate, DeviceCredentials } from '../models/device-credentials/DeviceCredentials';
|
2
|
+
import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
|
3
|
+
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
|
+
/**
|
5
|
+
* Manage external devices authenticating with the platform
|
6
|
+
*/
|
7
|
+
export declare class DeviceCredentialsService extends BaseServiceAbstract implements IBaseService {
|
8
|
+
constructor(config: IRocosSDKConfig);
|
9
|
+
getStatus(): boolean;
|
10
|
+
protected getError(e: Error): RocosError;
|
11
|
+
list(projectId: string, callsign: string): Promise<DeviceCredentials>;
|
12
|
+
create(projectId: string, callsign: string, credentials: DeviceCredentialCreate, disableValidation?: boolean): Promise<DeviceCredentialCreate>;
|
13
|
+
delete(projectId: string, callsign: string, component: string, system: string): Promise<void>;
|
14
|
+
auth(credentials: DeviceCredentialAuth): Promise<DeviceCredentialAuthResult>;
|
15
|
+
}
|