-- DOC-01: Sitzungszustand fuer fortsetzbaren Upload (Akzeptanzkriterium 1). -- Ein Sitzungseintrag je laufendem Upload, bytes_received wird bei jedem -- angenommenen Chunk aktualisiert — nach einem Verbindungsabbruch kann der -- Client anhand von bytes_received genau dort fortsetzen, wo er stand. CREATE TABLE upload_sessions ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), filename TEXT NOT NULL, mime_type TEXT NOT NULL, total_size BIGINT NOT NULL CHECK (total_size > 0), bytes_received BIGINT NOT NULL DEFAULT 0 CHECK (bytes_received >= 0), folder_id UUID REFERENCES folders(id) ON DELETE SET NULL, created_by UUID NOT NULL REFERENCES users(id), status TEXT NOT NULL DEFAULT 'uploading' CHECK (status IN ('uploading', 'completed', 'aborted')), document_id UUID REFERENCES documents(id), created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() );