Files
NextEdu/src/modules/dashboard/data-access.ts
SpecialX c45b3488c5 feat(admin): 补全 admin 模块核心功能与产品体验优化
修复 v4 报告中的 13 个产品体验问题:新增用户管理列表页和系统设置页,重组导航菜单并补充缺失入口,增加角色切换机制,Dashboard 增加快捷操作和 recharts 趋势图表,考勤增加统计概览,排课增加课表网格视图,统一 Toast 操作反馈,同步更新架构文档
2026-06-22 13:38:07 +08:00

50 lines
1.8 KiB
TypeScript

import "server-only"
import { cache } from "react"
import { getClassesDashboardStats } from "@/modules/classes/data-access"
import { getExamsDashboardStats } from "@/modules/exams/data-access"
import { getHomeworkDashboardStats } from "@/modules/homework/stats-service"
import { getQuestionsDashboardStats } from "@/modules/questions/data-access"
import { getTextbooksDashboardStats } from "@/modules/textbooks/data-access"
import { getUsersDashboardStats } from "@/modules/users/data-access"
import type { DataScope } from "@/shared/types/permissions"
import type { AdminDashboardData } from "./types"
export const getAdminDashboardData = cache(async (scope?: DataScope): Promise<AdminDashboardData> => {
const [
usersStats,
classesStats,
textbooksStats,
questionsStats,
examsStats,
homeworkStats,
] = await Promise.all([
getUsersDashboardStats(),
getClassesDashboardStats(),
getTextbooksDashboardStats(),
getQuestionsDashboardStats(),
getExamsDashboardStats(scope),
getHomeworkDashboardStats(scope),
])
return {
activeSessionsCount: usersStats.activeSessionsCount,
userCount: usersStats.userCount,
userRoleCounts: usersStats.userRoleCounts,
classCount: classesStats.classCount,
textbookCount: textbooksStats.textbookCount,
chapterCount: textbooksStats.chapterCount,
questionCount: questionsStats.questionCount,
examCount: examsStats.examCount,
homeworkAssignmentCount: homeworkStats.homeworkAssignmentCount,
homeworkAssignmentPublishedCount: homeworkStats.homeworkAssignmentPublishedCount,
homeworkSubmissionCount: homeworkStats.homeworkSubmissionCount,
homeworkSubmissionToGradeCount: homeworkStats.homeworkSubmissionToGradeCount,
recentUsers: usersStats.recentUsers,
userGrowth: [],
homeworkTrend: [],
}
})