@dronedeploy/rocos-js-sdk
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

rocos-js-sdk

Javascript SDK for interacting with the Rocos platform.

Using with Node

In order to use the SDK with node, you must be using node version 18.13 or higher.

Installation

Install the package with npm

npm install @dronedeploy/rocos-js-sdk

or yarn

yarn add @dronedeploy/rocos-js-sdk rxjs@^7

What's new

3.0.1

Breaking Changes

  • Change the protobuf generation to use the protobuf-ts package instead of protobuf-javascript.
    • No longer uses @improbable-eng/grpc-web implementation of the gRPC-web client.
  • CallerService
    • change CallerService.invokeRequest responses to be UTF-8 encoded UInt8Arrays instead of base64 encoded strings.
    • change array field names to remove the List suffix.
      • IRocosCallerMessageResponses.responsesList -> IRocosCallerMessageResponses.responses
      • IRocosCallerMessageChunks.rowsList -> IRocosCallerMessageChunks.rows
    • split IRocosCallerMessageResponseReturn.header.created field into createdAt and createdNs fields
      • createdAt is a Date object representing the time the message was created, with millisecond precision.
      • createdNs is a string representing the time the message was created, with nanosecond precision. You can use this with the BigInt constructor to get a BigInt representation of the time.
  • RTPWebRTCService
    • refactor the following functions to return a promise, rather than using a callback:
      • WebRTCSignallingStream.offerConnection()
      • WebRTCSignallingStream.getDetails()
      • WebRTCSignallingStream.addIceCandidate()
    • split the stream interface IWebRTCSignallingResponseStream.on(type, handler) into onMessage(handler), onError(handler), and onComplete(handler).
  • MapService
    • Removed initDB method
    • Changed copyFromRobot method to sendToCloud
    • changed copyFromCloud method to copy
  • FileAccessorService
    • Removed uploadFile method
  • AuthService
    • Removed the ability to login with a username and password. Only api keys or tokens are supported now.
    • Tokens are now checked for validity before being used
    • IToken interface changes
      • created is now issuedAt and is a Date object instead of a string
      • expiresIn is now expires and is a Date object instead of a number
  • Logging in and signing up with email and password has been removed
  • Resetting password has been removed
  • WorkflowService
    • Renamed getDeployedOnRobot to getDeployedWorkflow
    • Renamed listDeployedOnRobot to list
  • Utils
    • Removed generateUUID method
    • Refactor Token class
      • expiresIn: number -> expires?: Date
      • created: string -> issuedAt?: Date
    • Removed unused math utility functions

Removed

  • Breaking: remove FileAccessorService.uploadFile
  • Breaking: remove the ability to authenticate using a username and password. Only API keys and tokens are supported now.
  • Breaking: remove unused math utility functions

Fixed

  • Remove Node 18 engine requirement to allow building for web targets on previous Node versions. Node 18 is still required to run the SDK in Node.

2.6.1

  • Modify map service response type

2.6.0

  • Change rxjs dependency to a peer dependency (support for ^6.6.6 || ^7.0.0)
    • If you are using yarn you may need to add rxjs to your dependencies

2.4.0

  • deleted unused endpoints relating to legacy accounts which are no longer supported

2.3.0

  • Added mapService for supporting agent map functionality

2.2.0

  • Added listUsers method in ProjectService to list project users
  • Added additional debug information for failed HTTP responses

2.1.0

  • Added getPlansPaged method to the IntegrationService to retrieve plans in a paged manner

2.0.2

  • Fix no-content responses attempting to parse as JSON

2.0.1

  • Security updates for React demo app dependencies

2.0.0

  • Updating base class for all REST requests to go via fetch instead of axios
  • Remove unused dependencies source-map-loader, ts-loader, axios
  • Mark certain auth methods as deprecated in AuthService
    • login Login with email and password.
    • signup
    • resetPassword
  • Deleted legacy services, these services are prefixed with BC, e.g. BCRocosClient
  • Updated outdated dependencies in the Angular demo application

Migrating from 1.x to 2.x

  • NodeJS engine requirements need to be v18.13 and npm v8 to use in NodeJS as the underlying HTTP services now use fetch API
  • Legacy services prefixed with BC will need to be migrated to use the standard services

1.19.0

New method added to the IntegrationService to create a new issue in the current location.

  • createIssue - Creates a new issue in a specific location on the latest map plan

1.18.0

Added new integration service to be able to retrieve plans created in DroneDeploy

This can be retrieved by getIntegrationService(). Available methods:

  • getPlans - Gets a list of plans
  • getPlanById - Retrieves a specific plan with the tiled layer that can be used to render meshes, point clouds, or tiled maps
  • getWMTS - Returns WMTS tiles that can be rendered in tools such as mapbox if your project has WMTS feature enabled)

Readme

Keywords

none

Package Sidebar

Install

npm i @dronedeploy/rocos-js-sdk

Weekly Downloads

808

Version

3.0.1

License

MIT

Unpacked Size

2.55 MB

Total Files

1138

Last publish

Collaborators

  • dronedeploy-user
  • dronedeploy-ops