import { createSearchParamsCache, parseAsArrayOf, parseAsInteger, parseAsString, parseAsStringEnum,parseAsBoolean } from "nuqs/server" import * as z from "zod" import { getFiltersStateParser, getSortingStateParser } from "@/lib/parsers" import { TbeSession } from "@/db/schema"; export const searchParamsTBELastCache = createSearchParamsCache({ // 1) 공통 플래그 flags: parseAsArrayOf(z.enum(["advancedTable", "floatingBar"])).withDefault([]), // 2) 페이지네이션 page: parseAsInteger.withDefault(1), perPage: parseAsInteger.withDefault(10), // 3) 정렬 (Rfq 테이블) // getSortingStateParser() → Rfq 테이블의 컬럼명에 맞춘 유효성 검사 sort: getSortingStateParser().withDefault([ { id: "createdAt", desc: true }, ]), // 6) 고급 필터 (nuqs - filterColumns) filters: getFiltersStateParser().withDefault([]), joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"), // 7) 글로벌 검색어 search: parseAsString.withDefault(""), }) export type GetTBELastSchema = Awaited>;