nqm-api-tdx

0.1.45 • Public • Published

nqm-api-tdx

nquiringminds Trusted Data Exchange command and query API interface for nodejs clients

install

npm install nqm-api-tdx

test

mocha test

include

nodejs

var TDXApi = require("nqm-api-tdx");

meteor

import TDXApi from "nqm-api-tdx/client-api"

web page

Copy client-api.js (generated when you npm install) to your js directory then:

<script src="/path/to/client-api.js"></script>

usage

Include in the appropriate manner as shown above

var config = {
  commandHost: "https://cmd.nqminds.com",
  queryHost: "https://q.nqminds.com"  
};

var nqmindsTDX = new TDXApi(config);

// Authenticate using token id and secret (from the toolbox)
nqmindsTDX.authenticate("myTokenID","myTokenSecret", function(err, accessToken) {
  if (err) {

  } else {
    // Create a dataset.
    nqmindsTDX.createDataset({ name: "foo", parentId: "xyzID", basedOnSchema: "dataset"}, function(err,id) {
      
    });
    // Update a dataset.
    // Each of the properties below is optional. E.g. to rename a resource, simple supply the 'name' property,
    // to rename and change the description, supply both 'name' and 'description'.
    nqmindsTDX.updateDataset(
      datasetId,
      {
        name: "new-foo",
        tags: ["new", "tag"],
        description: "new description",
        meta: {new: "foo"}
      },
      function(err,id) {
      }
    );
    // Aggregate query
    nqmindsTDX.getAggregateData("<datasetId>", "pipeline", {options},  function(err, data) {

    });
    // Get data from dataset
    nqmindsTDX.getDatasetData("<datasetId>", {filter}, {projection}, {options}, function(err, data) {
    
    });
    // Get data from dataset in newline delimited format
    nqmindsTDX.getDatasetNDData("<datasetId>", {filter}, {projection}, {options}, function(err, data) {
    
    });
    // Get datasets that match filter
    nqmindsTDX.getDatasets({filter}, {projection}, {options},  function(err,data)  {

    });
    // Truncate -- careful!
    nqmindsTDX.truncateDataset("<datasetId>", function(err, response) {

    });
    // Add data 
    nqmindsTDX.addDatasetData("<datasetId>",{data}, function(err, response) {

    });
    // Update data
    nqmindsTDX.updateDatasetData("<datasetId>", {data}, function(err, response) {
      
    });

    // Update dataset data by query
    nqmindsTDX.updateDatasetDataQuery("<datasetId>", {temperature: ${gt: 20}}, {status: "hot"}, function(err, response)) {

    });
    
    // Get distinct keys
    nqmindsTDX.getDistinct("<datasetId>", "key", {filter}, {projection}, {options}, function(err, data) {

    };

    // Delete a dataset - very careful!
    nqmindsTDX.deleteDataset("<datasetId>", function(err, response) {

    });

    // Delete dataset data
    // {primaryKey: value}
    // [{primaryKey1: value1}, {primaryKey2: value 2}]
    nqmindsTDX.deleteDatasetData("<datasetId>", data, function(err, response)) {

    });

    // Delete dataset data by query
    nqmindsTDX.deleteDatasetDataQuery("<datasetId>", {temperature: ${gt: 20}}, function(err, response)) {

    });

    // Download a raw file from resource id
    nqmindsTDX.getRawFile("resourceId", function(err, response)) {

    });

    // Get count for dataset
    nqmindsTDX.getDatasetDataCount("resourceId", {filter}, function(err, response) {

    });

    // Start a databot
    const instanceData = {
      name: "my databot instance",
      shareKeyId: shareKeyId,
      shareKeySecret: shareKeySecret,
      authTokenTTL: authTokenTTL,
      chunks: 1,
      inputs: {
        someInput1: 133,
        someInput2: {
          foo: "bar"
        }
      }
    };    
    nqmindsTDX.startDatabotInstance(databotDefinitionId, instanceData, function(err, startResult) {
      console.log("started databot instance id is %s", startResult.response.instanceId);
    });

    // Get databot instance status.
    nqmindsTDX.getDatabotInstanceStatus(instanceId, function(err, statusResult) {
      if (statusResult.status === "complete") {
        console.log("databot instance %s is finished", instanceId);
      } else {
        console.log("databot instance %s status is %s", instanceId, statusResult.status);
      }
    });
  }  
});

Passing in an existing token:

var config = {
  commandHost: "https://cmd.nqminds.com",
  queryHost: "https://q.nqminds.com",
  accessToken: "yourTokenGoesHere  
};

Dependents (8)

Package Sidebar

Install

npm i nqm-api-tdx

Weekly Downloads

9

Version

0.1.45

License

ISC

Last publish

Collaborators

  • jr7g19
  • ionut_nqm
  • nqminds-bot
  • nqminds-org
  • mereacre
  • antmcc
  • toby.ealden
  • aloisklink
  • cbrafter
  • ashleysetter