@gitkraken/core-gitlens 0.5.116 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -1
- package/dist/git/models/issue.d.ts +14 -1
- package/dist/git/models/issue.d.ts.map +1 -1
- package/dist/git/models/issue.js +5 -1
- package/dist/git/models/issue.js.map +1 -1
- package/dist/git/models/pullRequest.d.ts +8 -2
- package/dist/git/models/pullRequest.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.d.ts +11 -1
- package/dist/git/remotes/azure-devops.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.js +47 -12
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/utils/issue.utils.d.ts.map +1 -1
- package/dist/git/utils/issue.utils.js +9 -0
- package/dist/git/utils/issue.utils.js.map +1 -1
- package/dist/plus/integrations/providers/azure/azure.d.ts +13 -0
- package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azure/azure.js +79 -16
- package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
- package/dist/plus/integrations/providers/azure/models.d.ts +37 -10
- package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azure/models.js +118 -52
- package/dist/plus/integrations/providers/azure/models.js.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.d.ts +1 -0
- package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -1
- package/dist/plus/integrations/providers/azureDevOps.js +19 -7
- package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
- package/dist/plus/integrations/providers/models.d.ts.map +1 -1
- package/dist/plus/integrations/providers/models.js +15 -4
- package/dist/plus/integrations/providers/models.js.map +1 -1
- package/dist/plus/integrations/reads/resolveRepository.d.ts.map +1 -1
- package/dist/plus/integrations/reads/resolveRepository.js +2 -0
- package/dist/plus/integrations/reads/resolveRepository.js.map +1 -1
- package/docs/integrations.md +33 -0
- package/docs/kepler-read-api-parity.md +15 -12
- package/package.json +1 -1
- package/src/git/models/issue.ts +15 -0
- package/src/git/models/pullRequest.ts +6 -2
- package/src/git/remotes/azure-devops.ts +68 -14
- package/src/git/utils/issue.utils.ts +10 -0
- package/src/plus/integrations/providers/azure/azure.ts +147 -16
- package/src/plus/integrations/providers/azure/models.ts +165 -63
- package/src/plus/integrations/providers/azureDevOps.ts +22 -13
- package/src/plus/integrations/providers/models.ts +22 -5
- package/src/plus/integrations/reads/resolveRepository.ts +3 -0
|
@@ -6,13 +6,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { base64 } from '../../../../utils/base64.js';
|
|
8
8
|
import { CancellationError, isCancellationError } from '../../../../utils/cancellation.js';
|
|
9
|
+
import { sha256 } from '../../../../utils/crypto.js';
|
|
9
10
|
import { trace } from '../../../../utils/decorators/log.js';
|
|
10
11
|
import { Logger } from '../../../../utils/logger.js';
|
|
11
12
|
import { getScopedLogger } from '../../../../utils/logger.scoped.js';
|
|
13
|
+
import { PromiseCache } from '../../../../utils/promiseCache.js';
|
|
12
14
|
import { maybeStopWatch } from '../../../../utils/stopwatch.js';
|
|
13
15
|
import { AuthenticationError, AuthenticationErrorReason, isRateLimitResponse, ProviderFetchError, RequestClientError, RequestNotFoundError, toRateLimitError, } from '../../errors.js';
|
|
14
16
|
import { baseProviderApiConfig } from '../apiConfig.js';
|
|
15
|
-
import { azurePullRequestStatusToState, azureWorkItemsStateCategoryToState, fromAzurePullRequest, fromAzureWorkItem, getAzurePullRequestWebUrl, isClosedAzurePullRequestStatus, isClosedAzureWorkItemStateCategory, normalizeAzureBranchName, } from './models.js';
|
|
17
|
+
import { azurePullRequestStatusToState, azureWorkItemsStateCategoryToState, fromAzurePullRequest, fromAzureWorkItem, getAzurePullRequestWebUrl, isClosedAzurePullRequestStatus, isClosedAzureWorkItemStateCategory, normalizeAzureBranchName, sanitizeAzureRepositoryUrl, } from './models.js';
|
|
18
|
+
const forkRepositoryUrlCacheTtl = 5 * 60 * 1000;
|
|
19
|
+
function parseAzureRepositoryDescriptor(repo) {
|
|
20
|
+
const parts = repo.split('/');
|
|
21
|
+
const [projectName, segment, repoName] = parts;
|
|
22
|
+
if (parts.length !== 3 || segment !== '_git' || !projectName || !repoName) {
|
|
23
|
+
throw new Error(`Invalid Azure repository descriptor '${repo}'; expected '{project}/_git/{repoName}'.`);
|
|
24
|
+
}
|
|
25
|
+
return { projectName: projectName, repoName: repoName };
|
|
26
|
+
}
|
|
16
27
|
class WorkItemStates {
|
|
17
28
|
_categories = new Map();
|
|
18
29
|
_types = new Map();
|
|
@@ -54,6 +65,10 @@ export class AzureDevOpsApi {
|
|
|
54
65
|
config;
|
|
55
66
|
_disposable;
|
|
56
67
|
_workItemStates = new WorkItemStates();
|
|
68
|
+
_forkRepositoryUrls = new PromiseCache({
|
|
69
|
+
capacity: 100,
|
|
70
|
+
createTTL: forkRepositoryUrlCacheTtl,
|
|
71
|
+
});
|
|
57
72
|
constructor(config) {
|
|
58
73
|
this.config = config;
|
|
59
74
|
this._disposable = config.onConfigChanged?.(() => this.resetCaches());
|
|
@@ -63,10 +78,11 @@ export class AzureDevOpsApi {
|
|
|
63
78
|
}
|
|
64
79
|
resetCaches() {
|
|
65
80
|
this._workItemStates.clear();
|
|
81
|
+
this._forkRepositoryUrls.clear();
|
|
66
82
|
}
|
|
67
83
|
async getPullRequestForBranch(provider, token, owner, repo, branch, options) {
|
|
68
84
|
const scope = getScopedLogger();
|
|
69
|
-
const
|
|
85
|
+
const { projectName, repoName } = parseAzureRepositoryDescriptor(repo);
|
|
70
86
|
try {
|
|
71
87
|
const prResult = await this.request(provider, token, options?.baseUrl, `${owner}/${projectName}/_apis/git/repositories/${repoName}/pullRequests?searchCriteria.status=all&searchCriteria.sourceRefName=refs/heads/${branch}`, {
|
|
72
88
|
method: 'GET',
|
|
@@ -88,7 +104,7 @@ export class AzureDevOpsApi {
|
|
|
88
104
|
const pr = sortedPRs?.[0];
|
|
89
105
|
if (pr == null)
|
|
90
106
|
return undefined;
|
|
91
|
-
return
|
|
107
|
+
return await this.toPullRequest(pr, provider, token, owner, options.baseUrl, scope);
|
|
92
108
|
}
|
|
93
109
|
catch (ex) {
|
|
94
110
|
scope?.error(ex);
|
|
@@ -97,7 +113,7 @@ export class AzureDevOpsApi {
|
|
|
97
113
|
}
|
|
98
114
|
async getPullRequestForCommit(provider, token, owner, repo, rev, baseUrl, _options, cancellation) {
|
|
99
115
|
const scope = getScopedLogger();
|
|
100
|
-
const
|
|
116
|
+
const { projectName, repoName } = parseAzureRepositoryDescriptor(repo);
|
|
101
117
|
try {
|
|
102
118
|
const prResult = await this.request(provider, token, baseUrl, `${owner}/${projectName}/_apis/git/repositories/${repoName}/pullrequestquery?api-version=4.1`, {
|
|
103
119
|
method: 'POST',
|
|
@@ -113,10 +129,10 @@ export class AzureDevOpsApi {
|
|
|
113
129
|
const pr = prResult?.results[0]?.[rev]?.[0];
|
|
114
130
|
if (pr == null)
|
|
115
131
|
return undefined;
|
|
116
|
-
const pullRequest = await this.request(provider, token,
|
|
132
|
+
const pullRequest = await this.request(provider, token, baseUrl, `${owner}/${encodeURIComponent(pr.repository.project.id)}/_apis/git/repositories/${encodeURIComponent(pr.repository.id)}/pullRequests/${encodeURIComponent(pr.pullRequestId.toString())}`, { method: 'GET' }, scope, cancellation);
|
|
117
133
|
if (pullRequest == null)
|
|
118
134
|
return undefined;
|
|
119
|
-
return
|
|
135
|
+
return await this.toPullRequest(pullRequest, provider, token, owner, baseUrl, scope, cancellation);
|
|
120
136
|
}
|
|
121
137
|
catch (ex) {
|
|
122
138
|
scope?.error(ex);
|
|
@@ -125,7 +141,7 @@ export class AzureDevOpsApi {
|
|
|
125
141
|
}
|
|
126
142
|
async getIssueOrPullRequest(provider, token, owner, repo, id, options) {
|
|
127
143
|
const scope = getScopedLogger();
|
|
128
|
-
const
|
|
144
|
+
const { projectName, repoName } = parseAzureRepositoryDescriptor(repo);
|
|
129
145
|
if (options?.type === undefined || options?.type === 'issue') {
|
|
130
146
|
try {
|
|
131
147
|
// Try to get the Work item (wit) first with specific fields
|
|
@@ -173,7 +189,7 @@ export class AzureDevOpsApi {
|
|
|
173
189
|
state: azurePullRequestStatusToState(prResult.status),
|
|
174
190
|
closed: isClosedAzurePullRequestStatus(prResult.status),
|
|
175
191
|
title: prResult.title,
|
|
176
|
-
url: getAzurePullRequestWebUrl(prResult),
|
|
192
|
+
url: getAzurePullRequestWebUrl(prResult, options.baseUrl, owner),
|
|
177
193
|
};
|
|
178
194
|
}
|
|
179
195
|
return undefined;
|
|
@@ -211,7 +227,7 @@ export class AzureDevOpsApi {
|
|
|
211
227
|
}
|
|
212
228
|
async getAccountForCommit(provider, token, owner, repo, rev, baseUrl, _options) {
|
|
213
229
|
const scope = getScopedLogger();
|
|
214
|
-
const
|
|
230
|
+
const { projectName, repoName } = parseAzureRepositoryDescriptor(repo);
|
|
215
231
|
try {
|
|
216
232
|
// Try to get the Work item (wit) first with specific fields
|
|
217
233
|
const commit = await this.request(provider, token, baseUrl, `${owner}/${projectName}/_apis/git/repositories/${repoName}/commits/${rev}`, {
|
|
@@ -332,20 +348,67 @@ export class AzureDevOpsApi {
|
|
|
332
348
|
}
|
|
333
349
|
}
|
|
334
350
|
getRepository(provider, token, owner, repo, baseUrl, scope, cancellation) {
|
|
335
|
-
const
|
|
336
|
-
const [projectName, segment, repoName] = parts;
|
|
337
|
-
// The descriptor must be exactly `"{project}/_git/{repoName}"`; bail before issuing a bogus request.
|
|
338
|
-
if (parts.length !== 3 || segment !== '_git' || !projectName || !repoName) {
|
|
339
|
-
throw new Error(`Invalid Azure repository descriptor '${repo}'; expected '{project}/_git/{repoName}'.`);
|
|
340
|
-
}
|
|
351
|
+
const { projectName, repoName } = parseAzureRepositoryDescriptor(repo);
|
|
341
352
|
return this.request(provider, token, baseUrl, `${owner}/${projectName}/_apis/git/repositories/${repoName}?api-version=7.1`, { method: 'GET' }, scope, cancellation);
|
|
342
353
|
}
|
|
354
|
+
async toPullRequest(pr, provider, token, owner, baseUrl, scope, cancellation) {
|
|
355
|
+
const forkRepositoryUrls = await this.getForkRepositoryUrls(provider, token, owner, baseUrl, pr.forkSource?.repository, scope, cancellation);
|
|
356
|
+
return fromAzurePullRequest(pr, provider, owner, baseUrl, forkRepositoryUrls);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Resolves the web and HTTPS clone URLs of the fork a cross-repository pull request comes from. Every other
|
|
360
|
+
* repository URL the model reports is rebuilt from the pull request payload; only a fork reference lacks the
|
|
361
|
+
* project to do that, so only a fork costs a request.
|
|
362
|
+
*
|
|
363
|
+
* Best-effort by contract: a fork in a project the token cannot read, a deleted fork, or a throttled request
|
|
364
|
+
* leaves the head ref without a URL. It must never cost the pull request itself, which is what makes swallowing
|
|
365
|
+
* the failure here the right call rather than a shortcut.
|
|
366
|
+
*/
|
|
367
|
+
async getForkRepositoryUrls(provider, token, owner, baseUrl, repository, scope, cancellation) {
|
|
368
|
+
if (repository == null)
|
|
369
|
+
return undefined;
|
|
370
|
+
let tokenHash;
|
|
371
|
+
try {
|
|
372
|
+
tokenHash = await sha256(token.accessToken);
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
return undefined;
|
|
376
|
+
}
|
|
377
|
+
const cacheKey = JSON.stringify([tokenHash, baseUrl, owner, repository.id]);
|
|
378
|
+
// The request is shared, so the factory is handed the cache's aggregate signal rather than this caller's: it
|
|
379
|
+
// aborts only once every caller waiting on the entry has cancelled.
|
|
380
|
+
return this._forkRepositoryUrls.getOrCreate(cacheKey, (cacheable, aggregate) => this.fetchForkRepositoryUrls(provider, token, owner, baseUrl, repository.id, cacheable, scope, aggregate), { cancellation: cancellation });
|
|
381
|
+
}
|
|
382
|
+
async fetchForkRepositoryUrls(provider, token, owner, baseUrl, repositoryId, cacheable, scope, cancellation) {
|
|
383
|
+
try {
|
|
384
|
+
const response = await this.request(provider, token, baseUrl, `${owner}/_apis/git/repositories/${encodeURIComponent(repositoryId)}?api-version=4.1`, { method: 'GET' }, scope, cancellation);
|
|
385
|
+
const webUrl = sanitizeAzureRepositoryUrl(response?.webUrl, baseUrl, owner);
|
|
386
|
+
const cloneHttps = sanitizeAzureRepositoryUrl(response?.remoteUrl, baseUrl, owner);
|
|
387
|
+
// The clone URL stands in for the web URL when the response omits it — an older `api-version` promises
|
|
388
|
+
// neither field, and naming the fork by the URL git would use beats naming it not at all.
|
|
389
|
+
const url = webUrl ?? cloneHttps;
|
|
390
|
+
if (url == null) {
|
|
391
|
+
cacheable.invalidate();
|
|
392
|
+
return undefined;
|
|
393
|
+
}
|
|
394
|
+
return { url: url, cloneHttps: cloneHttps };
|
|
395
|
+
}
|
|
396
|
+
catch (ex) {
|
|
397
|
+
// Missing or inaccessible forks are cached briefly; transient failures retry on the next read.
|
|
398
|
+
if (!(ex instanceof RequestNotFoundError) && !(ex instanceof AuthenticationError)) {
|
|
399
|
+
cacheable.invalidate();
|
|
400
|
+
}
|
|
401
|
+
const status = ex instanceof ProviderFetchError ? ` (${ex.status})` : '';
|
|
402
|
+
scope?.warn(`Unable to resolve the fork repository URLs${status}`);
|
|
403
|
+
return undefined;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
343
406
|
async request(provider, token, baseUrl, route, options, scope, cancellation) {
|
|
344
407
|
const { accessToken } = token;
|
|
345
408
|
const url = baseUrl ? `${baseUrl}/${route}` : route;
|
|
346
409
|
let rsp;
|
|
347
410
|
try {
|
|
348
|
-
const sw = maybeStopWatch(`[AZURE] ${options?.method ?? 'GET'}
|
|
411
|
+
const sw = maybeStopWatch(`[AZURE] ${options?.method ?? 'GET'} request`, { log: { onlyExit: true } });
|
|
349
412
|
try {
|
|
350
413
|
if (cancellation?.aborted)
|
|
351
414
|
throw new CancellationError();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../../src/plus/integrations/providers/azure/azure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../../src/plus/integrations/providers/azure/azure.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface AzureRepositoryDescriptor extends ResourceDescriptor {
|
|
|
8
8
|
owner: string;
|
|
9
9
|
name: string;
|
|
10
10
|
project?: string;
|
|
11
|
+
virtualDirectory?: string;
|
|
11
12
|
}
|
|
12
13
|
export interface AzureOrganizationDescriptor extends ResourceDescriptor {
|
|
13
14
|
id: string;
|
|
@@ -122,10 +123,13 @@ export interface AzureProject {
|
|
|
122
123
|
visibility: AzureProjectVisibility;
|
|
123
124
|
lastUpdateTime: string;
|
|
124
125
|
}
|
|
125
|
-
export interface
|
|
126
|
+
export interface AzureRepositoryReference {
|
|
126
127
|
id: string;
|
|
127
128
|
name: string;
|
|
128
129
|
url: string;
|
|
130
|
+
remoteUrl?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface AzureRepository extends AzureRepositoryReference {
|
|
129
133
|
project: AzureProject;
|
|
130
134
|
size: number;
|
|
131
135
|
remoteUrl: string;
|
|
@@ -134,6 +138,11 @@ export interface AzureRepository {
|
|
|
134
138
|
isDisabled: boolean;
|
|
135
139
|
isInMaintenance: boolean;
|
|
136
140
|
}
|
|
141
|
+
export interface AzurePullRequestRepository extends AzureRepositoryReference {
|
|
142
|
+
project: Pick<AzureProject, 'id' | 'name'>;
|
|
143
|
+
}
|
|
144
|
+
/** The URL fields of a repository response — all the fork lookup reads, and all an older `api-version` promises. */
|
|
145
|
+
export type AzureRepositoryUrls = Partial<Pick<AzureRepository, 'webUrl' | 'remoteUrl'>>;
|
|
137
146
|
/** The `GET .../_apis/git/repositories/{repositoryId or name}` response, adding fork/default-branch fields to {@link AzureRepository}. */
|
|
138
147
|
export interface AzureRepositoryWithMetadata extends AzureRepository {
|
|
139
148
|
/** Fully-qualified ref, e.g. `refs/heads/main`. */
|
|
@@ -217,7 +226,7 @@ export interface AzureGitForkRef {
|
|
|
217
226
|
name: string;
|
|
218
227
|
objectId: string;
|
|
219
228
|
peeledObjectId: string;
|
|
220
|
-
repository:
|
|
229
|
+
repository: AzureRepositoryReference;
|
|
221
230
|
statuses: AzureGitStatus[];
|
|
222
231
|
url: string;
|
|
223
232
|
}
|
|
@@ -234,7 +243,7 @@ export interface AzureGitPullRequestMergeOptions {
|
|
|
234
243
|
}
|
|
235
244
|
export type AzurePullRequestAsyncStatus = 'conflicts' | 'failure' | 'notSet' | 'queued' | 'rejectedByPolicy' | 'succeeded';
|
|
236
245
|
export interface AzurePullRequest {
|
|
237
|
-
repository:
|
|
246
|
+
repository: AzurePullRequestRepository;
|
|
238
247
|
pullRequestId: number;
|
|
239
248
|
codeReviewId: number;
|
|
240
249
|
status: AzurePullRequestStatus;
|
|
@@ -283,20 +292,38 @@ export interface AzurePullRequestWithLinks extends AzurePullRequest {
|
|
|
283
292
|
remoteUrl?: string;
|
|
284
293
|
workItemRefs?: AzureResourceRef[];
|
|
285
294
|
}
|
|
286
|
-
export declare function getVSTSOwner(url: URL): string;
|
|
287
295
|
export declare function getAzureDevOpsOwner(url: URL): string;
|
|
288
|
-
export declare function getAzureOwner(url: URL): string;
|
|
289
296
|
export declare function isVsts(domain: string): boolean;
|
|
290
|
-
export declare function
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
297
|
+
export declare function getAzurePullRequestWebUrl(pr: AzurePullRequest, baseUrl: string, owner: string): string;
|
|
298
|
+
/**
|
|
299
|
+
* Restricts a provider-supplied repository URL to the integration's collection and removes credentials, query, and
|
|
300
|
+
* fragment before a consumer can use it as a git remote. Takes the value as the payloads carry it — every one of
|
|
301
|
+
* these URLs is optional — so a caller never has to spell the absent case itself.
|
|
302
|
+
*/
|
|
303
|
+
export declare function sanitizeAzureRepositoryUrl(value: string | undefined, expectedUrl: string, expectedOwner: string): string | undefined;
|
|
294
304
|
export declare function fromAzurePullRequestMergeStatusToMergeableState(mergeStatus: AzurePullRequestAsyncStatus): PullRequestMergeableState;
|
|
295
305
|
export declare function fromAzurePullRequestVoteToReviewState(vote: AzurePullRequestVote): PullRequestReviewState;
|
|
296
306
|
export declare function fromAzureUserWithVoteToReviewer(reviewer: AzureUserWithVote): PullRequestReviewer;
|
|
297
307
|
export declare function getAzurePullRequestReviewDecision(votes: AzurePullRequestVote[]): PullRequestReviewDecision | undefined;
|
|
298
308
|
export declare function fromAzureReviewerToPullRequestMember(reviewer: AzureUser): PullRequestMember;
|
|
299
309
|
export declare function normalizeAzureBranchName(branchName: string): string;
|
|
300
|
-
|
|
310
|
+
/**
|
|
311
|
+
* The URLs of a cross-repository pull request's fork, resolved by a lookup because the pull request payload embeds
|
|
312
|
+
* only an abbreviated reference to it: `url` is the URL the head ref reports — the fork's web URL, or its clone URL
|
|
313
|
+
* when the response carries no web URL — and `cloneHttps` its HTTPS clone URL.
|
|
314
|
+
*
|
|
315
|
+
* A fork that resolves neither is reported as no fork at all rather than as an object with nothing in it, so `url`
|
|
316
|
+
* is always present here; `cloneHttps` alone is best-effort, and is absent when the response omits it or its URL
|
|
317
|
+
* sits outside the integration's collection.
|
|
318
|
+
*/
|
|
319
|
+
export interface AzureForkRepositoryUrls {
|
|
320
|
+
url: string;
|
|
321
|
+
cloneHttps: string | undefined;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* `baseUrl` and `owner` are the prefix the pull request was read through; every URL the model reports is built from
|
|
325
|
+
* them. The required `forkRepositoryUrls` argument makes each call site resolve the best-effort fork URLs explicitly.
|
|
326
|
+
*/
|
|
327
|
+
export declare function fromAzurePullRequest(pr: AzurePullRequest, provider: Provider, owner: string, baseUrl: string, forkRepositoryUrls: AzureForkRepositoryUrls | undefined): PullRequest;
|
|
301
328
|
export declare function fromAzureWorkItem(workItem: WorkItem, provider: Provider, project: AzureProjectDescriptor, stateCategory?: AzureWorkItemStateCategory): Issue;
|
|
302
329
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../src/plus/integrations/providers/azure/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAyB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EACN,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAIpF,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../src/plus/integrations/providers/azure/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,60 +31,116 @@ export function azurePullRequestStatusToState(status) {
|
|
|
31
31
|
export function isClosedAzurePullRequestStatus(status) {
|
|
32
32
|
return azurePullRequestStatusToState(status) !== 'opened';
|
|
33
33
|
}
|
|
34
|
-
export function getVSTSOwner(url) {
|
|
35
|
-
return url.hostname.split('.')[0];
|
|
36
|
-
}
|
|
37
34
|
export function getAzureDevOpsOwner(url) {
|
|
38
35
|
return url.pathname.split('/')[1];
|
|
39
36
|
}
|
|
40
|
-
export function getAzureOwner(url) {
|
|
41
|
-
const isVSTS = url.hostname.endsWith(vstsHostnameSuffix);
|
|
42
|
-
return isVSTS ? getVSTSOwner(url) : getAzureDevOpsOwner(url);
|
|
43
|
-
}
|
|
44
37
|
export function isVsts(domain) {
|
|
45
38
|
return domain.endsWith(vstsHostnameSuffix);
|
|
46
39
|
}
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
/**
|
|
41
|
+
* `baseUrl` and `owner` are the authoritative prefix used for the API request. The payload URL cannot supply that
|
|
42
|
+
* prefix safely because it may address the repository by id or name an untrusted host.
|
|
43
|
+
*/
|
|
44
|
+
function getAzureRepositoryWebUrl(baseUrl, owner, projectName, repoName) {
|
|
45
|
+
const repoPath = `${encodeURIComponent(owner)}/${encodeURIComponent(projectName)}/_git/${encodeURIComponent(repoName)}`;
|
|
46
|
+
return `${baseUrl.replace(/\/+$/, '')}/${repoPath}`;
|
|
47
|
+
}
|
|
48
|
+
export function getAzurePullRequestWebUrl(pr, baseUrl, owner) {
|
|
49
|
+
const repoUrl = getAzureRepositoryWebUrl(baseUrl, owner, pr.repository.project.name, pr.repository.name);
|
|
50
|
+
return `${repoUrl}/pullrequest/${pr.pullRequestId}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether `url` and `expected` are the two cloud spellings of one organization: a cloud organization answers on both
|
|
54
|
+
* `dev.azure.com/{owner}` and the legacy `{owner}.visualstudio.com`, so those name the same host. Anything else is
|
|
55
|
+
* somewhere we didn't ask.
|
|
56
|
+
*/
|
|
57
|
+
function isSameAzureCloudOrganization(url, expected, expectedOwner) {
|
|
58
|
+
if (url.protocol !== expected.protocol)
|
|
59
|
+
return false;
|
|
60
|
+
const owner = expectedOwner.toLowerCase();
|
|
61
|
+
if (expected.hostname !== 'dev.azure.com' && !isVsts(expected.hostname))
|
|
62
|
+
return false;
|
|
63
|
+
if (url.hostname === 'dev.azure.com')
|
|
64
|
+
return getAzureDevOpsOwner(url).toLowerCase() === owner;
|
|
65
|
+
return url.hostname === `${owner}${vstsHostnameSuffix}`;
|
|
49
66
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Whether `url` sits under the collection the integration is configured to talk to — `{expectedUrl}/{expectedOwner}`.
|
|
69
|
+
* A matching origin says nothing on its own: Azure organizations and self-hosted collections are path segments.
|
|
70
|
+
*/
|
|
71
|
+
function isUnderAzureCollection(url, expected, expectedOwner) {
|
|
72
|
+
const base = expected.pathname.replace(/\/+$/, '');
|
|
73
|
+
const prefix = `${base}/${encodeURIComponent(expectedOwner)}/`.toLowerCase();
|
|
74
|
+
return `${url.pathname}/`.toLowerCase().startsWith(prefix);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Restricts a provider-supplied repository URL to the integration's collection and removes credentials, query, and
|
|
78
|
+
* fragment before a consumer can use it as a git remote. Takes the value as the payloads carry it — every one of
|
|
79
|
+
* these URLs is optional — so a caller never has to spell the absent case itself.
|
|
80
|
+
*/
|
|
81
|
+
export function sanitizeAzureRepositoryUrl(value, expectedUrl, expectedOwner) {
|
|
82
|
+
if (value == null)
|
|
83
|
+
return undefined;
|
|
84
|
+
let expected;
|
|
85
|
+
let url;
|
|
86
|
+
try {
|
|
87
|
+
expected = new URL(expectedUrl);
|
|
88
|
+
url = new URL(value);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
if (expected.protocol !== 'https:' && expected.protocol !== 'http:')
|
|
94
|
+
return undefined;
|
|
95
|
+
if (!expectedOwner)
|
|
96
|
+
return undefined;
|
|
97
|
+
if (url.origin === expected.origin) {
|
|
98
|
+
if (!isUnderAzureCollection(url, expected, expectedOwner))
|
|
99
|
+
return undefined;
|
|
57
100
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
// Example https://bbbchiv2@dev.azure.com/bbbchiv2/MyFirstProject/_git/test
|
|
62
|
-
const azureHttpsUrlRegex = /([^/]+)\/([^/]+)\/_git\/([^/]+)/;
|
|
63
|
-
function parseAzureNewStyleUrl(url) {
|
|
64
|
-
const match = azureHttpsUrlRegex.exec(url.pathname);
|
|
65
|
-
if (match == null) {
|
|
66
|
-
throw new Error(`Invalid Azure URL: ${url.toString()}`);
|
|
101
|
+
else if (!isSameAzureCloudOrganization(url, expected, expectedOwner)) {
|
|
102
|
+
return undefined;
|
|
67
103
|
}
|
|
68
|
-
|
|
69
|
-
|
|
104
|
+
url.username = '';
|
|
105
|
+
url.password = '';
|
|
106
|
+
url.search = '';
|
|
107
|
+
url.hash = '';
|
|
108
|
+
return url.toString();
|
|
70
109
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
110
|
+
/**
|
|
111
|
+
* The clone URL the payload carries for a repository, restricted to the integration's collection and then
|
|
112
|
+
* cross-checked against the repository that payload names.
|
|
113
|
+
*
|
|
114
|
+
* The collection check alone is not enough for a URL that is READ rather than built. Every other repository URL the
|
|
115
|
+
* model reports is built from the authoritative prefix, so the payload cannot move it; this one cannot be built,
|
|
116
|
+
* because Azure spells a repository for git the same way it spells it for the web only by convention. A URL under
|
|
117
|
+
* the right collection may still name a DIFFERENT repository in it, which would leave `cloneHttps` describing one
|
|
118
|
+
* repository while `url` describes another.
|
|
119
|
+
*
|
|
120
|
+
* Azure ends a clone URL with `_git/{repo}` on every host style — including the short `{owner}/_git/{repo}` form it
|
|
121
|
+
* uses when a repository carries its project's name, and the legacy `{owner}.visualstudio.com` spelling that has no
|
|
122
|
+
* organization segment at all — so the repository name is the one part comparable across all of them. A same-named
|
|
123
|
+
* repository in another project of the same organization is the single substitution this cannot catch.
|
|
124
|
+
*/
|
|
125
|
+
function getAzureRepositoryCloneUrl(repository, baseUrl, owner) {
|
|
126
|
+
const sanitized = sanitizeAzureRepositoryUrl(repository.remoteUrl, baseUrl, owner);
|
|
127
|
+
if (sanitized == null)
|
|
128
|
+
return undefined;
|
|
129
|
+
// Safe to parse: `sanitizeAzureRepositoryUrl` returns what it already parsed.
|
|
130
|
+
const segments = new URL(sanitized).pathname.split('/').filter(s => s.length > 0);
|
|
131
|
+
const name = segments.pop();
|
|
132
|
+
if (name == null || segments.pop() !== '_git')
|
|
133
|
+
return undefined;
|
|
134
|
+
let decoded;
|
|
135
|
+
try {
|
|
136
|
+
decoded = decodeURIComponent(name);
|
|
75
137
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
export function getAzurePullRequestWebUrl(pr) {
|
|
79
|
-
const url = new URL(pr.url);
|
|
80
|
-
const baseUrl = new URL(url.origin).toString();
|
|
81
|
-
const repoPath = getAzureRepo(pr);
|
|
82
|
-
const isVSTS = url.hostname.endsWith(vstsHostnameSuffix);
|
|
83
|
-
if (isVSTS) {
|
|
84
|
-
return `${baseUrl}/${repoPath}/pullrequest/${pr.pullRequestId}`;
|
|
138
|
+
catch {
|
|
139
|
+
return undefined;
|
|
85
140
|
}
|
|
86
|
-
|
|
87
|
-
|
|
141
|
+
// Azure resolves project and repository names case-insensitively, so comparing them any other way would refuse a
|
|
142
|
+
// URL the provider considers the same one.
|
|
143
|
+
return decoded.toLowerCase() === repository.name.toLowerCase() ? sanitized : undefined;
|
|
88
144
|
}
|
|
89
145
|
export function fromAzurePullRequestMergeStatusToMergeableState(mergeStatus) {
|
|
90
146
|
switch (mergeStatus) {
|
|
@@ -163,10 +219,18 @@ function fromAzureUserToMember(user, _type) {
|
|
|
163
219
|
url: user.url,
|
|
164
220
|
};
|
|
165
221
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
222
|
+
/**
|
|
223
|
+
* `baseUrl` and `owner` are the prefix the pull request was read through; every URL the model reports is built from
|
|
224
|
+
* them. The required `forkRepositoryUrls` argument makes each call site resolve the best-effort fork URLs explicitly.
|
|
225
|
+
*/
|
|
226
|
+
export function fromAzurePullRequest(pr, provider, owner, baseUrl, forkRepositoryUrls) {
|
|
227
|
+
const baseRepositoryUrl = getAzureRepositoryWebUrl(baseUrl, owner, pr.repository.project.name, pr.repository.name);
|
|
228
|
+
const baseCloneHttps = getAzureRepositoryCloneUrl(pr.repository, baseUrl, owner);
|
|
229
|
+
const forkRepository = pr.forkSource?.repository;
|
|
230
|
+
const headRepositoryUrl = forkRepository == null ? baseRepositoryUrl : forkRepositoryUrls?.url;
|
|
231
|
+
const headCloneHttps = forkRepository == null ? baseCloneHttps : forkRepositoryUrls?.cloneHttps;
|
|
232
|
+
return new PullRequest(provider, fromAzureUserToMember(pr.createdBy, 'pullRequest'), pr.pullRequestId.toString(), pr.pullRequestId.toString(), pr.title, getAzurePullRequestWebUrl(pr, baseUrl, owner), {
|
|
233
|
+
owner: owner,
|
|
170
234
|
repo: pr.repository.name,
|
|
171
235
|
id: pr.repository.id,
|
|
172
236
|
// TODO: Remove this assumption once actual access level is available
|
|
@@ -176,24 +240,26 @@ export function fromAzurePullRequest(pr, provider, orgName) {
|
|
|
176
240
|
branch: pr.targetRefName ? normalizeAzureBranchName(pr.targetRefName) : '',
|
|
177
241
|
sha: pr.lastMergeTargetCommit?.commitId ?? '',
|
|
178
242
|
repo: pr.repository.name,
|
|
179
|
-
owner:
|
|
243
|
+
owner: owner,
|
|
180
244
|
exists: pr.targetRefName != null,
|
|
181
|
-
url:
|
|
245
|
+
url: baseRepositoryUrl,
|
|
246
|
+
cloneHttps: baseCloneHttps,
|
|
182
247
|
},
|
|
183
248
|
head: {
|
|
184
249
|
branch: pr.sourceRefName ? normalizeAzureBranchName(pr.sourceRefName) : '',
|
|
185
250
|
sha: pr.lastMergeSourceCommit?.commitId ?? '',
|
|
186
|
-
repo:
|
|
187
|
-
owner:
|
|
251
|
+
repo: forkRepository?.name ?? pr.repository.name,
|
|
252
|
+
owner: owner,
|
|
188
253
|
exists: pr.sourceRefName != null,
|
|
189
|
-
url:
|
|
254
|
+
url: headRepositoryUrl,
|
|
255
|
+
cloneHttps: headCloneHttps,
|
|
190
256
|
},
|
|
191
257
|
isCrossRepository: pr.forkSource != null,
|
|
192
258
|
}, pr.isDraft, undefined, undefined, undefined, undefined, getAzurePullRequestReviewDecision(pr.reviewers?.filter(r => r.isRequired).map(r => r.vote ?? 0) ?? []), pr.reviewers.filter(r => r.vote == null || r.vote === 0).map(r => fromAzureUserWithVoteToReviewer(r)), pr.reviewers.filter(r => r.vote != null && r.vote !== 0).map(r => fromAzureUserWithVoteToReviewer(r)), pr.reviewers.map(r => fromAzureReviewerToPullRequestMember(r)), undefined, {
|
|
193
259
|
id: pr.repository?.project?.id,
|
|
194
260
|
name: pr.repository.project.name,
|
|
195
261
|
resourceId: '', // TODO: This is a workaround until we can get the org id here.
|
|
196
|
-
resourceName:
|
|
262
|
+
resourceName: owner,
|
|
197
263
|
});
|
|
198
264
|
}
|
|
199
265
|
export function fromAzureWorkItem(workItem, provider, project, stateCategory) {
|