diff --git a/.sqlx/query-7da77fd66308e3e5bc4c45855532718f0f441b30a6643dbec7bc0d9129a6d948.json b/.sqlx/query-0b752b8845dce49b701f3d46f1c7af3e036045d793d13ceb61c99ce0844ad753.json similarity index 65% rename from .sqlx/query-7da77fd66308e3e5bc4c45855532718f0f441b30a6643dbec7bc0d9129a6d948.json rename to .sqlx/query-0b752b8845dce49b701f3d46f1c7af3e036045d793d13ceb61c99ce0844ad753.json index e62454241..e55e4661c 100644 --- a/.sqlx/query-7da77fd66308e3e5bc4c45855532718f0f441b30a6643dbec7bc0d9129a6d948.json +++ b/.sqlx/query-0b752b8845dce49b701f3d46f1c7af3e036045d793d13ceb61c99ce0844ad753.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT template, section, language_tag, text FROM mail_context WHERE template = $1 AND language_tag = $2", + "query": "SELECT template, section, language_tag, text, enabled FROM mail_context WHERE template = $1 AND language_tag = $2 AND enabled", "describe": { "columns": [ { @@ -22,6 +22,11 @@ "ordinal": 3, "name": "text", "type_info": "Text" + }, + { + "ordinal": 4, + "name": "enabled", + "type_info": "Bool" } ], "parameters": { @@ -34,8 +39,9 @@ false, false, false, + false, false ] }, - "hash": "7da77fd66308e3e5bc4c45855532718f0f441b30a6643dbec7bc0d9129a6d948" + "hash": "0b752b8845dce49b701f3d46f1c7af3e036045d793d13ceb61c99ce0844ad753" } diff --git a/Cargo.lock b/Cargo.lock index f837db161..a9808fa10 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1711,9 +1711,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc3dc5ad92c2e2d1c193bbbbdf2ea477cb81331de4f3103f267ca18368b988c4" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", "serde_core", @@ -3128,9 +3128,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.85" +version = "0.3.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +checksum = "c7e709f3e3d22866f9c25b3aff01af289b18422cc8b4262fb19103ee80fe513d" dependencies = [ "once_cell", "wasm-bindgen", @@ -3349,9 +3349,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -5204,9 +5204,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags 2.11.0", "errno", @@ -7015,9 +7015,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.108" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +checksum = "ec1adf1535672f5b7824f817792b1afd731d7e843d2d04ec8f27e8cb51edd8ac" dependencies = [ "cfg-if", "once_cell", @@ -7028,9 +7028,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.58" +version = "0.4.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +checksum = "fe88540d1c934c4ec8e6db0afa536876c5441289d7f9f9123d4f065ac1250a6b" dependencies = [ "cfg-if", "futures-util", @@ -7042,9 +7042,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.108" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +checksum = "19e638317c08b21663aed4d2b9a2091450548954695ff4efa75bff5fa546b3b1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7052,9 +7052,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.108" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +checksum = "2c64760850114d03d5f65457e96fc988f11f01d38fbaa51b254e4ab5809102af" dependencies = [ "bumpalo", "proc-macro2", @@ -7065,9 +7065,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.108" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +checksum = "60eecd4fe26177cfa3339eb00b4a36445889ba3ad37080c2429879718e20ca41" dependencies = [ "unicode-ident", ] @@ -7121,9 +7121,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.85" +version = "0.3.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +checksum = "9d6bb20ed2d9572df8584f6dc81d68a41a625cadc6f15999d649a70ce7e3597a" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/crates/defguard_mail/src/mail_context.rs b/crates/defguard_mail/src/mail_context.rs index 52f3077bd..801d300c6 100644 --- a/crates/defguard_mail/src/mail_context.rs +++ b/crates/defguard_mail/src/mail_context.rs @@ -11,6 +11,8 @@ pub(crate) struct MailContext { language_tag: String, /// Text to be replaced. pub(crate) text: String, + #[allow(unused)] + enabled: bool, } impl MailContext { @@ -19,7 +21,7 @@ impl MailContext { // E: PgExecutor<'e>, // { // query_scalar!( - // "INSERT INTO mail_context (template, section, language_tag, text) \ + // "INSERT INTO mail_context (template, section, language_tag, text, enabled) \ // VALUES ($1, $2, $3, $4) \ // ON CONFLICT ON CONSTRAINT template_section_language DO \ // UPDATE SET text = $4", @@ -44,8 +46,8 @@ impl MailContext { { query_as!( Self, - "SELECT template, section, language_tag, text FROM mail_context \ - WHERE template = $1 AND language_tag = $2", + "SELECT template, section, language_tag, text, enabled FROM mail_context \ + WHERE template = $1 AND language_tag = $2 AND enabled", template, language_tag ) diff --git a/migrations/20260223075953_[2.0.0]_mjml_part_2.down.sql b/migrations/20260223075953_[2.0.0]_mjml_part_2.down.sql new file mode 100644 index 000000000..c9bb12325 --- /dev/null +++ b/migrations/20260223075953_[2.0.0]_mjml_part_2.down.sql @@ -0,0 +1,3 @@ +ALTER TABLE mail_context + DROP COLUMN enabled, + ADD CONSTRAINT template_section_language UNIQUE (template, section, language_tag); diff --git a/migrations/20260223075953_[2.0.0]_mjml_part_2.up.sql b/migrations/20260223075953_[2.0.0]_mjml_part_2.up.sql new file mode 100644 index 000000000..73e4a440b --- /dev/null +++ b/migrations/20260223075953_[2.0.0]_mjml_part_2.up.sql @@ -0,0 +1,3 @@ +ALTER TABLE mail_context + ADD COLUMN enabled BOOL NOT NULL DEFAULT true, + DROP CONSTRAINT template_section_language;