diff options
Diffstat (limited to 'hosts/surtr/postgresql')
| -rw-r--r-- | hosts/surtr/postgresql/default.nix | 17 |
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" '' |
