digital-twins-api
Version:
``` npm install digital-twins-api ```
93 lines (92 loc) • 4.36 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const digital_twins_core_1 = require("@azure/digital-twins-core");
const identity_1 = require("@azure/identity");
const createInstances_1 = __importDefault(require("./twins/instances/createInstances"));
const createRelationships_1 = __importDefault(require("./twins/relationships/createRelationships"));
const pushModels_1 = __importDefault(require("./twins/models/pushModels"));
const csvLoader_1 = require("./parser/csvLoader");
const jsonLoader_1 = require("./parser/jsonLoader");
const jsonPatch_1 = __importDefault(require("./parser/jsonPatch"));
const findRelations_1 = __importDefault(require("./twins/instances/findRelations"));
class DigitalTwinsApi {
constructor(endpointUrl, tenantId, clientId, clientSecret) {
if (!tenantId) {
tenantId = process.env.AZURE_TENANT_ID;
}
if (!clientId) {
clientId = process.env.AZURE_CLIENT_ID;
}
if (!clientSecret) {
clientSecret = process.env.AZURE_CLIENT_SECRET;
}
if (!tenantId || !clientId || !clientSecret) {
console.error(`Missing configuration -- TenantId : ${tenantId} -- ClientID : ${clientId} -- ClientSecret : ${clientSecret}`);
}
const credentials = new identity_1.ClientSecretCredential(tenantId, clientId, clientSecret);
this.service = new digital_twins_core_1.DigitalTwinsClient(endpointUrl, credentials);
}
getModels() {
return this.service.listModels();
}
pushModels(models) {
return pushModels_1.default(this.service, models);
}
pushModelsFolder(folder) {
return __awaiter(this, void 0, void 0, function* () {
const models = yield jsonLoader_1.jsonLoaderFolder(folder);
return pushModels_1.default(this.service, models);
});
}
createInstances(instances) {
return createInstances_1.default(this.service, instances);
}
createInstancesFile(path) {
return __awaiter(this, void 0, void 0, function* () {
const items = yield csvLoader_1.csvLoader(path);
return createInstances_1.default(this.service, items);
});
}
createInstancesFolder(folder) {
return __awaiter(this, void 0, void 0, function* () {
const items = yield csvLoader_1.csvLoaderFolder(folder);
// console.log(items)
return createInstances_1.default(this.service, items);
});
}
createRelationships(relationships) {
return createRelationships_1.default(this.service, relationships);
}
createRelationshipsFile(path) {
return __awaiter(this, void 0, void 0, function* () {
const items = yield csvLoader_1.csvLoader(path);
return createRelationships_1.default(this.service, items);
});
}
createRelationshipsFolder(folder) {
return __awaiter(this, void 0, void 0, function* () {
const items = yield csvLoader_1.csvLoaderFolder(folder);
return createRelationships_1.default(this.service, items);
});
}
findRelationIds(id, relationName) {
return findRelations_1.default(this.service, id, relationName);
}
updateTwin(id, data) {
const jsonPatch = jsonPatch_1.default(data);
return this.service.updateDigitalTwin(id, jsonPatch);
}
}
exports.default = DigitalTwinsApi;
;