Skip to content

Commit 1414773

Browse files
committed
refactor: address review comments
1 parent 292fc22 commit 1414773

12 files changed

Lines changed: 35 additions & 36 deletions

File tree

src/course-outline/data/apiHooks.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,13 @@ export const useCreateCourseBlock = (
2929
export const useCourseItemData = (itemId?: string, enabled: boolean = true) => (
3030
useQuery({
3131
queryKey: courseOutlineQueryKeys.courseItemId(itemId),
32-
queryFn: () => getCourseItem(itemId!),
33-
enabled: enabled && itemId !== undefined,
32+
queryFn: enabled && itemId !== undefined ? () => getCourseItem(itemId!) : skipToken,
3433
})
3534
);
3635

3736
export const useCourseDetails = (courseId?: string, enabled: boolean = true) => (
3837
useQuery({
3938
queryKey: courseOutlineQueryKeys.courseDetails(courseId),
40-
queryFn: courseId ? () => getCourseDetails(courseId) : skipToken,
41-
enabled: enabled && courseId !== undefined,
39+
queryFn: enabled && courseId ? () => getCourseDetails(courseId) : skipToken,
4240
})
4341
);

src/data/api.mocks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,4 @@ mockGetMigrationStatus.migrationStatusFailedOneLibraryData = {
132132
},
133133
],
134134
} as api.MigrateTaskStatusData;
135-
mockGetMigrationStatus.applyMock = () => jest.spyOn(api, 'getMigrationStatus').mockImplementation(mockGetMigrationStatus);
135+
mockGetMigrationStatus.applyMock = () => jest.spyOn(api, 'getModulestoreMigrationStatus').mockImplementation(mockGetMigrationStatus);

src/data/api.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ describe('legacy libraries migration API', () => {
88
({ axiosMock } = initializeMocks());
99
});
1010

