summaryrefslogtreecommitdiff
path: root/lib/evaluation-target-list/validation.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/evaluation-target-list/validation.ts')
-rw-r--r--lib/evaluation-target-list/validation.ts57
1 files changed, 21 insertions, 36 deletions
diff --git a/lib/evaluation-target-list/validation.ts b/lib/evaluation-target-list/validation.ts
index b8df250b..d37ca0ed 100644
--- a/lib/evaluation-target-list/validation.ts
+++ b/lib/evaluation-target-list/validation.ts
@@ -20,24 +20,15 @@ export const searchParamsEvaluationTargetsCache = createSearchParamsCache({
{ id: "createdAt", desc: true },
]),
- // 기본 필터들
- evaluationYear: parseAsInteger.withDefault(new Date().getFullYear()),
- division: parseAsString.withDefault(""),
- status: parseAsString.withDefault(""),
- domesticForeign: parseAsString.withDefault(""),
- materialType: parseAsString.withDefault(""),
- consensusStatus: parseAsString.withDefault(""),
-
- // 고급 필터
- filters: getFiltersStateParser().withDefault([]),
- joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"),
- // 베이직 필터 (커스텀 필터 패널용)
- basicFilters: getFiltersStateParser().withDefault([]),
- basicJoinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"),
+ filters: getFiltersStateParser().withDefault([]),
+ joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"),
+
// 검색
search: parseAsString.withDefault(""),
+ aggregated: z.boolean().default(false),
+
});
// ============= 타입 정의 =============
@@ -46,7 +37,6 @@ export type GetEvaluationTargetsSchema = Awaited<
ReturnType<typeof searchParamsEvaluationTargetsCache.parse>
>;
-
// ============= 필터 옵션 상수들 =============
export const EVALUATION_TARGET_FILTER_OPTIONS = {
@@ -64,9 +54,8 @@ export const EVALUATION_TARGET_FILTER_OPTIONS = {
{ value: "FOREIGN", label: "외자" },
],
MATERIAL_TYPES: [
- { value: "EQUIPMENT", label: "기자재" },
+ { value: "EQUIPMENT", label: "장비재" },
{ value: "BULK", label: "벌크" },
- { value: "EQUIPMENT_BULK", label: "기자재/벌크" },
],
CONSENSUS_STATUS: [
{ value: "true", label: "의견 일치" },
@@ -104,25 +93,6 @@ export function getDefaultEvaluationYear(): number {
return new Date().getFullYear();
}
-export function getDefaultSearchParams(): GetEvaluationTargetsSchema {
- return {
- flags: [],
- page: 1,
- perPage: 10,
- sort: [{ id: "createdAt", desc: true }],
- evaluationYear: getDefaultEvaluationYear(),
- division: "",
- status: "",
- domesticForeign: "",
- materialType: "",
- consensusStatus: "",
- filters: [],
- joinOperator: "and",
- basicFilters: [],
- basicJoinOperator: "and",
- search: "",
- };
-}
// ============= 편의 함수들 =============
@@ -151,3 +121,18 @@ export function getDomesticForeignLabel(domesticForeign: DomesticForeign): strin
return domesticForeignMap[domesticForeign] || domesticForeign;
}
+// ✅ 디버깅용 로그 함수 추가
+export function logSearchParams(searchParams: any, source: string) {
+ console.log(`=== ${source} - SearchParams ===`);
+ console.log("Raw filters:", searchParams.filters);
+ console.log("Raw joinOperator:", searchParams.joinOperator);
+
+ if (typeof searchParams.filters === 'string') {
+ try {
+ const parsed = JSON.parse(searchParams.filters);
+ console.log("Parsed filters:", parsed);
+ } catch (e) {
+ console.error("Filter parsing error:", e);
+ }
+ }
+} \ No newline at end of file