# nqm-api-tdx **Repository Path**: iorj/nqm-api-tdx ## Basic Information - **Project Name**: nqm-api-tdx - **Description**: nquiringminds Trusted Data Exchange command and query API interface for nodejs clients - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-04-04 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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: ``` ``` ## 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("", "pipeline", {options}, function(err, data) { }); // Get data from dataset nqmindsTDX.getDatasetData("", {filter}, {projection}, {options}, function(err, data) { }); // Get data from dataset in newline delimited format nqmindsTDX.getDatasetNDData("", {filter}, {projection}, {options}, function(err, data) { }); // Get datasets that match filter nqmindsTDX.getDatasets({filter}, {projection}, {options}, function(err,data) { }); // Truncate -- careful! nqmindsTDX.truncateDataset("", function(err, response) { }); // Add data nqmindsTDX.addDatasetData("",{data}, function(err, response) { }); // Update data nqmindsTDX.updateDatasetData("", {data}, function(err, response) { }); // Update dataset data by query nqmindsTDX.updateDatasetDataQuery("", {temperature: ${gt: 20}}, {status: "hot"}, function(err, response)) { }); // Get distinct keys nqmindsTDX.getDistinct("", "key", {filter}, {projection}, {options}, function(err, data) { }; // Delete a dataset - very careful! nqmindsTDX.deleteDataset("", function(err, response) { }); // Delete dataset data // {primaryKey: value} // [{primaryKey1: value1}, {primaryKey2: value 2}] nqmindsTDX.deleteDatasetData("", data, function(err, response)) { }); // Delete dataset data by query nqmindsTDX.deleteDatasetDataQuery("", {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 }; ```