Files
Edu/apps/portal-shell/src/lib/api/operations/universal.graphql.ts
SpecialX 98058eb16b feat(portal-shell): wire dashboards to real data-ana queries (P1-2)
- add dashboard.graphql.ts with 6 real aggregate queries
  (teacherDashboard / studentDashboard / parentDashboard /
   adminDashboard / warnings / errorBookStats), snake_case aligned
- add dashboard.ts with 6 hooks + full domain model types
- add 4 role dashboard pages (teacher/student/parent/admin)
  using DashboardShell + StatCard + DashboardSection with
  loading / error / success tri-state
- update [[...route]]/page.tsx to redirect /shell -> /shell/{role}
- retire 6 fake contract queries and hooks (grades/homeworks/
  schedule/attendance/exams/announcements) and mark widget
  placeholders as migrated
- update universal.test.ts to drop retired hook tests
- mark ARCHITECTURE.md P1-2 as completed with acceptance evidence
2026-07-22 12:33:22 +08:00

28 lines
975 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Universal domain GraphQL documents
// Extracted from widgets/universal/*/index.tsx
// Related: spec section 2.2
//
// P1-2ARCHITECTURE.md §106 个假契约查询已下线grades/homeworks/
// schedule/attendance/exams/announcements root 字段在后端 schema 不存在)。
// 仪表盘改用 data-ana 的真实聚合查询dashboard.graphql.ts
// 仅保留 notifications查询真实字段 notifications(userId),形状待 P1-7 修正)。
import { gql } from "@apollo/client";
// From widgets/universal/notifications-widget
// 注意notifications(userId) 返回平铺数组,非 {items, total} 包装。
// 形状修正待 P1-7codegen 恢复后统一处理)。
export const GET_NOTIFICATIONS_LIST_DOC = gql`
query GetNotificationsList($limit: Int, $offset: Int) {
notifications(limit: $limit, offset: $offset) {
items {
id
title
body
createdAt
type
}
total
}
}
`;