| 1 | CREATE TABLE erased_subjects (id TEXT PRIMARY KEY, kind TEXT NOT NULL); |
| 2 | CREATE TABLE purge_documents (subject_id TEXT NOT NULL, kind TEXT NOT NULL, document_id TEXT NOT NULL, PRIMARY KEY(subject_id, kind, document_id)); |
| 3 | |
| 4 | CREATE TABLE erased_documents (id TEXT PRIMARY KEY, kind TEXT NOT NULL); |
| 5 | CREATE TRIGGER erased_spaces BEFORE INSERT ON spaces WHEN EXISTS ( |
| 6 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 7 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 8 | CREATE TRIGGER erased_pages BEFORE INSERT ON pages WHEN EXISTS ( |
| 9 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 10 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 11 | CREATE TRIGGER erased_folios BEFORE INSERT ON folios WHEN EXISTS ( |
| 12 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 13 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 14 | CREATE TRIGGER erased_files BEFORE INSERT ON files WHEN EXISTS ( |
| 15 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 16 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 17 | CREATE TRIGGER erased_folio_files BEFORE INSERT ON folio_files WHEN EXISTS ( |
| 18 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 19 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 20 | CREATE TRIGGER erased_templates BEFORE INSERT ON templates WHEN EXISTS ( |
| 21 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 22 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 23 | CREATE TRIGGER erased_folio_templates BEFORE INSERT ON folio_templates WHEN EXISTS ( |
| 24 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 25 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 26 | CREATE TRIGGER erased_doc_chunks BEFORE INSERT ON doc_chunks WHEN EXISTS ( |
| 27 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 28 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 29 | CREATE TRIGGER erased_folio_chunks BEFORE INSERT ON folio_chunks WHEN EXISTS ( |
| 30 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 31 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 32 | CREATE TRIGGER erased_repo_spaces BEFORE INSERT ON repo_spaces WHEN EXISTS ( |
| 33 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 34 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 35 | CREATE TRIGGER erased_doc_embed_usage BEFORE INSERT ON doc_embed_usage WHEN EXISTS ( |
| 36 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 37 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 38 | CREATE TRIGGER erased_doc_index_runs BEFORE INSERT ON doc_index_runs WHEN EXISTS ( |
| 39 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 40 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 41 | CREATE TRIGGER erased_workspace_billing BEFORE INSERT ON workspace_billing WHEN EXISTS ( |
| 42 | SELECT 1 FROM erased_subjects WHERE kind = 'workspace' AND id = NEW.workspace_id |
| 43 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 44 | CREATE TRIGGER erased_document_files BEFORE INSERT ON files WHEN EXISTS ( |
| 45 | SELECT 1 FROM erased_documents WHERE id = NEW.page_id AND kind = 'page' |
| 46 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 47 | CREATE TRIGGER erased_document_folio_files BEFORE INSERT ON folio_files WHEN EXISTS ( |
| 48 | SELECT 1 FROM erased_documents WHERE id = NEW.folio_id AND kind = 'folio' |
| 49 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 50 | CREATE TRIGGER erased_document_doc_chunks BEFORE INSERT ON doc_chunks WHEN EXISTS ( |
| 51 | SELECT 1 FROM erased_documents WHERE id = NEW.page_id AND kind = 'page' |
| 52 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 53 | CREATE TRIGGER erased_document_folio_chunks BEFORE INSERT ON folio_chunks WHEN EXISTS ( |
| 54 | SELECT 1 FROM erased_documents WHERE id = NEW.folio_id AND kind = 'folio' |
| 55 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 56 | |
| 57 | CREATE TABLE purge_access (subject_id TEXT NOT NULL, kind TEXT NOT NULL, document_id TEXT NOT NULL, done INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(subject_id, kind, document_id)); |
| 58 | CREATE TRIGGER erased_author_spaces BEFORE INSERT ON spaces WHEN EXISTS ( |
| 59 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 60 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 61 | CREATE TRIGGER erased_author_pages BEFORE INSERT ON pages WHEN EXISTS ( |
| 62 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 63 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 64 | CREATE TRIGGER erased_author_folios BEFORE INSERT ON folios WHEN EXISTS ( |
| 65 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 66 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 67 | CREATE TRIGGER erased_author_files BEFORE INSERT ON files WHEN EXISTS ( |
| 68 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 69 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 70 | CREATE TRIGGER erased_author_folio_files BEFORE INSERT ON folio_files WHEN EXISTS ( |
| 71 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 72 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 73 | CREATE TRIGGER erased_author_templates BEFORE INSERT ON templates WHEN EXISTS ( |
| 74 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 75 | ) BEGIN SELECT RAISE(IGNORE); END; |
| 76 | CREATE TRIGGER erased_author_folio_templates BEFORE INSERT ON folio_templates WHEN EXISTS ( |
| 77 | SELECT 1 FROM erased_subjects WHERE kind = 'user' AND 'user:' || id = NEW.created_by |
| 78 | ) BEGIN SELECT RAISE(IGNORE); END; |