fix: add missing deleted_at columns to all plugin tables, fix system-settings response schema, fix transaction rollback in permissions

This commit is contained in:
Agent Zero
2026-07-24 10:34:38 +02:00
parent ecab11c19a
commit eaa71780d4
14 changed files with 96 additions and 16 deletions
@@ -46,7 +46,10 @@ CREATE TABLE IF NOT EXISTS calendar_entry_links (
tenant_id UUID NOT NULL,
entry_id UUID REFERENCES calendar_entries(id) ON DELETE CASCADE,
entity_type VARCHAR(50) NOT NULL,
entity_id UUID NOT NULL
entity_id UUID NOT NULL,
deleted_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_entry_links_entry ON calendar_entry_links(entry_id);
@@ -56,7 +59,10 @@ CREATE TABLE IF NOT EXISTS calendar_shares (
calendar_id UUID REFERENCES calendars(id) ON DELETE CASCADE,
user_id UUID,
group_id UUID,
permission VARCHAR(10) NOT NULL
permission VARCHAR(10) NOT NULL,
deleted_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_calendar_shares_cal ON calendar_shares(calendar_id);
@@ -74,7 +80,9 @@ CREATE TABLE IF NOT EXISTS subtasks (
entry_id UUID REFERENCES calendar_entries(id) ON DELETE CASCADE,
title VARCHAR(500) NOT NULL,
completed BOOLEAN DEFAULT false,
created_at TIMESTAMPTZ DEFAULT NOW()
deleted_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_subtasks_entry ON subtasks(entry_id);
@@ -82,7 +90,10 @@ CREATE TABLE IF NOT EXISTS resources (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id UUID NOT NULL,
name VARCHAR(200) NOT NULL,
type VARCHAR(50) NOT NULL
type VARCHAR(50) NOT NULL,
deleted_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_resources_tenant ON resources(tenant_id);
@@ -92,7 +103,10 @@ CREATE TABLE IF NOT EXISTS resource_bookings (
resource_id UUID REFERENCES resources(id) ON DELETE CASCADE,
entry_id UUID REFERENCES calendar_entries(id) ON DELETE CASCADE,
start_at TIMESTAMPTZ NOT NULL,
end_at TIMESTAMPTZ NOT NULL
end_at TIMESTAMPTZ NOT NULL,
deleted_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_bookings_resource ON resource_bookings(resource_id);
CREATE INDEX IF NOT EXISTS idx_bookings_entry ON resource_bookings(entry_id);
@@ -0,0 +1,17 @@
-- Fix: CalendarEntryLink, CalendarShare, Subtask, Resource, ResourceBooking inherit TenantMixin -> SoftDeleteMixin (deleted_at)
-- Migration 0001 only added deleted_at to calendars and calendar_entries
ALTER TABLE calendar_entry_links ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
ALTER TABLE calendar_shares ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
ALTER TABLE subtasks ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
ALTER TABLE resources ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
ALTER TABLE resource_bookings ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
-- Also add missing created_at/updated_at for tables that lacked them
ALTER TABLE calendar_entry_links ADD COLUMN IF NOT EXISTS created_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE calendar_entry_links ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE calendar_shares ADD COLUMN IF NOT EXISTS created_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE calendar_shares ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE subtasks ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE resources ADD COLUMN IF NOT EXISTS created_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE resources ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE resource_bookings ADD COLUMN IF NOT EXISTS created_at TIMESTAMPTZ DEFAULT NOW();
ALTER TABLE resource_bookings ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ DEFAULT NOW();