summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/diffs/utils/merge_request.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-12-13 15:07:56 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-12-13 15:07:56 +0000
commit0d55697d64b5f053bbd0f69da2962e7478097de3 (patch)
tree33dc75892313554223fb7dadd88e1c8875053d88 /app/assets/javascripts/diffs/utils/merge_request.js
parent9fdb3dbd6bacb125d40290aac8409da2f9fe19fc (diff)
downloadgitlab-ce-0d55697d64b5f053bbd0f69da2962e7478097de3.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/diffs/utils/merge_request.js')
-rw-r--r--app/assets/javascripts/diffs/utils/merge_request.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/assets/javascripts/diffs/utils/merge_request.js b/app/assets/javascripts/diffs/utils/merge_request.js
index edb4304f558..43e04a814c5 100644
--- a/app/assets/javascripts/diffs/utils/merge_request.js
+++ b/app/assets/javascripts/diffs/utils/merge_request.js
@@ -1,14 +1,30 @@
const endpointRE = /^(\/?(.+?)\/(.+?)\/-\/merge_requests\/(\d+)).*$/i;
+function getVersionInfo({ endpoint } = {}) {
+ const dummyRoot = 'https://gitlab.com';
+ const endpointUrl = new URL(endpoint, dummyRoot);
+ const params = Object.fromEntries(endpointUrl.searchParams.entries());
+
+ const { start_sha: startSha, diff_id: diffId } = params;
+
+ return {
+ diffId,
+ startSha,
+ };
+}
+
export function getDerivedMergeRequestInformation({ endpoint } = {}) {
let mrPath;
let userOrGroup;
let project;
let id;
+ let diffId;
+ let startSha;
const matches = endpointRE.exec(endpoint);
if (matches) {
[, mrPath, userOrGroup, project, id] = matches;
+ ({ diffId, startSha } = getVersionInfo({ endpoint }));
}
return {
@@ -16,5 +32,7 @@ export function getDerivedMergeRequestInformation({ endpoint } = {}) {
userOrGroup,
project,
id,
+ diffId,
+ startSha,
};
}