/**
 * MSW Server Setup - Node.js 端 mock（用于 SSR + 测试）
 *
 * Next.js App Router 在服务端渲染时会调用 GraphQL（urql 支持 SSR），
 * 需要在服务端也启用 MSW 拦截。
 *
 * 维护者：ai13（teacher-portal）
 */

import { setupServer } from "msw/node";
import { handlers } from "./handlers";
import { p4Handlers } from "./handlers-p4";
import { p5Handlers } from "./handlers-p5";
import { p7Handlers } from "./handlers-p7-grades";
import { p7ExamsHandlers } from "./handlers-p7-exams";
import { p7AdminHandlers } from "./handlers-p7-admin";
import { p7InsightsHandlers } from "./handlers-p7-insights";
import { p7AdvancedHandlers } from "./handlers-p7-advanced";

// 顺序：先 P7（最新扩展）→ P4/P5 → 主 handlers（默认兜底）
// 每个 handler 内部未命中时返回 undefined 触发 MSW fallthrough 至下一个
export const server = setupServer(
  ...p7AdvancedHandlers,
  ...p7InsightsHandlers,
  ...p7AdminHandlers,
  ...p7ExamsHandlers,
  ...p7Handlers,
  ...p4Handlers,
  ...p5Handlers,
  ...handlers,
);
