azure-devops-node-api
Version:
Node client for Azure DevOps and TFS REST APIs
887 lines (886 loc) • 45.1 kB
JavaScript
"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";