refactor: update token refresh logic and extend map interaction mode callback to support feature context

This commit is contained in:
taDuc
2026-05-14 17:34:31 +07:00
parent 494195c532
commit dca3ca67ad
4 changed files with 41 additions and 20 deletions
+1
View File
@@ -36,6 +36,7 @@ import {
} from "@/uhm/lib/map/geo/geometryTypeOptions";
import {
EntityFormState,
EditorMode,
GeometryMetaFormState,
useEditorSessionState,
} from "@/uhm/lib/editor/state/useEditorSessionState";
+2 -2
View File
@@ -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 })
}
}
+1 -1
View File
@@ -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>;