refactor: update token refresh logic and extend map interaction mode callback to support feature context
This commit is contained in:
@@ -36,6 +36,7 @@ import {
|
||||
} from "@/uhm/lib/map/geo/geometryTypeOptions";
|
||||
import {
|
||||
EntityFormState,
|
||||
EditorMode,
|
||||
GeometryMetaFormState,
|
||||
useEditorSessionState,
|
||||
} from "@/uhm/lib/editor/state/useEditorSessionState";
|
||||
|
||||
@@ -125,11 +125,11 @@ async function performRefreshAndRetry(originalRequest: any): Promise<AxiosRespon
|
||||
|
||||
const nextTokens = extractTokensFromResponsePayload(refreshRes?.data)
|
||||
if (nextTokens) setStoredTokens(nextTokens)
|
||||
// Some backends may return only a new access token; keep refresh token.
|
||||
// Some backends may return only a new access token.
|
||||
else {
|
||||
const maybeAccess = (refreshRes?.data?.data?.access_token ?? refreshRes?.data?.access_token) as unknown
|
||||
if (typeof maybeAccess === "string" && maybeAccess.trim()) {
|
||||
if (refreshToken) setStoredTokens({ access_token: maybeAccess, refresh_token: refreshToken })
|
||||
setStoredTokens({ access_token: maybeAccess })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ type UseMapInteractionProps = {
|
||||
allowGeometryEditing: boolean;
|
||||
selectedFeatureIds: (string | number)[];
|
||||
onSelectFeatureIdsRef: React.MutableRefObject<(ids: (string | number)[]) => void>;
|
||||
onSetModeRef: React.MutableRefObject<((mode: EditorMode) => void) | undefined>;
|
||||
onSetModeRef: React.MutableRefObject<((mode: EditorMode, featureId?: string | number) => void) | undefined>;
|
||||
onCreateRef: React.MutableRefObject<((feature: FeatureCollection["features"][number]) => void) | undefined>;
|
||||
onDeleteRef: React.MutableRefObject<((id: string | number) => void) | undefined>;
|
||||
onUpdateRef: React.MutableRefObject<((id: string | number, geometry: Geometry) => void) | undefined>;
|
||||
|
||||
Reference in New Issue
Block a user