@@ -14,21 +14,19 @@ import { requests } from '../../utilities/api.js'
14
14
import { formatAdminURL } from '../../utilities/formatAdminURL.js'
15
15
import { useConfig } from '../Config/index.js'
16
16
17
- export type UserResponse = MeOperationResult | null
18
-
19
- export type AuthContext = {
17
+ export type AuthContext < T = ClientUser > = {
20
18
fetchFullUser : ( ) => Promise < null | User >
21
19
logOut : ( ) => Promise < boolean >
22
20
permissions ?: Permissions
23
21
refreshCookie : ( forceRefresh ?: boolean ) => void
24
22
refreshCookieAsync : ( ) => Promise < ClientUser >
25
23
refreshPermissions : ( ) => Promise < void >
26
24
setPermissions : ( permissions : Permissions ) => void
27
- setUser : ( user : UserResponse ) => void
25
+ setUser : ( user : MeOperationResult | null ) => void
28
26
strategy ?: string
29
27
token ?: string
30
28
tokenExpiration ?: number
31
- user ?: null | UserResponse [ 'user' ]
29
+ user ?: null | T
32
30
}
33
31
34
32
const Context = createContext ( { } as AuthContext )
@@ -99,7 +97,7 @@ export function AuthProvider({
99
97
} , [ ] )
100
98
101
99
const setNewUser = useCallback (
102
- ( userResponse : UserResponse ) => {
100
+ ( userResponse : MeOperationResult | null ) => {
103
101
if ( userResponse ?. user ) {
104
102
setUserInMemory ( userResponse . user )
105
103
setTokenInMemory ( userResponse . token )
@@ -325,4 +323,4 @@ export function AuthProvider({
325
323
)
326
324
}
327
325
328
- export const useAuth = ( ) : AuthContext => useContext ( Context )
326
+ export const useAuth = < T = ClientUser , > ( ) : AuthContext < T > => useContext ( Context ) as AuthContext < T >
0 commit comments