11-
describe('getMigrationStatus', () => {
11+
describe('getModulestoreMigrationStatus', () => {
1212
it('should get migration status', async () => {
1313
const migrationId = '1';
14-
const url = api.getMigrationStatusUrl(migrationId);
14+
const url = api.getModulestoreMigrationStatusUrl(migrationId);
1515
axiosMock.onGet(url).reply(200);
16-
await api.getMigrationStatus(migrationId);
16+
await api.getModulestoreMigrationStatus(migrationId);
1717

1818
expect(axiosMock.history.get[0].url).toEqual(url);
1919
});
2020
});
2121

2222
describe('bulkMigrateLegacyLibraries', () => {
2323
it('should call bulk migrate legacy libraries', async () => {
24-
const url = api.bulkMigrateContentToLibrariesUrl();
24+
const url = api.bulkModulestoreMigrateUrl();
2525
axiosMock.onPost(url).reply(200);
26-
await api.bulkMigrateContentToLibraries({
26+
await api.bulkModulestoreMigrate({
2727
sources: [],
2828
target: '1',
2929
});

src/data/api.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ const getStudioBaseUrl = () => getConfig().STUDIO_BASE_URL as string;
66
/**
77
* Get the URL to check the migration task status
88
*/
9-
export const getMigrationStatusUrl = (migrationId: string) => `${getStudioBaseUrl()}/api/modulestore_migrator/v1/migrations/${migrationId}/`;
9+
export const getModulestoreMigrationStatusUrl = (migrationId: string) => `${getStudioBaseUrl()}/api/modulestore_migrator/v1/migrations/${migrationId}/`;
1010

1111
/**
1212
* Get the URL for bulk migrate content to libraries
1313
*/
14-
export const bulkMigrateContentToLibrariesUrl = () => `${getStudioBaseUrl()}/api/modulestore_migrator/v1/bulk_migration/`;
14+
export const bulkModulestoreMigrateUrl = () => `${getStudioBaseUrl()}/api/modulestore_migrator/v1/bulk_migration/`;
1515

1616
export const getApiWaffleFlagsUrl = (courseId?: string): string => {
1717
const baseUrl = getStudioBaseUrl();
@@ -121,21 +121,21 @@ export interface BulkMigrateRequestData {
121121
/**
122122
* Get migration task status
123123
*/
124-
export async function getMigrationStatus(
124+
export async function getModulestoreMigrationStatus(
125125
migrationId: string,
126126
): Promise<MigrateTaskStatusData> {
127127
const client = getAuthenticatedHttpClient();
128-
const { data } = await client.get(getMigrationStatusUrl(migrationId));
128+
const { data } = await client.get(getModulestoreMigrationStatusUrl(migrationId));
129129
return camelCaseObject(data);
130130
}
131131

132132
/**
133133
* Bulk migrate content to libraries
134134
*/
135-
export async function bulkMigrateContentToLibraries(
135+
export async function bulkModulestoreMigrate(
136136
requestData: BulkMigrateRequestData,
137137
): Promise<MigrateTaskStatusData> {
138138
const client = getAuthenticatedHttpClient();
139-
const { data } = await client.post(bulkMigrateContentToLibrariesUrl(), snakeCaseObject(requestData));
139+
const { data } = await client.post(bulkModulestoreMigrateUrl(), snakeCaseObject(requestData));
140140
return camelCaseObject(data);
141141
}

src/data/apiHooks.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { libraryAuthoringQueryKeys } from '@src/library-authoring/data/apiHooks'
55
import {
66
getWaffleFlags,
77
waffleFlagDefaults,
8-
bulkMigrateContentToLibraries,
9-
getMigrationStatus,
8+
bulkModulestoreMigrate,
9+
getModulestoreMigrationStatus,
1010
BulkMigrateRequestData,
1111
} from './api';
1212

@@ -51,10 +51,10 @@ export const useWaffleFlags = (courseId?: string) => {
5151
/**
5252
* Use this mutation to migrate multiple sources to a library
5353
*/
54-
export const useBulkMigrate = () => {
54+
export const useBulkModulestoreMigrate = () => {
5555
const queryClient = useQueryClient();
5656
return useMutation({
57-
mutationFn: async (requestData: BulkMigrateRequestData) => bulkMigrateContentToLibraries(requestData),
57+
mutationFn: async (requestData: BulkMigrateRequestData) => bulkModulestoreMigrate(requestData),
5858
onSettled: (_data, _err, variables) => {
5959
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.courseImports(variables.target) });
6060
queryClient.invalidateQueries({ queryKey: libraryAuthoringQueryKeys.allMigrationInfo() });
@@ -65,10 +65,10 @@ export const useBulkMigrate = () => {
6565
/**
6666
* Get the migration status
6767
*/
68-
export const useMigrationStatus = (migrationId: string | null) => (
68+
export const useModulestoreMigrationStatus = (migrationId: string | null) => (
6969
useQuery({
7070
queryKey: migrationQueryKeys.migrationTask(migrationId),
71-
queryFn: migrationId ? () => getMigrationStatus(migrationId!) : skipToken,
71+
queryFn: migrationId ? () => getModulestoreMigrationStatus(migrationId!) : skipToken,
7272
refetchInterval: 1000, // Refresh every second
7373
})
7474
);

src/legacy-libraries-migration/LegacyLibMigrationPage.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { mockGetStudioHomeLibraries } from '@src/studio-home/data/api.mocks';
1414
import { getContentLibraryV2CreateApiUrl } from '@src/library-authoring/create-library/data/api';
1515
import { getStudioHomeApiUrl } from '@src/studio-home/data/api';
1616

17-
import { bulkMigrateContentToLibrariesUrl } from '@src/data/api';
17+
import { bulkModulestoreMigrateUrl } from '@src/data/api';
1818
import { LegacyLibMigrationPage } from './LegacyLibMigrationPage';
1919

2020
const path = '/libraries-v1/migrate/*';
@@ -320,7 +320,7 @@ describe('<LegacyLibMigrationPage />', () => {
320320

321321
it('should confirm migration', async () => {
322322
const user = userEvent.setup();
323-
axiosMock.onPost(bulkMigrateContentToLibrariesUrl()).reply(200);
323+
axiosMock.onPost(bulkModulestoreMigrateUrl()).reply(200);
324324
renderPage();
325325
expect(await screen.findByText('Migrate Legacy Libraries')).toBeInTheDocument();
326326
expect(await screen.findByText('MBA')).toBeInTheDocument();
@@ -377,7 +377,7 @@ describe('<LegacyLibMigrationPage />', () => {
377377

378378
it('should show error when confirm migration', async () => {
379379
const user = userEvent.setup();
380-
axiosMock.onPost(bulkMigrateContentToLibrariesUrl()).reply(400);
380+
axiosMock.onPost(bulkModulestoreMigrateUrl()).reply(400);
381381
renderPage();
382382
expect(await screen.findByText('Migrate Legacy Libraries')).toBeInTheDocument();
383383
expect(await screen.findByText('MBA')).toBeInTheDocument();

src/legacy-libraries-migration/LegacyLibMigrationPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import type { LibraryV1Data } from '@src/studio-home/data/api';
2525
import { ToastContext } from '@src/generic/toast-context';
2626
import { Filter, LibrariesList } from '@src/studio-home/tabs-section/libraries-tab';
2727

28-
import { useBulkMigrate } from '@src/data/apiHooks';
28+
import { useBulkModulestoreMigrate } from '@src/data/apiHooks';
2929
import messages from './messages';
3030
import { SelectDestinationView } from './SelectDestinationView';
3131
import { ConfirmationView } from './ConfirmationView';
@@ -83,7 +83,7 @@ export const LegacyLibMigrationPage = () => {
8383
const [migrationFilter, setMigrationFilter] = useState<Filter[]>([Filter.unmigrated]);
8484
const [destinationLibrary, setDestination] = useState<ContentLibrary>();
8585
const [confirmationButtonState, setConfirmationButtonState] = useState('default');
86-
const migrate = useBulkMigrate();
86+
const migrate = useBulkModulestoreMigrate();
8787

8888
const handleMigrate = useCallback(async () => {
8989
if (destinationLibrary) {

src/library-authoring/LibraryAuthoringPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { Add, InfoOutline } from '@openedx/paragon/icons';
2424
import { Link, useLocation, useNavigate } from 'react-router-dom';
2525
import { useQueryClient } from '@tanstack/react-query';
2626

27-
import { useMigrationStatus } from '@src/data/apiHooks';
27+
import { useModulestoreMigrationStatus } from '@src/data/apiHooks';
2828
import Loading from '@src/generic/Loading';
2929
import SubHeader from '@src/generic/sub-header/SubHeader';
3030
import Header from '@src/header';
@@ -152,7 +152,7 @@ const LibraryAuthoringPage = ({
152152
const migrationId = params.get('migration_task');
153153
const {
154154
data: migrationStatusData,
155-
} = useMigrationStatus(migrationId);
155+
} = useModulestoreMigrationStatus(migrationId);
156156

157157
const {
158158
isLoadingPage: isLoadingStudioHome,

src/library-authoring/data/apiHooks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
type QueryClient,
88
replaceEqualDeep,
99
keepPreviousData,
10+
skipToken,
1011
} from '@tanstack/react-query';
1112
import { useCallback } from 'react';
1213
import { type MeiliSearch } from 'meilisearch';
@@ -977,7 +978,6 @@ export const useCourseImports = (libraryId: string) => (
977978
export const useMigrationInfo = (sourcesKeys: string[], enabled: boolean = true) => (
978979
useQuery({
979980
queryKey: libraryAuthoringQueryKeys.migrationInfo(sourcesKeys),
980-
queryFn: () => api.getMigrationInfo(sourcesKeys),
981-
enabled,
981+
queryFn: enabled ? () => api.getMigrationInfo(sourcesKeys) : skipToken,
982982
})
983983
);

src/library-authoring/import-course/messages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ const messages = defineMessages({
206206
},
207207
importCourseAnalysisCompleteReimportBody: {
208208
id: 'library-authoring.import-course.review-details.analysis-complete.reimport.body',
209-
defaultMessage: '{courseName} has already been imported into the Library "{libraryName}". If this secion is re-imported, all Sections, Subsections, Units and Content Blocks will be reimported again.',
209+
defaultMessage: '{courseName} has already been imported into the Library "{libraryName}". If this course is re-imported, all Sections, Subsections, Units and Content Blocks will be reimported again.',
210210
description: 'Body of the info card when course import analysis is complete and it was already imported before.',
211211
},
212212
importCourseCompleteToastMessage: {

0 commit comments

Comments
 (0)