@@ -34,7 +34,9 @@ export interface ContextInterface {
34
34
/** Store given CurrentUser */
35
35
storeCurrentUser : ( currentUser : User ) => void ;
36
36
/** Function to get the currentUser */
37
- getSessionCurrentUser : ( ) => Promise < User | EmptyUser > ;
37
+ getSessionCurrentUser : (
38
+ forceUpdateCurrentUser ?: boolean
39
+ ) => Promise < User | EmptyUser > ;
38
40
}
39
41
40
42
interface SessionData {
@@ -204,10 +206,10 @@ const emptyCurrentUser: EmptyUser = {
204
206
} ;
205
207
206
208
export const getSessionCurrentUser = async (
207
- _storage : StorageManager
209
+ _storage : StorageManager ,
210
+ forceUpdateCurrentUser : boolean = false
208
211
) : Promise < User | EmptyUser > => {
209
- const isStale = _storage . safeGetValue ( STALE_KEY ) ;
210
- if ( ! ( typeof isStale === "string" ) || ! ( isStale === "no" ) ) {
212
+ if ( forceUpdateCurrentUser || _storage . safeGetValue ( STALE_KEY ) === "yes" ) {
211
213
// If the session is stale, we need to refresh it
212
214
await updateCurrentUser ( _storage ) ;
213
215
}
@@ -262,8 +264,8 @@ export const getSessionContext = (
262
264
updateCurrentUser ( _storage ) ;
263
265
} ;
264
266
265
- const _getSessionCurrentUser = ( ) => {
266
- return getSessionCurrentUser ( _storage ) ;
267
+ const _getSessionCurrentUser = ( forceUpdateCurrentUser : boolean = false ) => {
268
+ return getSessionCurrentUser ( _storage , forceUpdateCurrentUser ) ;
267
269
} ;
268
270
269
271
if ( typeof window !== "undefined" ) {
0 commit comments