feat(orders): 관리자가 출고완료(SHIPPED) 건도 수정 가능하도록 권한 확장
Deploy momo-erp / deploy (push) Successful in 5m18s
Deploy momo-erp / deploy (push) Successful in 5m18s
기존: REQUESTED 상태만 수정 가능 (admin/user 동일) 변경: - USER: REQUESTED 만 (기존 그대로) - ADMIN: PAID/CANCELED 가 아니면 모두 (REQUESTED / SHIPPED 등 입금완료 전까지) items/update, lines/save 두 API 동일 적용. 입금완료(PAID) 이후나 취소건은 admin 도 수정 불가. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,9 +39,17 @@ export async function POST(req: NextRequest) {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "권한이 없습니다." }, { status: 403 });
|
||||
}
|
||||
if (order.status !== "REQUESTED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "출고요청 상태에서만 수정할 수 있습니다." }, { status: 400 });
|
||||
// USER: REQUESTED 만, ADMIN: 입금완료(PAID)/취소 전까지 모두 (REQUESTED / SHIPPED 등)
|
||||
if (isAdmin) {
|
||||
if (order.status === "PAID" || order.status === "CANCELED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "입금완료 또는 취소된 발주는 수정할 수 없습니다." }, { status: 400 });
|
||||
}
|
||||
} else {
|
||||
if (order.status !== "REQUESTED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "출고요청 상태에서만 수정할 수 있습니다." }, { status: 400 });
|
||||
}
|
||||
}
|
||||
|
||||
for (const ln of lines) {
|
||||
|
||||
@@ -44,7 +44,13 @@ export async function POST(req: NextRequest) {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "권한이 없습니다." }, { status: 403 });
|
||||
}
|
||||
if (order.status !== "REQUESTED") {
|
||||
// USER: REQUESTED 만, ADMIN: 입금완료(PAID)/취소 전까지 모두
|
||||
if (isAdmin) {
|
||||
if (order.status === "PAID" || order.status === "CANCELED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "입금완료 또는 취소된 발주는 수정할 수 없습니다." }, { status: 400 });
|
||||
}
|
||||
} else if (order.status !== "REQUESTED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "출고 요청 상태에서만 수정할 수 있습니다." }, { status: 400 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user