diff options
author | David O'Regan <doregan@gitlab.com> | 2022-11-17 09:00:22 +0300 |
---|---|---|
committer | David O'Regan <doregan@gitlab.com> | 2022-11-17 09:00:22 +0300 |
commit | 6281d58ae4ce10d61ea317293192a1b203b46a9f (patch) | |
tree | e773e8fac7069e8486a3ce0d9909b922c6a75dc9 | |
parent | 679c46f0e50b8a66af39f60d3b794d73082976e9 (diff) | |
parent | 0e9b0d1f01ee31aec0228624f198ee6dedf4b123 (diff) |
Merge branch 'sarahg/versions-lite-refactor' into 'main'
Refactor versions fetching
See merge request https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/3286
Merged-by: David O'Regan <doregan@gitlab.com>
Approved-by: David O'Regan <doregan@gitlab.com>
Co-authored-by: Sarah German <sgerman@gitlab.com>
4 files changed, 24 insertions, 22 deletions
diff --git a/content/frontend/default/components/archives_page.vue b/content/frontend/default/components/archives_page.vue index 3751d04c..07df0f59 100644 --- a/content/frontend/default/components/archives_page.vue +++ b/content/frontend/default/components/archives_page.vue @@ -1,6 +1,5 @@ <script> -import { getVersions } from '../../services/fetch_versions'; -import { getArchiveImages } from '../../services/fetch_archive_images'; +import { getVersions, getArchiveImages } from '../../services/fetch_versions'; import HeaderPermalink from '../../shared/components/header_permalink.vue'; export default { diff --git a/content/frontend/services/fetch_archive_images.js b/content/frontend/services/fetch_archive_images.js deleted file mode 100644 index 45c68efd..00000000 --- a/content/frontend/services/fetch_archive_images.js +++ /dev/null @@ -1,14 +0,0 @@ -export function getArchiveImages() { - return fetch( - 'https://gitlab.com/api/v4/projects/1794617/registry/repositories/631635/tags?per_page=100', - ) - .then((response) => response.json()) - .then((data) => { - // We only want tags for versioned releases, so drop any that aren't integers. - const tags = data.filter((object) => { - return !Number.isNaN(Number(object.name)); - }); - return tags.reverse(); - }) - .catch((error) => console.error(error)); // eslint-disable-line no-console -} diff --git a/content/frontend/services/fetch_versions.js b/content/frontend/services/fetch_versions.js index e65f396c..8765dc10 100644 --- a/content/frontend/services/fetch_versions.js +++ b/content/frontend/services/fetch_versions.js @@ -1,8 +1,24 @@ +/* eslint-disable no-console */ + +const DOCS_VERSIONS_ENDPOINT = 'https://docs.gitlab.com/versions.json'; +const DOCS_IMAGES_ENDPOINT = + 'https://gitlab.com/api/v4/projects/1794617/registry/repositories/631635/tags?per_page=100'; + export function getVersions() { - return fetch('https://docs.gitlab.com/versions.json') + return fetch(DOCS_VERSIONS_ENDPOINT) .then((response) => response.json()) .then((data) => { - return data[0]; + return Object.assign(...data); }) - .catch((error) => console.error(error)); // eslint-disable-line no-console + .catch((error) => console.error(error)); +} + +export function getArchiveImages() { + return fetch(DOCS_IMAGES_ENDPOINT) + .then((response) => response.json()) + .then((data) => { + // We only want tags for versioned releases, so drop any that aren't integers. + return data.filter((object) => !Number.isNaN(Number(object.name))).reverse(); + }) + .catch((error) => console.error(error)); } diff --git a/spec/frontend/default/components/archives_page_spec.js b/spec/frontend/default/components/archives_page_spec.js index 553ef7ba..6bc9ebe8 100644 --- a/spec/frontend/default/components/archives_page_spec.js +++ b/spec/frontend/default/components/archives_page_spec.js @@ -4,12 +4,13 @@ import { shallowMount } from '@vue/test-utils'; import ArchivesPage from '../../../../content/frontend/default/components/archives_page.vue'; -import { getVersions } from '../../../../content/frontend/services/fetch_versions'; -import { getArchiveImages } from '../../../../content/frontend/services/fetch_archive_images'; +import { + getVersions, + getArchiveImages, +} from '../../../../content/frontend/services/fetch_versions'; import { mockVersions, mockArchiveImages } from '../../__mocks__/versions_mock'; jest.mock('../../../../content/frontend/services/fetch_versions'); -jest.mock('../../../../content/frontend/services/fetch_archive_images'); beforeEach(() => { jest.clearAllMocks(); |