@mindconnect/mindconnect-nodejs
Version:
NodeJS Library for Siemens Insights Hub Connectivity - TypeScript SDK for Insights Hub and Industrial IoT - Command Line Interface - Insights Hub Development Proxy (Siemens Insights Hub was formerly known as MindSphere)
98 lines • 4.2 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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SdkClient = void 0;
const browser_auth_1 = require("../../browser-auth");
const credential_auth_1 = require("../../credential-auth");
const mindconnect_base_1 = require("../../mindconnect-base");
const tokenmanager_auth_1 = require("../../tokenmanager-auth");
const credentials_1 = require("./credentials");
class SdkClient {
GetToken() {
return __awaiter(this, void 0, void 0, function* () {
return yield this._authenticator.GetToken();
});
}
RenewToken() {
return __awaiter(this, void 0, void 0, function* () {
return yield this._authenticator.RenewToken();
});
}
GetGateway() {
return this._authenticator.GetGateway();
}
GetTenant() {
return this._authenticator.GetTenant();
}
GetUserTenant() {
if (this._authenticator instanceof tokenmanager_auth_1.TokenManagerAuth) {
return this._authenticator.GetUserTenant();
}
return undefined;
}
HttpAction(_a) {
return __awaiter(this, arguments, void 0, function* ({ verb, gateway, baseUrl, authorization, body, message, octetStream, multiPartFormData, additionalHeaders, noResponse, rawResponse, returnHeaders, ignoreCodes, }) {
return this._authenticator.HttpAction({
verb,
gateway,
baseUrl,
authorization,
body,
message,
octetStream,
multiPartFormData,
additionalHeaders,
noResponse,
rawResponse,
returnHeaders,
ignoreCodes,
});
});
}
/**
* * Creates a client for MinSphere API
*
* @param {(TokenRotation | ServiceCrendtials | AppCredentials)} [credentialsOrAuthorizer]
*
* you can pass either an instance an Authorizer:
* UserAuth, BrowserAuth, CredentialsAuth, TokenManagerAuth or MindConnectAgent
*
* or a set of Credentials:
* ServiceCredentials or AppCredentials
*
* implement the TokenRotation interface if you want to provide your own authorizer.
*
* The default constructor uses frontend authorization.
*
* @memberOf SdkClient
*/
constructor(credentialsOrAuthorizer) {
if (credentialsOrAuthorizer === undefined) {
this._authenticator = new browser_auth_1.BrowserAuth();
}
else if ((0, mindconnect_base_1.isTokenRotation)(credentialsOrAuthorizer)) {
this._authenticator = credentialsOrAuthorizer;
}
else if ((0, credentials_1.isAppCredentials)(credentialsOrAuthorizer)) {
const appCredentials = credentialsOrAuthorizer;
this._authenticator = new tokenmanager_auth_1.TokenManagerAuth(appCredentials.gateway, appCredentials.basicAuth, appCredentials.tenant, appCredentials.usertenant, appCredentials.appName, appCredentials.appVersion);
}
else if ((0, credentials_1.isServiceCredentials)(credentialsOrAuthorizer)) {
const credentialsAuth = credentialsOrAuthorizer;
this._authenticator = new credential_auth_1.CredentialAuth(credentialsAuth.gateway, credentialsAuth.basicAuth, credentialsAuth.tenant);
}
else {
throw new Error("invalid constructor");
}
}
}
exports.SdkClient = SdkClient;
//# sourceMappingURL=sdk-client.js.map