File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
'use server';
import { verifySession } from '@/lib/auth/dal';
export type UpdateStudentActiveStatusState =
| { status: 'idle' }
| { status: 'error'; error: string }
| { status: 'success' };
const UNSUPPORTED_ERROR =
'사용여부 변경은 아직 제공되지 않습니다. (백엔드 API 준비 중)';
/**
* 학생 회원 사용여부 변경 Server Action — **현재는 미지원 상태의 이식 지점**이다.
*
* 목록이 백엔드 API(`GET /api/v1/mngr/user/pagination`)로 전환되면서 이 화면의 데이터 원천은
* 백엔드가 됐지만, 사용여부는 **조회 응답에 값도 없고 변경 API도 없다.** 이전의 mock 쓰기를
* 그대로 두면 mock 배열에만 존재하는 id를 찾다가 "존재하지 않는 학생 회원" 오류가 나므로
* (목록의 id는 이제 백엔드 `userId`다) 쓰기 경로를 명시적으로 막았다. 팝업의 사용여부 라디오와
* 저장 버튼도 같은 이유로 비활성이다.
*
* 변경 API가 생기면 `formData: FormData` 인자를 되살리고 본문을 "입력 검증 → Repository 호출
* → `revalidatePath`"로 되돌리면 된다(지금은 읽을 입력이 없어 인자를 받지 않는다 — 인자를
* 줄여도 `useActionState`의 호출 규약에는 어긋나지 않는다). 인증 확인을 본문 맨 앞에 남겨 둔
* 것도 그 형태를 유지하기 위함이다 — Server Action은 UI를 거치지 않고 직접 POST될 수 있어
* 이 확인이 유일한 최종 방어선이다.
*/
export async function updateStudentActiveStatus(
_prevState: UpdateStudentActiveStatusState
): Promise<UpdateStudentActiveStatusState> {
await verifySession();
return { status: 'error', error: UNSUPPORTED_ERROR };
}