diff --git a/src/components/admin/UserRoleManager/UserRoleManager.tsx b/src/components/admin/UserRoleManager/UserRoleManager.tsx index 197eb15..d11dcd7 100644 --- a/src/components/admin/UserRoleManager/UserRoleManager.tsx +++ b/src/components/admin/UserRoleManager/UserRoleManager.tsx @@ -187,8 +187,8 @@ export function UserRoleManager() { try { // Call backend to assign role (will create user if doesn't exist) - // Pass full user data so backend can capture all Okta fields - await userApi.assignRole(selectedUser.email, selectedRole, selectedUser); + // Backend will fetch user data from Okta if user doesn't exist + await userApi.assignRole(selectedUser.email, selectedRole); setMessage({ type: 'success', diff --git a/src/pages/ClosedRequests/hooks/useClosedRequests.ts b/src/pages/ClosedRequests/hooks/useClosedRequests.ts index 2e0b76b..718a9e1 100644 --- a/src/pages/ClosedRequests/hooks/useClosedRequests.ts +++ b/src/pages/ClosedRequests/hooks/useClosedRequests.ts @@ -40,28 +40,16 @@ export function useClosedRequests({ itemsPerPage = 10 }: UseClosedRequestsOption // Always use user-scoped endpoint (not organization-wide) // Backend filters by userId regardless of user role (ADMIN/MANAGEMENT/regular user) // For organization-wide requests, use the "All Requests" screen (/requests) - // Only fetch rejected and closed requests - exclude approved - let statusFilter = filters?.status; - - // If user somehow selects approved (shouldn't be possible now), don't fetch - if (statusFilter === 'approved') { - setRequests([]); - setPagination({ - currentPage: 1, - totalPages: 1, - totalRecords: 0, - itemsPerPage, - }); - setLoading(false); - setRefreshing(false); - return; - } + // Backend supports filtering by: + // - 'approved': Closed requests where all approvals succeeded (no rejections) + // - 'rejected': Closed requests where at least one approval was rejected + // - 'all': All closed requests regardless of how they were closed const result = await workflowApi.listClosedByMe({ page, limit: itemsPerPage, search: filters?.search, - status: statusFilter && statusFilter !== 'all' ? statusFilter : undefined, + status: filters?.status && filters.status !== 'all' ? filters.status : undefined, priority: filters?.priority, sortBy: filters?.sortBy, sortOrder: filters?.sortOrder diff --git a/src/services/userApi.ts b/src/services/userApi.ts index ae620ad..f867c69 100644 --- a/src/services/userApi.ts +++ b/src/services/userApi.ts @@ -64,33 +64,14 @@ export async function ensureUserExists(userData: { * Assign role to user (creates user if doesn't exist) * @param email - User email * @param role - Role to assign - * @param userData - Optional full user data from Okta search (to capture all fields) */ export async function assignRole( email: string, - role: 'USER' | 'MANAGEMENT' | 'ADMIN', - userData?: UserSummary + role: 'USER' | 'MANAGEMENT' | 'ADMIN' ) { return await apiClient.post('/admin/users/assign-role', { email, - role, - userData: userData ? { - userId: userData.userId, - email: userData.email, - displayName: userData.displayName, - firstName: userData.firstName, - lastName: userData.lastName, - department: userData.department, - phone: userData.phone, - mobilePhone: userData.mobilePhone, - designation: userData.designation, - jobTitle: userData.jobTitle, - manager: userData.manager, - employeeId: userData.employeeId, - employeeNumber: userData.employeeNumber, - secondEmail: userData.secondEmail, - location: userData.location - } : undefined + role }); }