diff --git a/frontend/app/features/PermissionsPage.tsx b/frontend/app/features/PermissionsPage.tsx
index 14f8c46..a7b8252 100644
--- a/frontend/app/features/PermissionsPage.tsx
+++ b/frontend/app/features/PermissionsPage.tsx
@@ -94,11 +94,14 @@ export function PermissionsPage({ notify }: { notify: (message: string) => void
finally { setBusy(false); }
}
- async function revoke(permissionId: number) {
+ async function revoke(permission: PermissionGrant) {
if (!resourceId) return;
+ const resourceLabel = resources.find((item) => String(item.id) === resourceId)?.label ?? resourceId;
+ const message = `${resourceType === "documents" ? "문서" : "컬렉션"} “${resourceLabel}”에서 ${targetLabel(permission)}의 ${permission.permissionType} 권한을 회수할까요?`;
+ if (!window.confirm(message)) return;
setBusy(true);
try {
- await apiRequest(`/permissions/${resourceType}/${resourceId}/${permissionId}`, { method: "DELETE" });
+ await apiRequest(`/permissions/${resourceType}/${resourceId}/${permission.permissionId}`, { method: "DELETE" });
notify("권한을 회수했습니다.");
await loadDirectPermissions();
} catch (reason) { setError(errorMessage(reason)); }
@@ -132,7 +135,7 @@ export function PermissionsPage({ notify }: { notify: (message: string) => void
{permissionsLoading ?