File name
Commit message
Commit date
08-14
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 };
}