+ )
+}
+
+function ObjectPoliciesTable({
+ obj,
+ onAddPolicy,
+ onEditPolicy,
+}: {
+ obj: ObjectSnapshotSummary
+ onAddPolicy: () => void
+ onEditPolicy: (p: PolicySnapshotStatus) => void
+}) {
+ const deleteMutation = useDeleteSnapshotPolicy(obj.object_id)
+ const collectMutation = useCollectPolicy(obj.object_id)
+
+ const handleCollect = async (policyId: number) => {
+ try {
+ const result = await collectMutation.mutateAsync(policyId)
+ message.success(`Задача создана: ${result.task_id.slice(0, 8)}...`)
+ } catch {
+ message.error('Ошибка при запуске сбора')
+ }
+ }
+
+ const handleDelete = async (policyId: number) => {
+ try {
+ await deleteMutation.mutateAsync(policyId)
+ message.success('Политика удалена')
+ } catch {
+ message.error('Ошибка при удалении')
+ }
+ }
+
+ const columns: ColumnsType