summaryrefslogtreecommitdiff
path: root/hosts/surtr/postgresql/default.nix
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2025-05-21 09:24:30 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2025-05-21 09:24:30 +0200
commit75695d3e42bfe15483cefa43f316a4ae11a3bcca (patch)
treeb4c17493825d4d6894fed3ea89c2255a17d9e529 /hosts/surtr/postgresql/default.nix
parent861a04827a19facd4ce0eb4693de43f64507df52 (diff)
downloadnixos-75695d3e42bfe15483cefa43f316a4ae11a3bcca.tar
nixos-75695d3e42bfe15483cefa43f316a4ae11a3bcca.tar.gz
nixos-75695d3e42bfe15483cefa43f316a4ae11a3bcca.tar.bz2
nixos-75695d3e42bfe15483cefa43f316a4ae11a3bcca.tar.xz
nixos-75695d3e42bfe15483cefa43f316a4ae11a3bcca.zip
...
Diffstat (limited to 'hosts/surtr/postgresql/default.nix')
-rw-r--r--hosts/surtr/postgresql/default.nix17
1 files changed, 17 insertions, 0 deletions
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 {
280 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; 280 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;
281 281
282 COMMIT; 282 COMMIT;
283
284 BEGIN;
285 SELECT _v.register_patch('013-internal', ARRAY['000-base'], null);
286
287 ALTER TABLE mailbox_mapping ADD COLUMN internal bool NOT NULL DEFAULT false;
288 CREATE TABLE mailbox_mapping_access (
289 id uuid PRIMARY KEY NOT NULL DEFAULT gen_random_uuid(),
290 mailbox_mapping uuid REFERENCES mailbox_mapping(id),
291 mailbox uuid REFERENCES mailbox(id)
292 );
293 CREATE USER "postfix-internal-policy";
294 GRANT CONNECT ON DATABASE "email" TO "postfix-internal-policy";
295 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "postfix-internal-policy";
296 GRANT SELECT ON ALL TABLES IN SCHEMA public TO "postfix-internal-policy";
297
298 COMMIT;
299
283 ''} 300 ''}
284 301
285 psql etebase postgres -eXf ${pkgs.writeText "etebase.sql" '' 302 psql etebase postgres -eXf ${pkgs.writeText "etebase.sql" ''