UNPKG

azure-devops-node-api

Version:
887 lines (886 loc) 45.1 kB
"use strict"; /* * --------------------------------------------------------- * Copyright(C) Microsoft Corporation. All rights reserved. * --------------------------------------------------------- * * --------------------------------------------------------- * Generated file, DO NOT EDIT * --------------------------------------------------------- */ 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.ServiceEndpointApiBase = void 0; const basem = require("./ClientApiBases"); const ServiceEndpointInterfaces = require("./interfaces/ServiceEndpointInterfaces"); class ServiceEndpointApiBase extends basem.ClientApiBase { constructor(baseUrl, handlers, options, userAgent) { super(baseUrl, handlers, userAgent || 'node-ServiceEndpoint-api', options); } /** * Returns list of azure subscriptions * */ getAzureManagementGroups() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "9acb984c-4f88-4e13-9691-2e688dddc047", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Returns list of azure subscriptions * */ getAzureSubscriptions() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "18e8f65d-4e19-4a01-a621-cf0f2d938108", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Proxy for a GET request defined by a service endpoint. * * @param {ServiceEndpointInterfaces.ServiceEndpointRequest} serviceEndpointRequest - Service endpoint request. * @param {string} project - Project ID or project name * @param {string} endpointId - Id of the service endpoint. */ executeServiceEndpointRequest(serviceEndpointRequest, project, endpointId) { return __awaiter(this, void 0, void 0, function* () { if (endpointId == null) { throw new TypeError('endpointId can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; let queryValues = { endpointId: endpointId, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "cc63bb57-2a5f-4a7a-b79c-c142d308657e", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, serviceEndpointRequest, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpointRequestResult, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Proxy for a GET request defined by a service endpoint. The request is authorized using a data source in service endpoint. The response is filtered using an XPath/Json based selector. * * @param {ServiceEndpointInterfaces.DataSourceBinding} binding - Describes the data source to fetch. * @param {string} project - Project ID or project name */ queryServiceEndpoint(binding, project) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "cc63bb57-2a5f-4a7a-b79c-c142d308657e", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, binding, options); let ret = this.formatResponse(res.result, null, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Creates a new service endpoint * * @param {ServiceEndpointInterfaces.ServiceEndpoint} endpoint - Service endpoint to create */ createServiceEndpoint(endpoint) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, endpoint, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Delete a service endpoint * * @param {string} endpointId - Endpoint Id of endpoint to delete * @param {string[]} projectIds - project Ids from which endpoint needs to be deleted * @param {boolean} deep - delete the spn created by endpoint */ deleteServiceEndpoint(endpointId, projectIds, deep) { return __awaiter(this, void 0, void 0, function* () { if (projectIds == null) { throw new TypeError('projectIds can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { endpointId: endpointId }; let queryValues = { projectIds: projectIds && projectIds.join(","), deep: deep, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.del(url, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get service endpoints for org by type and owner. Returns only id, name and url and used only internally by licensing service * * @param {string} type - Type of the service endpoints. * @param {string} owner - Owner for service endpoints. */ getServiceEndpointsByTypeAndOwner(type, owner) { return __awaiter(this, void 0, void 0, function* () { if (type == null) { throw new TypeError('type can not be null or undefined'); } if (owner == null) { throw new TypeError('owner can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; let queryValues = { type: type, owner: owner, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Share service endpoint across projects * * @param {ServiceEndpointInterfaces.ServiceEndpointProjectReference[]} endpointProjectReferences - Project reference details of the target project * @param {string} endpointId - Endpoint Id of the endpoint to share */ shareServiceEndpoint(endpointProjectReferences, endpointId) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { endpointId: endpointId }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.update(url, endpointProjectReferences, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Update the service endpoint * * @param {ServiceEndpointInterfaces.ServiceEndpoint} endpoint - Updated data for the endpoint * @param {string} endpointId - Endpoint Id of the endpoint to update * @param {string} operation - operation type */ updateServiceEndpoint(endpoint, endpointId, operation) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { endpointId: endpointId }; let queryValues = { operation: operation, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.replace(url, endpoint, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Update the service endpoints. * * @param {ServiceEndpointInterfaces.ServiceEndpoint[]} endpoints - Names of the service endpoints to update. */ updateServiceEndpoints(endpoints) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "14e48fdc-2c8b-41ce-a0c3-e26f6cc55bd0", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.replace(url, endpoints, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get the service endpoint details. * * @param {string} project - Project ID or project name * @param {string} endpointId - Id of the service endpoint. * @param {ServiceEndpointInterfaces.ServiceEndpointActionFilter} actionFilter - Action filter for the service connection. It specifies the action which can be performed on the service connection. * @param {boolean} loadConfidentialData - Flag to include confidential details of service endpoint. This is for internal use only. */ getServiceEndpointDetails(project, endpointId, actionFilter, loadConfidentialData) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project, endpointId: endpointId }; let queryValues = { actionFilter: actionFilter, loadConfidentialData: loadConfidentialData, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "e85f1c62-adfc-4b74-b618-11a150fb195e", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get the service endpoints. * * @param {string} project - Project ID or project name * @param {string} type - Type of the service endpoints. * @param {string[]} authSchemes - Authorization schemes used for service endpoints. * @param {string[]} endpointIds - Ids of the service endpoints. * @param {string} owner - Owner for service endpoints. * @param {boolean} includeFailed - Failed flag for service endpoints. * @param {boolean} includeDetails - Flag to include more details for service endpoints. This is for internal use only and the flag will be treated as false for all other requests * @param {ServiceEndpointInterfaces.ServiceEndpointActionFilter} actionFilter - The "actionFilter" parameter allows users to evaluate requestor permissions and retrieve a list of endpoints that match the specified conditions, ensuring that only relevant endpoints are returned based on their permissions */ getServiceEndpoints(project, type, authSchemes, endpointIds, owner, includeFailed, includeDetails, actionFilter) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; let queryValues = { type: type, authSchemes: authSchemes && authSchemes.join(","), endpointIds: endpointIds && endpointIds.join(","), owner: owner, includeFailed: includeFailed, includeDetails: includeDetails, actionFilter: actionFilter, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "e85f1c62-adfc-4b74-b618-11a150fb195e", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get the service endpoints by name. * * @param {string} project - Project ID or project name * @param {string[]} endpointNames - Names of the service endpoints. * @param {string} type - Type of the service endpoints. * @param {string[]} authSchemes - Authorization schemes used for service endpoints. * @param {string} owner - Owner for service endpoints. * @param {boolean} includeFailed - Failed flag for service endpoints. * @param {boolean} includeDetails - Flag to include more details for service endpoints. This is for internal use only and the flag will be treated as false for all other requests */ getServiceEndpointsByNames(project, endpointNames, type, authSchemes, owner, includeFailed, includeDetails) { return __awaiter(this, void 0, void 0, function* () { if (endpointNames == null) { throw new TypeError('endpointNames can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; let queryValues = { endpointNames: endpointNames && endpointNames.join(","), type: type, authSchemes: authSchemes && authSchemes.join(","), owner: owner, includeFailed: includeFailed, includeDetails: includeDetails, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "e85f1c62-adfc-4b74-b618-11a150fb195e", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Gets the service endpoints and patch new authorization parameters * * @param {ServiceEndpointInterfaces.RefreshAuthenticationParameters[]} refreshAuthenticationParameters - Scope, Validity of Token requested. * @param {string} project - Project ID or project name * @param {string[]} endpointIds - Ids of the service endpoints. */ getServiceEndpointsWithRefreshedAuthentication(refreshAuthenticationParameters, project, endpointIds) { return __awaiter(this, void 0, void 0, function* () { if (endpointIds == null) { throw new TypeError('endpointIds can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; let queryValues = { endpointIds: endpointIds && endpointIds.join(","), }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.4", "serviceendpoint", "e85f1c62-adfc-4b74-b618-11a150fb195e", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, refreshAuthenticationParameters, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpoint, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get service endpoint execution records. * * @param {string} project - Project ID or project name * @param {string} endpointId - Id of the service endpoint. * @param {number} top - Number of service endpoint execution records to get. * @param {number} continuationToken - A continuation token, returned by a previous call to this method, that can be used to return the next set of records */ getServiceEndpointExecutionRecords(project, endpointId, top, continuationToken) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project, endpointId: endpointId }; let queryValues = { top: top, continuationToken: continuationToken, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "10a16738-9299-4cd1-9a81-fd23ad6200d0", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpointExecutionRecord, true); if (res.headers && res.headers['x-ms-continuationtoken']) { ret.continuationToken = res.headers['x-ms-continuationtoken']; } this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Add service endpoint execution records. * * @param {ServiceEndpointInterfaces.ServiceEndpointExecutionRecordsInput} input - Service endpoint execution records to add. * @param {string} project - Project ID or project name */ addServiceEndpointExecutionRecords(input, project) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { project: project }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "55b9ed4b-5404-41b1-b9d2-7ed757d02bb0", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, input, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpointExecutionRecord, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {ServiceEndpointInterfaces.OAuthConfigurationParams} configurationParams */ createOAuthConfiguration(configurationParams) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "702edb4e-3952-43fe-a4eb-288938f3ba35", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, configurationParams, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.OAuthConfiguration, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} configurationId */ deleteOAuthConfiguration(configurationId) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { configurationId: configurationId }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "702edb4e-3952-43fe-a4eb-288938f3ba35", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.del(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.OAuthConfiguration, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} configurationId */ getOAuthConfiguration(configurationId) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { configurationId: configurationId }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "702edb4e-3952-43fe-a4eb-288938f3ba35", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.OAuthConfiguration, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} endpointType * @param {ServiceEndpointInterfaces.OAuthConfigurationActionFilter} actionFilter */ getOAuthConfigurations(endpointType, actionFilter) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; let queryValues = { endpointType: endpointType, actionFilter: actionFilter, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "702edb4e-3952-43fe-a4eb-288938f3ba35", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.OAuthConfiguration, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {ServiceEndpointInterfaces.OAuthConfigurationParams} configurationParams * @param {string} configurationId */ updateOAuthConfiguration(configurationParams, configurationId) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { configurationId: configurationId }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "702edb4e-3952-43fe-a4eb-288938f3ba35", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.replace(url, configurationParams, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.OAuthConfiguration, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} endpointId * @param {string} project */ querySharedProjects(endpointId, project) { return __awaiter(this, void 0, void 0, function* () { if (project == null) { throw new TypeError('project can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { endpointId: endpointId }; let queryValues = { project: project, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "86e77201-c1f7-46c9-8672-9dfc2f6f568a", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, null, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} endpointId * @param {string} fromProject * @param {string} withProject */ shareEndpointWithProject(endpointId, fromProject, withProject) { return __awaiter(this, void 0, void 0, function* () { if (fromProject == null) { throw new TypeError('fromProject can not be null or undefined'); } if (withProject == null) { throw new TypeError('withProject can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = { endpointId: endpointId }; let queryValues = { fromProject: fromProject, withProject: withProject, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "86e77201-c1f7-46c9-8672-9dfc2f6f568a", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, null, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get service endpoint types. * * @param {string} type - Type of service endpoint. * @param {string} scheme - Scheme of service endpoint. */ getServiceEndpointTypes(type, scheme) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; let queryValues = { type: type, scheme: scheme, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "5a7938a4-655e-486c-b562-b78c54a7e87b", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpointType, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * Get service endpoint types with passed types filter. * * @param {string[]} typesFilter - Filter to limit returned types */ getFilteredServiceEndpointTypes(typesFilter) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "a01a273f-aa29-4066-b042-3ea628ef6848", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, typesFilter, options); let ret = this.formatResponse(res.result, ServiceEndpointInterfaces.TypeInfo.ServiceEndpointType, true); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** * @param {string} tenantId * @param {string} redirectUri * @param {ServiceEndpointInterfaces.AadLoginPromptOption} promptOption * @param {string} completeCallbackPayload * @param {boolean} completeCallbackByAuthCode */ createAadOAuthRequest(tenantId, redirectUri, promptOption, completeCallbackPayload, completeCallbackByAuthCode) { return __awaiter(this, void 0, void 0, function* () { if (tenantId == null) { throw new TypeError('tenantId can not be null or undefined'); } if (redirectUri == null) { throw new TypeError('redirectUri can not be null or undefined'); } return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; let queryValues = { tenantId: tenantId, redirectUri: redirectUri, promptOption: promptOption, completeCallbackPayload: completeCallbackPayload, completeCallbackByAuthCode: completeCallbackByAuthCode, }; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "47911d38-53e1-467a-8c32-d871599d5498", routeValues, queryValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.create(url, null, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } /** */ getVstsAadTenantId() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { let routeValues = {}; try { let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "serviceendpoint", "47911d38-53e1-467a-8c32-d871599d5498", routeValues); let url = verData.requestUrl; let options = this.createRequestOptions('application/json', verData.apiVersion); let res; res = yield this.rest.get(url, options); let ret = this.formatResponse(res.result, null, false); this.extractRateLimitHeaders(res.headers, ret); resolve(ret); } catch (err) { this.extractRateLimitHeaders(err === null || err === void 0 ? void 0 : err.responseHeaders, err); reject(err); } })); }); } } exports.ServiceEndpointApiBase = ServiceEndpointApiBase; ServiceEndpointApiBase.RESOURCE_AREA_ID = "1814ab31-2f4f-4a9f-8761-f4d77dc5a5d7";