docs: 全文档合规检查与修正 - 代码示例规范/行数准确性/路径一致性/状态同步
This commit is contained in:
@@ -491,13 +491,13 @@ async function resolveDataScope(userId: string, roleNames: string[]): Promise<Da
|
||||
export function applyDataScope(
|
||||
scope: DataScope,
|
||||
options: {
|
||||
creatorIdField?: any // 如 exams.creatorId
|
||||
classIdField?: any // 如 classes.id
|
||||
gradeIdField?: any // 如 grades.id
|
||||
studentIdField?: any // 如 classEnrollments.studentId
|
||||
creatorIdField?: unknown // 如 exams.creatorId
|
||||
classIdField?: unknown // 如 classes.id
|
||||
gradeIdField?: unknown // 如 grades.id
|
||||
studentIdField?: unknown // 如 classEnrollments.studentId
|
||||
}
|
||||
): any[] {
|
||||
const conditions: any[] = []
|
||||
): unknown[] {
|
||||
const conditions: unknown[] = []
|
||||
|
||||
switch (scope.type) {
|
||||
case "all":
|
||||
@@ -538,7 +538,14 @@ export { PermissionDeniedError }
|
||||
import { useSession } from "next-auth/react"
|
||||
import type { Permission } from "@/shared/types/permissions"
|
||||
|
||||
export function usePermission() {
|
||||
export function usePermission(): {
|
||||
permissions: Permission[]
|
||||
roles: string[]
|
||||
hasPermission: (permission: Permission) => boolean
|
||||
hasAnyPermission: (...perms: Permission[]) => boolean
|
||||
hasAllPermissions: (...perms: Permission[]) => boolean
|
||||
hasRole: (role: string) => boolean
|
||||
} {
|
||||
const { data: session } = useSession()
|
||||
const permissions = session?.user?.permissions ?? []
|
||||
const roles = session?.user?.roles ?? []
|
||||
@@ -581,7 +588,7 @@ export async function deleteExamAction(prevState, formData) {
|
||||
import { requirePermission, getAuthContext, PermissionDeniedError } from "@/shared/lib/auth-guard"
|
||||
import { Permissions } from "@/shared/types/permissions"
|
||||
|
||||
export async function deleteExamAction(prevState, formData) {
|
||||
export async function deleteExamAction(prevState, formData): Promise<ActionState> {
|
||||
try {
|
||||
const ctx = await requirePermission(Permissions.EXAM_DELETE)
|
||||
const { examId } = parsed.data
|
||||
@@ -657,7 +664,7 @@ const API_PERMISSIONS: Record<string, string> = {
|
||||
"/api/onboarding": "auth_required", // 特殊标记:仅需登录
|
||||
}
|
||||
|
||||
export async function middleware(request: NextRequest) {
|
||||
export async function middleware(request: NextRequest): Promise<NextResponse> {
|
||||
const token = await getToken({ req: request })
|
||||
|
||||
if (!token) {
|
||||
@@ -805,7 +812,7 @@ export async function createExamAction(prevState, formData) {
|
||||
#### 改造后 — createExamAction
|
||||
|
||||
```typescript
|
||||
export async function createExamAction(prevState, formData) {
|
||||
export async function createExamAction(prevState, formData): Promise<ActionState> {
|
||||
let ctx: AuthContext
|
||||
try {
|
||||
ctx = await requirePermission(Permissions.EXAM_CREATE)
|
||||
@@ -841,7 +848,7 @@ export async function deleteExamAction(prevState, formData) {
|
||||
#### 改造后 — deleteExamAction
|
||||
|
||||
```typescript
|
||||
export async function deleteExamAction(prevState, formData) {
|
||||
export async function deleteExamAction(prevState, formData): Promise<ActionState> {
|
||||
let ctx: AuthContext
|
||||
try {
|
||||
ctx = await requirePermission(Permissions.EXAM_DELETE)
|
||||
|
||||
Reference in New Issue
Block a user