UNPKG

trimble-connect-sdk

Version:

Trimble Connect SDK for JavaScript

60 lines 10.6 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlkLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJ0aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3BDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBaUM5RCxNQUFNLE9BQU8sR0FBSSxTQUFRLE9BQU87SUFLOUIsWUFBWSxNQUFpQjtRQUMzQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQU9ZLE9BQU8sQ0FDbEIsWUFBb0I7O1lBRXBCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFtQixDQUFDO1lBRXJDLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRTtnQkFDdEIsT0FBTyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztnQkFDMUIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDckUsY0FBYyxFQUFFLG1DQUFtQzthQUNwRCxDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRywwQ0FBMEMsWUFBWSwyQkFBMkIsQ0FBQztZQUMvRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQ3JCLGFBQWEsRUFDYixNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLENBQ04sQ0FBQztRQUNKLENBQUM7S0FBQTtJQU1NLGdCQUFnQjs7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQW1CLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUNyRCxNQUFNLEtBQUssR0FDVCxjQUFjLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRCxVQUFVLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkQsb0NBQW9DLGtCQUFrQixDQUNwRCxNQUFBLEdBQUcsQ0FBQyxXQUFXLG1DQUFJLEVBQUUsQ0FDdEIsRUFBRSxDQUFDO1FBQ04sT0FBTyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFPWSxZQUFZLENBQ3ZCLElBQVk7OztZQUVaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFtQixDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUNSLCtCQUErQjtnQkFDL0IsU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkMsaUJBQWlCLGtCQUFrQixDQUFDLE1BQUEsR0FBRyxDQUFDLFdBQVcsbUNBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQzVELDJCQUEyQixDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDO2dCQUMxQixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNyRSxjQUFjLEVBQUUsbUNBQW1DO2FBQ3BELENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FDckIsYUFBYSxFQUNiLE1BQU0sRUFDTixJQUFJLEVBQ0osT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDOztLQUNIO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgU2VydmljZVJlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZSc7XG5pbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuLyoqIFRoZSBwcm9kdWN0aW9uIFRJRCBzZXJ2aWNlIHVybC4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0VElEU2VydmljZVVyaSA9ICdodHRwczovL2lkLnRyaW1ibGUuY29tLyc7XG5cbi8qKlxuICogVGhlIFRJRCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUSURDb25maWcgZXh0ZW5kcyBDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoZSBjbGllbnRJZCByZWNlaXZlZCBvbiBhcHAgcmVnaXN0cmF0aW9uLiAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuICAvKiogVGhlIGNsaWVudFNlY3JldCByZWNlaXZlZCBvbiBhcHAgcmVnaXN0cmF0aW9uLiAoTm90IG5lZWRlZCBpZiBkb1JlZnJlc2ggaXMgcGFzc2VkKSAqL1xuICBjbGllbnRTZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKiBUaGUgb3B0aW9uYWwgYXBwIHJlZGlyZWN0IHVybCBjb25maWd1cmVkIG9uIGFwcCByZWdpc3RyYXRpb24uIE5lZWRlZCBvbmx5IGlmIGNvZGUgZ3JhbmQgdHlwZSBmbG93IGlzIHVzZWQgdG8gYWNxdWlyZSB0b2tlbnMgZnJvbSBUSUQuICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nO1xuICAvKiogVGhlIG9wdGlvbmFsIGFwcCBuYW1lLiBOZWVkZWQgb25seSBmb3IgdGhlIHNpZ24tb24gZnJvbSB0aGUgVElEIHdlYiBzZXNzaW9uLiAqL1xuICBhcHBOYW1lPzogc3RyaW5nO1xuICAvKiogSWYgcGFzc2VkLCBpdCB3aWxsIG92ZXJyaWRlIHRoZSBpbnRlcm5hbCB0b2tlbiByZWZyZXNoIGNhbGwgKi9cbiAgZG9Ub2tlblJlZnJlc2g/OiAoKSA9PiBQcm9taXNlPEF1dGhSZXNwb25zZT47XG59XG5cbi8qKlxuICogVGhlIFRJRCBzZXJ2aWNlIHJlc3BvbnNlIHdpdGggdG9rZW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhSZXNwb25zZSB7XG4gIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmc7XG4gIGlkX3Rva2VuOiBzdHJpbmc7XG4gIHNjb3BlOiBzdHJpbmc7XG4gIHRva2VuX3R5cGU6IHN0cmluZztcbiAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBUUGFhUyBUSUQgU2VydmljZSBjbGllbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUSUQgZXh0ZW5kcyBTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBUSUQgb2JqZWN0IHdpdGggYSBnaXZlbiBzZXQgb2YgY3JlZGVudGlhbCBpbmZvcm1hdGlvbiBhcyBwb3NpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbmZpZyAtIFRoZSBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWc6IFRJRENvbmZpZykge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIGEgdG9rZW4gc2V0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmcmVzaFRva2VuIFRoZSByZWZyZXNoIHRva2VuLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxTZXJ2aWNlUmVzcG9uc2U8QXV0aFJlc3BvbnNlPj59IFRoZSBzZXJ2aWNlIHJlc3BvbnNlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlZnJlc2goXG4gICAgcmVmcmVzaFRva2VuOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTZXJ2aWNlUmVzcG9uc2U8QXV0aFJlc3BvbnNlPj4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnIGFzIFRJRENvbmZpZztcblxuICAgIGlmIChjZmcuZG9Ub2tlblJlZnJlc2gpIHtcbiAgICAgIHJldHVybiBjZmcuZG9Ub2tlblJlZnJlc2goKS50aGVuKCh0b2tlbnMpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTZXJ2aWNlUmVzcG9uc2UodGhpcywgbmV3IFJlc3BvbnNlKCksIHRva2Vucyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoe1xuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtidG9hKGNmZy5jbGllbnRJZCArICc6JyArIGNmZy5jbGllbnRTZWNyZXQpfWAsXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgfSk7XG4gICAgY29uc3QgYm9keSA9IGBncmFudF90eXBlPXJlZnJlc2hfdG9rZW4mcmVmcmVzaF90b2tlbj0ke3JlZnJlc2hUb2tlbn0mdGVuYW50RG9tYWluPXRyaW1ibGUuY29tYDtcbiAgICByZXR1cm4gdGhpcy5tYWtlUmVxdWVzdDxBdXRoUmVzcG9uc2U+KFxuICAgICAgJ29hdXRoL3Rva2VuJyxcbiAgICAgICdQT1NUJyxcbiAgICAgIGJvZHksXG4gICAgICBoZWFkZXJzLFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGF1dGhvcml6YXRpb24gcmVkaXJlY3QgVVJJIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHJlZGlyZWN0IHRvIHRoZSBsb2dpbiBwYWdlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgc2VydmljZSByZXNwb25zZS5cbiAgICovXG4gIHB1YmxpYyBnZXRPQXV0aFJlZGlyZWN0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcgYXMgVElEQ29uZmlnO1xuICAgIGNvbnN0IHNpZ25JblVyaSA9IGNmZy5zZXJ2aWNlVXJpICsgJ29hdXRoL2F1dGhvcml6ZSc7XG4gICAgY29uc3QgcXVlcnkgPVxuICAgICAgYD9jbGllbnRfaWQ9JHtlbmNvZGVVUklDb21wb25lbnQoY2ZnLmNsaWVudElkKX1gICtcbiAgICAgIGAmc2NvcGU9JHtlbmNvZGVVUklDb21wb25lbnQoJ29wZW5pZCAnICsgY2ZnLmFwcE5hbWUpfWAgK1xuICAgICAgYCZyZXNwb25zZV90eXBlPWNvZGUmcmVkaXJlY3RfdXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICBjZmcucmVkaXJlY3RVcmkgPz8gJydcbiAgICAgICl9YDtcbiAgICByZXR1cm4gc2lnbkluVXJpICsgcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogRXhjaGFuZ2VzIHRoZSBhdXRob3JpemF0aW9uIGNvZGUgZm9yIGF1dGggZ3JhbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29kZSBUaGUgY29kZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8U2VydmljZVJlc3BvbnNlPEF1dGhSZXNwb25zZT4+fSBUaGUgc2VydmljZSByZXNwb25zZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGNoYW5nZUNvZGUoXG4gICAgY29kZTogc3RyaW5nXG4gICk6IFByb21pc2U8U2VydmljZVJlc3BvbnNlPEF1dGhSZXNwb25zZT4+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZyBhcyBUSURDb25maWc7XG4gICAgY29uc3QgYm9keSA9XG4gICAgICBgZ3JhbnRfdHlwZT1hdXRob3JpemF0aW9uX2NvZGVgICtcbiAgICAgIGAmY29kZT0ke2VuY29kZVVSSUNvbXBvbmVudChjb2RlKX1gICtcbiAgICAgIGAmcmVkaXJlY3RfdXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGNmZy5yZWRpcmVjdFVyaSA/PyAnJyl9YCArXG4gICAgICBgJnRlbmFudERvbWFpbj10cmltYmxlLmNvbWA7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKHtcbiAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YnRvYShjZmcuY2xpZW50SWQgKyAnOicgKyBjZmcuY2xpZW50U2VjcmV0KX1gLFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0PEF1dGhSZXNwb25zZT4oXG4gICAgICAnb2F1dGgvdG9rZW4nLFxuICAgICAgJ1BPU1QnLFxuICAgICAgYm9keSxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==