Skip to content

Commit 6efc526

Browse files
fix: addressing pr comments
1 parent 7b3c0d7 commit 6efc526

4 files changed

Lines changed: 38 additions & 34 deletions

File tree

src/authz-module/audit-user/index.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo } from 'react';
1+
import { useEffect, useMemo } from 'react';
22
import { useIntl } from '@edx/frontend-platform/i18n';
33
import debounce from 'lodash.debounce';
44
import {
@@ -24,11 +24,14 @@ const AuditUserPage = () => {
2424
const navigate = useNavigate();
2525
const { isLoading: isLoadingUser, data: user } = useUserAccount(username ?? '');
2626
const { querySettings, handleTableFetch } = useQuerySettings();
27-
const { data: { results: userAssignments } = { results: [] } } = useUserAssignedRoles(username ?? '', querySettings);
27+
const { isLoading: isLoadingUserAssignments, data: { results: userAssignments, count } = { results: [], count: 0 } } = useUserAssignedRoles(username ?? '', querySettings);
28+
29+
useEffect(() => {
30+
if (!user && !isLoadingUser) {
31+
navigate(AUTHZ_HOME_PATH);
32+
}
33+
}, [user, isLoadingUser, navigate]);
2834

29-
if (!user && !isLoadingUser) {
30-
navigate(AUTHZ_HOME_PATH);
31-
}
3235
const navLinks = [
3336
{
3437
label: formatMessage(baseMessages['authz.management.home.nav.link']),
@@ -71,7 +74,7 @@ const AuditUserPage = () => {
7174
disableSortBy: true,
7275
},
7376
];
74-
const pageCount = userAssignments?.length ? Math.ceil(userAssignments.length / TABLE_DEFAULT_PAGE_SIZE) : 1;
77+
const pageCount = Math.ceil(count / TABLE_DEFAULT_PAGE_SIZE);
7578

7679
const fetchData = useMemo(() => debounce(handleTableFetch, 500), [handleTableFetch]);
7780

@@ -99,11 +102,12 @@ const AuditUserPage = () => {
99102
manualPagination
100103
data={userAssignments}
101104
fetchData={fetchData}
102-
itemCount={userAssignments?.length || 0}
105+
itemCount={count}
103106
pageCount={pageCount}
104107
initialState={{ pageSize: TABLE_DEFAULT_PAGE_SIZE }}
105108
additionalColumns={additionalColumns}
106109
columns={columns}
110+
isLoading={isLoadingUserAssignments}
107111
>
108112
<DataTable.Table />
109113
<TableFooter />

src/authz-module/authz-home/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const AuthzHome = () => {
1414
const pageTitle = intl.formatMessage(messages['authz.manage.page.title']);
1515

1616
return (
17-
<div className="authz-libraries">
17+
<div className="authz-module">
1818
<AuthZLayout
1919
context={{ id: '', title: '', org: '' }}
2020
navLinks={[{ label: rootBreadcrumb }]}

src/authz-module/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ const AuthZModule = () => (
3030
<Route path={ROUTES.LIBRARIES_TEAM_PATH} element={<LibrariesTeamManager />} />
3131
</Route>
3232
<Route index element={<AuthzHome />} />
33-
<Route path="*" element={<NotFoundError />} />
3433
<Route
3534
path={ROUTES.AUDIT_USER_PATH}
3635
element={<AuditUserPage />}
3736
/>
37+
<Route path="*" element={<NotFoundError />} />
3838
</Routes>
3939
</Suspense>
4040
</ToastManagerProvider>

src/data/types.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
export type ProfileImage = {
2-
has_image: boolean;
3-
image_url_full: string;
4-
image_url_large: string;
5-
image_url_medium: string;
6-
image_url_small: string;
2+
hasImage: boolean;
3+
imageUrlFull: string;
4+
imageUrlLarge: string;
5+
imageUrlMedium: string;
6+
imageUrlSmall: string;
77
};
88

99
export type UserAccount = {
10-
account_privacy: string;
11-
profile_image: ProfileImage;
10+
accountPrivacy: string;
11+
profileImage: ProfileImage;
1212
username: string;
1313
bio: string | null;
14-
course_certificates: unknown | null; // Type unclear from data
14+
courseCertificates: unknown | null; // Type unclear from data
1515
country: string | null;
16-
date_joined: string; // ISO date string
17-
language_proficiencies: unknown[]; // Array type unclear from empty data
18-
level_of_education: string | null;
19-
social_links: unknown[]; // Array type unclear from empty data
20-
time_zone: string | null;
16+
dateJoined: string; // ISO date string
17+
languageProficiencies: unknown[]; // Array type unclear from empty data
18+
levelOfEducation: string | null;
19+
socialLinks: unknown[]; // Array type unclear from empty data
20+
timeZone: string | null;
2121
name: string;
2222
email: string;
2323
id: number;
24-
verified_name: string | null;
25-
extended_profile: unknown[]; // Array type unclear from empty data
24+
verifiedName: string | null;
25+
extendedProfile: unknown[]; // Array type unclear from empty data
2626
gender: string | null;
2727
state: string | null;
2828
goals: string;
29-
is_active: boolean;
30-
last_login: string; // ISO date string
31-
mailing_address: string;
32-
requires_parental_consent: boolean;
33-
secondary_email: string | null;
34-
secondary_email_enabled: boolean | null;
35-
year_of_birth: number | null;
36-
phone_number: string | null;
37-
activation_key: string;
38-
pending_name_change: string | null;
29+
isActive: boolean;
30+
lastLogin: string; // ISO date string
31+
mailingAddress: string;
32+
requiresParentalConsent: boolean;
33+
secondaryEmail: string | null;
34+
secondaryEmailEnabled: boolean | null;
35+
yearOfBirth: number | null;
36+
phoneNumber: string | null;
37+
activationKey: string;
38+
pendingNameChange: string | null;
3939
};

0 commit comments

Comments
 (0)