Skip to content
Snippets Groups Projects
Commit 6a460085 authored by Max Frederiksen's avatar Max Frederiksen Committed by Max Frederiksen
Browse files

Add typing: /src/api

parent 427a788c
No related branches found
No related tags found
2 merge requests!612Release 5.0.0,!590CE-3429: Convert to typescript
import { useCallback, useEffect, useState } from "react";
import { useCallback, useEffect, useState, type ReactNode } from "react";
import { userContext } from "@ess-ics/ce-ui-common";
import {
useLoginMutation,
useLogoutMutation,
useInfoFromUserNameQuery,
useGetUserRolesQuery
useGetUserRolesQuery,
InfoFromUserNameApiResponse,
GetUserRolesApiResponse
} from "../store/deployApi";
import { getErrorState } from "../components/common/Alerts/AlertsData";
export function UserProvider({ children }) {
const [user, setUser] = useState(null);
const [userRoles, setUserRoles] = useState([]);
export function UserProvider({ children }: { children: ReactNode }) {
const [user, setUser] = useState<InfoFromUserNameApiResponse | undefined>(
undefined
);
const [userRoles, setUserRoles] = useState<
GetUserRolesApiResponse | undefined
>(undefined);
const [
callLogin,
......@@ -22,18 +29,16 @@ export function UserProvider({ children }) {
] = useLoginMutation();
const [callLogout, { isLoading: logoutLoading }] = useLogoutMutation();
const { data: userResponse, isLoading: userLoading } =
useInfoFromUserNameQuery({
skip: !loginResponse
});
useInfoFromUserNameQuery({}, { skip: !loginResponse });
const { data: userRolesResponse, isLoading: userRolesLoading } =
useGetUserRolesQuery({ skip: !loginResponse });
useGetUserRolesQuery(undefined, { skip: !loginResponse });
const initialized = Boolean(
!loginLoading || !logoutLoading || !userLoading || !userRolesLoading
);
const login = useCallback(
(username, password) => {
(username: string, password: string) => {
callLogin({ login: { userName: username, password } });
},
[callLogin]
......@@ -46,8 +51,8 @@ export function UserProvider({ children }) {
const logout = useCallback(() => {
callLogout();
setUser(null);
setUserRoles([]);
setUser(undefined);
setUserRoles(undefined);
}, [callLogout, setUser, setUserRoles]);
return (
......@@ -57,7 +62,7 @@ export function UserProvider({ children }) {
user,
userRoles,
login,
loginError: loginError?.data?.description,
loginError: getErrorState(loginError).message,
logout,
resetLoginError: resetLogin
}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment