Skip to content

Commit f446eed

Browse files
committed
Add a option to force currentUser update to getSessionCurrentUser
1 parent fce63a7 commit f446eed

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

packages/ts-api-react/src/SessionContext.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ export interface ContextInterface {
3434
/** Store given CurrentUser */
3535
storeCurrentUser: (currentUser: User) => void;
3636
/** Function to get the currentUser */
37-
getSessionCurrentUser: () => Promise<User | EmptyUser>;
37+
getSessionCurrentUser: (
38+
forceUpdateCurrentUser?: boolean
39+
) => Promise<User | EmptyUser>;
3840
}
3941

4042
interface SessionData {
@@ -204,10 +206,15 @@ const emptyCurrentUser: EmptyUser = {
204206
};
205207

206208
export const getSessionCurrentUser = async (
207-
_storage: StorageManager
209+
_storage: StorageManager,
210+
forceUpdateCurrentUser: boolean = false
208211
): Promise<User | EmptyUser> => {
209212
const isStale = _storage.safeGetValue(STALE_KEY);
210-
if (!(typeof isStale === "string") || !(isStale === "no")) {
213+
if (
214+
forceUpdateCurrentUser ||
215+
!(typeof isStale === "string") ||
216+
!(isStale === "no")
217+
) {
211218
// If the session is stale, we need to refresh it
212219
await updateCurrentUser(_storage);
213220
}
@@ -262,8 +269,8 @@ export const getSessionContext = (
262269
updateCurrentUser(_storage);
263270
};
264271

265-
const _getSessionCurrentUser = () => {
266-
return getSessionCurrentUser(_storage);
272+
const _getSessionCurrentUser = (forceUpdateCurrentUser: boolean = false) => {
273+
return getSessionCurrentUser(_storage, forceUpdateCurrentUser);
267274
};
268275

269276
if (typeof window !== "undefined") {

0 commit comments

Comments
 (0)