@dronedeploy/rocos-js-sdk 3.0.1-alpha.9 → 3.0.2
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 +34 -0
- package/cjs/services/EnvironmentService.js +56 -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 +17 -0
- package/cjs/services/TargetService.js +66 -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 +34 -0
- package/esm/services/EnvironmentService.js +52 -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 +17 -0
- package/esm/services/TargetService.js +62 -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
@@ -0,0 +1,14 @@
|
|
1
|
+
export var TelemetryMonitorStatus;
|
2
|
+
(function (TelemetryMonitorStatus) {
|
3
|
+
TelemetryMonitorStatus["UNKNOWN"] = "unknown";
|
4
|
+
TelemetryMonitorStatus["CONNECTED"] = "connected";
|
5
|
+
TelemetryMonitorStatus["DISCONNECTED"] = "disconnected";
|
6
|
+
TelemetryMonitorStatus["ERROR"] = "error";
|
7
|
+
})(TelemetryMonitorStatus || (TelemetryMonitorStatus = {}));
|
8
|
+
export var CallsignStatus;
|
9
|
+
(function (CallsignStatus) {
|
10
|
+
CallsignStatus["UNKNOWN"] = "unknown";
|
11
|
+
CallsignStatus["ONLINE"] = "online";
|
12
|
+
CallsignStatus["OFFLINE"] = "offline";
|
13
|
+
CallsignStatus["ERROR"] = "error";
|
14
|
+
})(CallsignStatus || (CallsignStatus = {}));
|
package/esm/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/esm/models/Token.js
CHANGED
@@ -51,7 +51,7 @@ export class Token {
|
|
51
51
|
throw new Error('Invalid token, too many parts');
|
52
52
|
}
|
53
53
|
const [header, payload] = parts.slice(0, 2).map((part) => {
|
54
|
-
return JSON.parse(this.
|
54
|
+
return JSON.parse(this.decodeBase64URL(part));
|
55
55
|
});
|
56
56
|
if (typeof payload !== 'object') {
|
57
57
|
throw new Error('Invalid token, payload must be an object');
|
@@ -64,15 +64,15 @@ export class Token {
|
|
64
64
|
}
|
65
65
|
return payload;
|
66
66
|
}
|
67
|
-
/** Decode a
|
67
|
+
/** Decode a base64url string.
|
68
68
|
*
|
69
69
|
* Supports both Node.js and browser environments.
|
70
70
|
* @private
|
71
71
|
*/
|
72
|
-
|
72
|
+
decodeBase64URL(base64String) {
|
73
73
|
if (isNode) {
|
74
|
-
return Buffer.from(base64String, '
|
74
|
+
return Buffer.from(base64String, 'base64url').toString('utf-8');
|
75
75
|
}
|
76
|
-
return atob(base64String);
|
76
|
+
return atob(base64String.replace(/-/g, '+').replace(/_/g, '/'));
|
77
77
|
}
|
78
78
|
}
|
@@ -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
|
+
}
|
package/esm/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/esm/models/index.js
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';
|
@@ -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,9 @@
|
|
1
|
+
export const isTargetWgs84 = (position) => {
|
2
|
+
return Boolean(position) && 'lat' in position && 'lon' in position;
|
3
|
+
};
|
4
|
+
export const isTarget = (target) => {
|
5
|
+
return target.type === 'TARGET';
|
6
|
+
};
|
7
|
+
export const isAsset = (target) => {
|
8
|
+
return target.type === 'ASSET';
|
9
|
+
};
|
@@ -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/esm/node/RocosSDKNode.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { AssetStorageService, AuthService, ConfigGroupService, DashboardService,
|
1
|
+
import { AssetStorageService, AuthService, ConfigGroupService, DashboardService, DeviceCredentialsService, EnvironmentService, EventService, IntegrationService, MapService, ProfileService, ProjectService, RobotService, ScheduleService, SpotProvisioningServiceNode, StreamService, TargetService, UserService, } from '../services';
|
2
2
|
import { ServiceEnum } from '../models';
|
3
3
|
import { CallerServiceNode } from '../services/CallerServiceNode';
|
4
4
|
import { CommandServiceNode } from '../services/CommandServiceNode';
|
@@ -24,6 +24,9 @@ export class RocosSDKNode extends RocosSDK {
|
|
24
24
|
case ServiceEnum.ROBOT:
|
25
25
|
this.services[name] = new RobotService(config);
|
26
26
|
break;
|
27
|
+
case ServiceEnum.ENVIRONMENT:
|
28
|
+
this.services[name] = new EnvironmentService(config);
|
29
|
+
break;
|
27
30
|
case ServiceEnum.EVENT:
|
28
31
|
this.services[name] = new EventService(config);
|
29
32
|
break;
|
@@ -48,9 +51,6 @@ export class RocosSDKNode extends RocosSDK {
|
|
48
51
|
case ServiceEnum.DASHBOARD:
|
49
52
|
this.services[name] = new DashboardService(config);
|
50
53
|
break;
|
51
|
-
case ServiceEnum.FUNCTION:
|
52
|
-
this.services[name] = new FunctionService(config);
|
53
|
-
break;
|
54
54
|
case ServiceEnum.STREAM:
|
55
55
|
this.services[name] = new StreamService(config);
|
56
56
|
break;
|
@@ -81,6 +81,12 @@ export class RocosSDKNode extends RocosSDK {
|
|
81
81
|
case ServiceEnum.MAP:
|
82
82
|
this.services[name] = new MapService(config);
|
83
83
|
break;
|
84
|
+
case ServiceEnum.DEVICE_CREDENTIALS:
|
85
|
+
this.services[name] = new DeviceCredentialsService(config);
|
86
|
+
break;
|
87
|
+
case ServiceEnum.TARGET:
|
88
|
+
this.services[name] = new TargetService(config);
|
89
|
+
break;
|
84
90
|
}
|
85
91
|
}
|
86
92
|
this.logger.debug(`Found service ${name}.`);
|
@@ -92,12 +98,6 @@ export class RocosSDKNode extends RocosSDK {
|
|
92
98
|
getTelemetryService() {
|
93
99
|
return this.getService(ServiceEnum.TELEMETRY);
|
94
100
|
}
|
95
|
-
/**
|
96
|
-
* Gets the scheduler service.
|
97
|
-
*/
|
98
|
-
getSchedulerService() {
|
99
|
-
return this.getService(ServiceEnum.SCHEDULE);
|
100
|
-
}
|
101
101
|
/**
|
102
102
|
* Gets the service call service.
|
103
103
|
*/
|
@@ -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
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { API_PROJECT_ASSET_INTEGRATIONS_PATH_URL, API_PROJECT_ASSET_INTEGRATION_PATH_URL, API_PROJECT_ASSET_INTEGRATION_PROVIDERS_PATH_URL, API_PROJECT_ASSET_PATH_URL, API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_URL, API_PROJECT_FLOW_ASSET_PATH_URL, API_PROJECT_MAPPED_ASSETS_PATH_URL, API_PROJECT_MISSION_ASSETS_PATH_URL, API_PROJECT_MISSION_ASSET_PATH_URL, API_PROJECT_ROBOT_ASSET_PATH_URL, } from '../constants/api';
|
1
|
+
import { API_PROJECT_ASSET_INTEGRATIONS_PATH_URL, API_PROJECT_ASSET_INTEGRATION_PATH_URL, API_PROJECT_ASSET_INTEGRATION_PROVIDERS_PATH_URL, API_PROJECT_ASSET_PATH_URL, API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL, API_PROJECT_ASSET_URL, API_PROJECT_FLOW_ASSET_PATH_URL, API_PROJECT_MAPPED_ASSETS_PATH_URL, API_PROJECT_MAPPED_ASSET_PATH_URL, API_PROJECT_MISSION_ASSETS_PATH_URL, API_PROJECT_MISSION_ASSET_PATH_URL, API_PROJECT_ROBOT_ASSET_PATH_URL, } from '../constants/api';
|
2
2
|
import { RocosError, errorCodes, } from '../models';
|
3
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
4
|
import { RocosLogger } from '../logger/RocosLogger';
|
@@ -124,13 +124,24 @@ export class AssetStorageService extends BaseServiceAbstract {
|
|
124
124
|
* @param projectId
|
125
125
|
* @param start Start date for the query (optional)
|
126
126
|
* @param end End date for the query (optional)
|
127
|
+
* @param includeObservations If observations should be included in the response (optional)
|
127
128
|
*/
|
128
|
-
async listMappedAssets(projectId, start, end) {
|
129
|
+
async listMappedAssets(projectId, start, end, includeObservations) {
|
129
130
|
return this.callGet(formatServiceUrl(API_PROJECT_MAPPED_ASSETS_PATH_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to list mapped assets for ${projectId}.`, {
|
130
131
|
start: start?.toISOString() ?? '',
|
131
132
|
end: end?.toISOString() ?? '',
|
133
|
+
includeObservations: includeObservations ? 'true' : 'false',
|
132
134
|
});
|
133
135
|
}
|
136
|
+
/**
|
137
|
+
* Get mapped asset
|
138
|
+
*
|
139
|
+
* @param projectId
|
140
|
+
* @param assetId
|
141
|
+
*/
|
142
|
+
async getMappedAsset(projectId, assetId) {
|
143
|
+
return this.callGet(formatServiceUrl(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}.`);
|
144
|
+
}
|
134
145
|
/**
|
135
146
|
* Set Robot Sync Definitions
|
136
147
|
* @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.
|
@@ -1,19 +1,35 @@
|
|
1
1
|
import { API_APPLICATION_AUTH_URL, API_OTP_AUTH_URL, API_OTP_URL, API_USER_TOKEN_URL } from '../constants/api';
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
2
3
|
import { RocosError, Token, errorCodes } from '../models';
|
3
4
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
5
|
import { RocosLogger } from '../logger/RocosLogger';
|
5
6
|
import { RocosStore } from '../store/RocosStore';
|
7
|
+
import { filter } from 'rxjs/operators';
|
6
8
|
import { formatServiceUrl } from '../helpers/formatServiceUrl';
|
7
9
|
import { issuer } from '../constants/auth';
|
8
10
|
export class AuthService extends BaseServiceAbstract {
|
9
11
|
constructor(config) {
|
10
12
|
super(config);
|
11
13
|
this.config = config;
|
14
|
+
this.tokenSubject$ = new BehaviorSubject(null);
|
12
15
|
this.config = config;
|
13
16
|
this.logger = RocosLogger.getInstance(`AuthService(${this.config.url})`);
|
14
17
|
if (this.config.token) {
|
15
18
|
this.setToken(this.config.token);
|
16
19
|
}
|
20
|
+
this.token$.subscribe((token) => {
|
21
|
+
RocosStore.getChangeSubject().next({ type: 'token', url: this.config.url, data: token.value });
|
22
|
+
});
|
23
|
+
}
|
24
|
+
/** Observable for token updates
|
25
|
+
*
|
26
|
+
* This is useful for getting notified when the token changes.
|
27
|
+
* i.e. when the token is refreshed from the token refresh checker.
|
28
|
+
*
|
29
|
+
* It will emit the current token when you subscribe and then emit new tokens when they are set.
|
30
|
+
*/
|
31
|
+
get token$() {
|
32
|
+
return this.tokenSubject$.asObservable().pipe(filter(Boolean));
|
17
33
|
}
|
18
34
|
getStatus() {
|
19
35
|
return true;
|
@@ -39,7 +55,12 @@ export class AuthService extends BaseServiceAbstract {
|
|
39
55
|
}
|
40
56
|
this.config.token = this.token.value;
|
41
57
|
// output a message for token change
|
42
|
-
|
58
|
+
if (this.isTokenValid(this.token)) {
|
59
|
+
this.tokenSubject$.next(this.token);
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
void this.getToken();
|
63
|
+
}
|
43
64
|
}
|
44
65
|
/**
|
45
66
|
* Clear token
|
@@ -163,6 +184,7 @@ export class AuthService extends BaseServiceAbstract {
|
|
163
184
|
* If you want to refresh the token regardless of the expiry time, use `refreshToken`.
|
164
185
|
*
|
165
186
|
* @param minutes the number of minutes before the token expires to refresh the token
|
187
|
+
* @returns true if the token was refreshed
|
166
188
|
* @see refreshToken
|
167
189
|
*/
|
168
190
|
async refreshTokenIfExpired(minutes) {
|
@@ -170,7 +192,9 @@ export class AuthService extends BaseServiceAbstract {
|
|
170
192
|
this.logger.info('Token expires in 15 minutes. Refreshing.');
|
171
193
|
const newToken = await this.refreshToken();
|
172
194
|
this.setToken(newToken);
|
195
|
+
return true;
|
173
196
|
}
|
197
|
+
return false;
|
174
198
|
}
|
175
199
|
/** Start a 5-minute loop to check if the token needs to be refreshed
|
176
200
|
*
|
@@ -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
|
+
}
|