DROP VIEW "public"."document_stages_view";--> statement-breakpoint CREATE VIEW "public"."document_stages_view" AS ( SELECT d.id AS document_id, d.doc_number, d.title, d.status, d.issued_date, d.contract_id, ( SELECT COUNT(*) FROM issue_stages WHERE document_id = d.id ) AS stage_count, COALESCE( ( SELECT json_agg(i.stage_name) FROM issue_stages i WHERE i.document_id = d.id ), '[]' ) AS stage_list, d.created_at, d.updated_at FROM documents d );