From 0256cc45d9cebd13fe03b36e17e41dde73b72d3b Mon Sep 17 00:00:00 2001 From: jenniw Date: Thu, 9 Nov 2023 10:20:21 -0500 Subject: [PATCH] Change Catalog to use v2 API endpoint for courses (#1987) * swap catalog to use v2 * tests, lint, fmt --- .../src/containers/pages/CatalogPage.js | 2 +- .../src/containers/pages/CatalogPage_test.js | 2 +- .../public/src/lib/queries/catalogCourses.js | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 frontend/public/src/lib/queries/catalogCourses.js diff --git a/frontend/public/src/containers/pages/CatalogPage.js b/frontend/public/src/containers/pages/CatalogPage.js index 5c7ea4feba..971c2c4b07 100644 --- a/frontend/public/src/containers/pages/CatalogPage.js +++ b/frontend/public/src/containers/pages/CatalogPage.js @@ -8,7 +8,7 @@ import { coursesNextPageSelector, coursesQuery, coursesQueryKey -} from "../../lib/queries/courses" +} from "../../lib/queries/catalogCourses" import { programsSelector, diff --git a/frontend/public/src/containers/pages/CatalogPage_test.js b/frontend/public/src/containers/pages/CatalogPage_test.js index f1e8afbc70..b64ef111b1 100644 --- a/frontend/public/src/containers/pages/CatalogPage_test.js +++ b/frontend/public/src/containers/pages/CatalogPage_test.js @@ -713,7 +713,7 @@ describe("CatalogPage", function() { sinon.assert.calledWith( helper.handleRequestStub, - "/api/courses/?page=2&live=true&page__live=true&courserun_is_enrollable=true", + "/api/v2/courses/?page=2&live=true&page__live=true&courserun_is_enrollable=true", "GET" ) diff --git a/frontend/public/src/lib/queries/catalogCourses.js b/frontend/public/src/lib/queries/catalogCourses.js new file mode 100644 index 0000000000..784370cf9a --- /dev/null +++ b/frontend/public/src/lib/queries/catalogCourses.js @@ -0,0 +1,24 @@ +import { pathOr } from "ramda" + +import { nextState } from "./util" + +export const coursesSelector = pathOr(null, ["entities", "courses", "results"]) + +export const coursesNextPageSelector = pathOr(null, [ + "entities", + "courses", + "next" +]) + +export const coursesQueryKey = "courses" + +export const coursesQuery = page => ({ + queryKey: coursesQueryKey, + url: `/api/v2/courses/?page=${page}&live=true&page__live=true&courserun_is_enrollable=true`, + transform: json => ({ + courses: json + }), + update: { + courses: nextState + } +})