From 75695d3e42bfe15483cefa43f316a4ae11a3bcca Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 21 May 2025 09:24:30 +0200 Subject: ... --- hosts/surtr/postgresql/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'hosts/surtr/postgresql/default.nix') diff --git a/hosts/surtr/postgresql/default.nix b/hosts/surtr/postgresql/default.nix index 059f4088..0ae29058 100644 --- a/hosts/surtr/postgresql/default.nix +++ b/hosts/surtr/postgresql/default.nix @@ -280,6 +280,23 @@ in { CREATE VIEW imap_user ("user", "password", quota_rule) AS SELECT mailbox.mailbox AS "user", "password", quota_rule FROM mailbox_quota_rule INNER JOIN mailbox ON mailbox_quota_rule.mailbox = mailbox.mailbox; COMMIT; + + BEGIN; + SELECT _v.register_patch('013-internal', ARRAY['000-base'], null); + + ALTER TABLE mailbox_mapping ADD COLUMN internal bool NOT NULL DEFAULT false; + CREATE TABLE mailbox_mapping_access ( + id uuid PRIMARY KEY NOT NULL DEFAULT gen_random_uuid(), + mailbox_mapping uuid REFERENCES mailbox_mapping(id), + mailbox uuid REFERENCES mailbox(id) + ); + CREATE USER "postfix-internal-policy"; + GRANT CONNECT ON DATABASE "email" TO "postfix-internal-policy"; + ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "postfix-internal-policy"; + GRANT SELECT ON ALL TABLES IN SCHEMA public TO "postfix-internal-policy"; + + COMMIT; + ''} psql etebase postgres -eXf ${pkgs.writeText "etebase.sql" '' -- cgit v1.2.3