feat(core-edu): 完整实现 core-edu 教学核心服务
包含 classes/exams/homework/grades/attendance/scheduling 域、outbox、iam-consumer、redis 配置等完整实现
This commit is contained in:
@@ -9,16 +9,35 @@ import { PermissionDeniedError } from "../shared/errors/application-error.js";
|
||||
import type { AuthenticatedRequest } from "./auth.middleware.js";
|
||||
|
||||
export const Permissions = {
|
||||
// Exam permissions
|
||||
EXAM_CREATE: "CORE_EDU_EXAM_CREATE" as const,
|
||||
EXAM_READ: "CORE_EDU_EXAM_READ" as const,
|
||||
EXAM_UPDATE: "CORE_EDU_EXAM_UPDATE" as const,
|
||||
EXAM_DELETE: "CORE_EDU_EXAM_DELETE" as const,
|
||||
EXAM_PUBLISH: "CORE_EDU_EXAM_PUBLISH" as const,
|
||||
EXAM_SUBMIT: "CORE_EDU_EXAM_SUBMIT" as const,
|
||||
EXAM_GRADE: "CORE_EDU_EXAM_GRADE" as const,
|
||||
// Homework permissions
|
||||
HOMEWORK_CREATE: "CORE_EDU_HOMEWORK_CREATE" as const,
|
||||
HOMEWORK_READ: "CORE_EDU_HOMEWORK_READ" as const,
|
||||
HOMEWORK_UPDATE: "CORE_EDU_HOMEWORK_UPDATE" as const,
|
||||
HOMEWORK_SUBMIT: "CORE_EDU_HOMEWORK_SUBMIT" as const,
|
||||
HOMEWORK_GRADE: "CORE_EDU_HOMEWORK_GRADE" as const,
|
||||
// Grade permissions
|
||||
GRADE_CREATE: "CORE_EDU_GRADE_CREATE" as const,
|
||||
GRADE_READ: "CORE_EDU_GRADE_READ" as const,
|
||||
GRADE_UPDATE: "CORE_EDU_GRADE_UPDATE" as const,
|
||||
// Attendance permissions
|
||||
ATTENDANCE_CREATE: "CORE_EDU_ATTENDANCE_CREATE" as const,
|
||||
ATTENDANCE_READ: "CORE_EDU_ATTENDANCE_READ" as const,
|
||||
// Class permissions
|
||||
CLASS_READ: "CORE_EDU_CLASS_READ" as const,
|
||||
// Course permissions
|
||||
COURSE_CREATE: "CORE_EDU_COURSE_CREATE" as const,
|
||||
COURSE_READ: "CORE_EDU_COURSE_READ" as const,
|
||||
// Schedule permissions
|
||||
SCHEDULE_CREATE: "CORE_EDU_SCHEDULE_CREATE" as const,
|
||||
SCHEDULE_READ: "CORE_EDU_SCHEDULE_READ" as const,
|
||||
} as const;
|
||||
|
||||
export type Permission = (typeof Permissions)[keyof typeof Permissions];
|
||||
@@ -33,29 +52,56 @@ const ROLE_PERMISSIONS: Record<string, Permission[]> = {
|
||||
Permissions.EXAM_READ,
|
||||
Permissions.EXAM_UPDATE,
|
||||
Permissions.EXAM_DELETE,
|
||||
Permissions.EXAM_PUBLISH,
|
||||
Permissions.EXAM_SUBMIT,
|
||||
Permissions.EXAM_GRADE,
|
||||
Permissions.HOMEWORK_CREATE,
|
||||
Permissions.HOMEWORK_READ,
|
||||
Permissions.HOMEWORK_UPDATE,
|
||||
Permissions.HOMEWORK_SUBMIT,
|
||||
Permissions.HOMEWORK_GRADE,
|
||||
Permissions.GRADE_CREATE,
|
||||
Permissions.GRADE_READ,
|
||||
Permissions.GRADE_UPDATE,
|
||||
Permissions.ATTENDANCE_CREATE,
|
||||
Permissions.ATTENDANCE_READ,
|
||||
Permissions.CLASS_READ,
|
||||
Permissions.COURSE_CREATE,
|
||||
Permissions.COURSE_READ,
|
||||
Permissions.SCHEDULE_CREATE,
|
||||
Permissions.SCHEDULE_READ,
|
||||
],
|
||||
teacher: [
|
||||
Permissions.EXAM_CREATE,
|
||||
Permissions.EXAM_READ,
|
||||
Permissions.EXAM_UPDATE,
|
||||
Permissions.EXAM_PUBLISH,
|
||||
Permissions.EXAM_GRADE,
|
||||
Permissions.HOMEWORK_CREATE,
|
||||
Permissions.HOMEWORK_READ,
|
||||
Permissions.HOMEWORK_UPDATE,
|
||||
Permissions.HOMEWORK_SUBMIT,
|
||||
Permissions.HOMEWORK_GRADE,
|
||||
Permissions.GRADE_CREATE,
|
||||
Permissions.GRADE_READ,
|
||||
Permissions.GRADE_UPDATE,
|
||||
Permissions.ATTENDANCE_CREATE,
|
||||
Permissions.ATTENDANCE_READ,
|
||||
Permissions.CLASS_READ,
|
||||
Permissions.COURSE_CREATE,
|
||||
Permissions.COURSE_READ,
|
||||
Permissions.SCHEDULE_CREATE,
|
||||
Permissions.SCHEDULE_READ,
|
||||
],
|
||||
student: [
|
||||
Permissions.EXAM_READ,
|
||||
Permissions.EXAM_SUBMIT,
|
||||
Permissions.HOMEWORK_READ,
|
||||
Permissions.HOMEWORK_SUBMIT,
|
||||
Permissions.GRADE_READ,
|
||||
Permissions.ATTENDANCE_READ,
|
||||
Permissions.CLASS_READ,
|
||||
Permissions.COURSE_READ,
|
||||
Permissions.SCHEDULE_READ,
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user