UNPKG

digital-twins-api

Version:

``` npm install digital-twins-api ```

93 lines (92 loc) 4.36 kB
"use strict"; 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;