deduplicate task parsing and masking helpers
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
import { getAgisoShopConfig } from '../platforms/agiso/shop-config-service.js'
|
||||
import { safeParseJson } from './admin-query-utils.js'
|
||||
import { normalizeAdminRole } from './admin-auth-service.js'
|
||||
import {
|
||||
parseTaskContext as parseTaskContextValue,
|
||||
parseTaskState as parseTaskStateValue,
|
||||
} from '../../utils/task-json.js'
|
||||
|
||||
import type { AdminViewerSessionInput } from '../../types/admin-read-inputs.js'
|
||||
import type { OrderItemRow, TaskRow } from '../../types/repository-rows.js'
|
||||
@@ -227,39 +231,11 @@ export function resolveDisplayShopName(provider: unknown, shopId: unknown, shopN
|
||||
}
|
||||
|
||||
export function parseTaskContext(task: TaskLike | null | undefined): JsonRecord {
|
||||
const value = task?.context_json
|
||||
|
||||
if (!value) {
|
||||
return {}
|
||||
}
|
||||
|
||||
if (typeof value === 'object') {
|
||||
return value
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(String(value || '{}'))
|
||||
} catch {
|
||||
return {}
|
||||
}
|
||||
return parseTaskContextValue(task)
|
||||
}
|
||||
|
||||
export function parseTaskState(task: TaskLike | null | undefined): JsonRecord {
|
||||
const value = task?.state_json
|
||||
|
||||
if (!value) {
|
||||
return {}
|
||||
}
|
||||
|
||||
if (typeof value === 'object') {
|
||||
return value
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(String(value || '{}'))
|
||||
} catch {
|
||||
return {}
|
||||
}
|
||||
return parseTaskStateValue(task)
|
||||
}
|
||||
|
||||
export function resolveOrderItemTitle(item: Partial<OrderItemRow> | null | undefined): string {
|
||||
|
||||
Reference in New Issue
Block a user