UNPKG

trimble-connect-sdk

Version:

Trimble Connect SDK for JavaScript

60 lines 10.5 kB
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()); }); }; import { ServiceResponse } from './response'; import { Service } from './service'; export const DefaultTIDServiceUri = 'https://id.trimble.com/'; export class TID extends Service { constructor(config) { super(config); } refresh(refreshToken) { return __awaiter(this, void 0, void 0, function* () { const cfg = this.config; if (cfg.doTokenRefresh) { return cfg.doTokenRefresh().then((tokens) => { return new ServiceResponse(this, new Response(), tokens); }); } const headers = new Headers({ Accept: 'application/json', Authorization: `Basic ${btoa(cfg.clientId + ':' + cfg.clientSecret)}`, 'Content-Type': 'application/x-www-form-urlencoded', }); const body = `grant_type=refresh_token&refresh_token=${refreshToken}&tenantDomain=trimble.com`; return this.makeRequest('oauth/token', 'POST', body, headers, false); }); } getOAuthRedirect() { var _a; const cfg = this.config; const signInUri = cfg.serviceUri + 'oauth/authorize'; const query = `?client_id=${encodeURIComponent(cfg.clientId)}` + `&scope=${encodeURIComponent('openid ' + cfg.appName)}` + `&response_type=code&redirect_uri=${encodeURIComponent((_a = cfg.redirectUri) !== null && _a !== void 0 ? _a : '')}`; return signInUri + query; } exchangeCode(code) { var _a; return __awaiter(this, void 0, void 0, function* () { const cfg = this.config; const body = `grant_type=authorization_code` + `&code=${encodeURIComponent(code)}` + `&redirect_uri=${encodeURIComponent((_a = cfg.redirectUri) !== null && _a !== void 0 ? _a : '')}` + `&tenantDomain=trimble.com`; const headers = new Headers({ Accept: 'application/json', Authorization: `Basic ${btoa(cfg.clientId + ':' + cfg.clientSecret)}`, 'Content-Type': 'application/x-www-form-urlencoded', }); return this.makeRequest('oauth/token', 'POST', body, headers, false); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlkLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJ0aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3BDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBaUM5RCxNQUFNLE9BQU8sR0FBSSxTQUFRLE9BQU87SUFLOUIsWUFBWSxNQUFpQjtRQUMzQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQU9ZLE9BQU8sQ0FDbEIsWUFBb0I7O1lBRXBCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFtQixDQUFDO1lBRXJDLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRTtnQkFDdEIsT0FBTyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztnQkFDMUIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDckUsY0FBYyxFQUFFLG1DQUFtQzthQUNwRCxDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRywwQ0FBMEMsWUFBWSwyQkFBMkIsQ0FBQztZQUMvRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQ3JCLGFBQWEsRUFDYixNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLENBQ04sQ0FBQztRQUNKLENBQUM7S0FBQTtJQU1NLGdCQUFnQjs7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQW1CLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUNyRCxNQUFNLEtBQUssR0FDVCxjQUFjLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRCxVQUFVLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkQsb0NBQW9DLGtCQUFrQixDQUNwRCxNQUFBLEdBQUcsQ0FBQyxXQUFXLG1DQUFJLEVBQUUsQ0FDdEIsRUFBRSxDQUFDO1FBQ04sT0FBTyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFPWSxZQUFZLENBQ3ZCLElBQVk7OztZQUVaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFtQixDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUNSLCtCQUErQjtnQkFDL0IsU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkMsaUJBQWlCLGtCQUFrQixDQUFDLE1BQUEsR0FBRyxDQUFDLFdBQVcsbUNBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQzVELDJCQUEyQixDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDO2dCQUMxQixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNyRSxjQUFjLEVBQUUsbUNBQW1DO2FBQ3BELENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FDckIsYUFBYSxFQUNiLE1BQU0sRUFDTixJQUFJLEVBQ0osT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDOztLQUNIO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgU2VydmljZVJlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZSc7XG5pbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuLyoqIFRoZSBwcm9kdWN0aW9uIFRJRCBzZXJ2aWNlIHVybC4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0VElEU2VydmljZVVyaSA9ICdodHRwczovL2lkLnRyaW1ibGUuY29tLyc7XG5cbi8qKlxuICogVGhlIFRJRCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUSURDb25maWcgZXh0ZW5kcyBDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoZSBjbGllbnRJZCByZWNlaXZlZCBvbiBhcHAgcmVnaXN0cmF0aW9uLiAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuICAvKiogVGhlIGNsaWVudFNlY3JldCByZWNlaXZlZCBvbiBhcHAgcmVnaXN0cmF0aW9uLiAoTm90IG5lZWRlZCBpZiBkb1JlZnJlc2ggaXMgcGFzc2VkKSovXG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgLyoqIFRoZSBvcHRpb25hbCBhcHAgcmVkaXJlY3QgdXJsIGNvbmZpZ3VyZWQgb24gYXBwIHJlZ2lzdHJhdGlvbi4gTmVlZGVkIG9ubHkgaWYgY29kZSBncmFuZCB0eXBlIGZsb3cgaXMgdXNlZCB0byBhY3F1aXJlIHRva2VucyBmcm9tIFRJRC4gKi9cbiAgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG4gIC8qKiBUaGUgb3B0aW9uYWwgYXBwIG5hbWUuIE5lZWRlZCBvbmx5IGZvciB0aGUgc2lnbi1vbiBmcm9tIHRoZSBUSUQgd2ViIHNlc3Npb24uICovXG4gIGFwcE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBJZiBwYXNzZWQsIGl0IHdpbGwgb3ZlcnJpZGUgdGhlIGludGVybmFsIHRva2VuIHJlZnJlc2ggY2FsbCAqL1xuICBkb1Rva2VuUmVmcmVzaD86ICgpID0+IFByb21pc2U8QXV0aFJlc3BvbnNlPjtcbn1cblxuLyoqXG4gKiBUaGUgVElEIHNlcnZpY2UgcmVzcG9uc2Ugd2l0aCB0b2tlbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFJlc3BvbnNlIHtcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgaWRfdG9rZW46IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgdG9rZW5fdHlwZTogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIFRQYWFTIFRJRCBTZXJ2aWNlIGNsaWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFRJRCBleHRlbmRzIFNlcnZpY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFRJRCBvYmplY3Qgd2l0aCBhIGdpdmVuIHNldCBvZiBjcmVkZW50aWFsIGluZm9ybWF0aW9uIGFzIHBvc2l0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29uZmlnIC0gVGhlIHNlcnZpY2UgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogVElEQ29uZmlnKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgYSB0b2tlbiBzZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZyZXNoVG9rZW4gVGhlIHJlZnJlc2ggdG9rZW4uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFNlcnZpY2VSZXNwb25zZTxBdXRoUmVzcG9uc2U+Pn0gVGhlIHNlcnZpY2UgcmVzcG9uc2UuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVmcmVzaChcbiAgICByZWZyZXNoVG9rZW46IHN0cmluZ1xuICApOiBQcm9taXNlPFNlcnZpY2VSZXNwb25zZTxBdXRoUmVzcG9uc2U+PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcgYXMgVElEQ29uZmlnO1xuXG4gICAgaWYgKGNmZy5kb1Rva2VuUmVmcmVzaCkge1xuICAgICAgcmV0dXJuIGNmZy5kb1Rva2VuUmVmcmVzaCgpLnRoZW4oKHRva2VucykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFNlcnZpY2VSZXNwb25zZSh0aGlzLCBuZXcgUmVzcG9uc2UoKSwgdG9rZW5zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7XG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIEF1dGhvcml6YXRpb246IGBCYXNpYyAke2J0b2EoY2ZnLmNsaWVudElkICsgJzonICsgY2ZnLmNsaWVudFNlY3JldCl9YCxcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgICB9KTtcbiAgICBjb25zdCBib2R5ID0gYGdyYW50X3R5cGU9cmVmcmVzaF90b2tlbiZyZWZyZXNoX3Rva2VuPSR7cmVmcmVzaFRva2VufSZ0ZW5hbnREb21haW49dHJpbWJsZS5jb21gO1xuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0PEF1dGhSZXNwb25zZT4oXG4gICAgICAnb2F1dGgvdG9rZW4nLFxuICAgICAgJ1BPU1QnLFxuICAgICAgYm9keSxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYXV0aG9yaXphdGlvbiByZWRpcmVjdCBVUkkgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcmVkaXJlY3QgdG8gdGhlIGxvZ2luIHBhZ2UuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBzZXJ2aWNlIHJlc3BvbnNlLlxuICAgKi9cbiAgcHVibGljIGdldE9BdXRoUmVkaXJlY3QoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZyBhcyBUSURDb25maWc7XG4gICAgY29uc3Qgc2lnbkluVXJpID0gY2ZnLnNlcnZpY2VVcmkgKyAnb2F1dGgvYXV0aG9yaXplJztcbiAgICBjb25zdCBxdWVyeSA9XG4gICAgICBgP2NsaWVudF9pZD0ke2VuY29kZVVSSUNvbXBvbmVudChjZmcuY2xpZW50SWQpfWAgK1xuICAgICAgYCZzY29wZT0ke2VuY29kZVVSSUNvbXBvbmVudCgnb3BlbmlkICcgKyBjZmcuYXBwTmFtZSl9YCArXG4gICAgICBgJnJlc3BvbnNlX3R5cGU9Y29kZSZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIGNmZy5yZWRpcmVjdFVyaSA/PyAnJ1xuICAgICAgKX1gO1xuICAgIHJldHVybiBzaWduSW5VcmkgKyBxdWVyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGNoYW5nZXMgdGhlIGF1dGhvcml6YXRpb24gY29kZSBmb3IgYXV0aCBncmFudHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIFRoZSBjb2RlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxTZXJ2aWNlUmVzcG9uc2U8QXV0aFJlc3BvbnNlPj59IFRoZSBzZXJ2aWNlIHJlc3BvbnNlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGV4Y2hhbmdlQ29kZShcbiAgICBjb2RlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTZXJ2aWNlUmVzcG9uc2U8QXV0aFJlc3BvbnNlPj4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnIGFzIFRJRENvbmZpZztcbiAgICBjb25zdCBib2R5ID1cbiAgICAgIGBncmFudF90eXBlPWF1dGhvcml6YXRpb25fY29kZWAgK1xuICAgICAgYCZjb2RlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGNvZGUpfWAgK1xuICAgICAgYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQoY2ZnLnJlZGlyZWN0VXJpID8/ICcnKX1gICtcbiAgICAgIGAmdGVuYW50RG9tYWluPXRyaW1ibGUuY29tYDtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoe1xuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtidG9hKGNmZy5jbGllbnRJZCArICc6JyArIGNmZy5jbGllbnRTZWNyZXQpfWAsXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMubWFrZVJlcXVlc3Q8QXV0aFJlc3BvbnNlPihcbiAgICAgICdvYXV0aC90b2tlbicsXG4gICAgICAnUE9TVCcsXG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxufVxuIl19