Add a table for mail aliases

This commit is contained in:
traxys 2023-08-29 18:48:00 +02:00
parent 026374fd7c
commit 5cd7f26717
2 changed files with 15 additions and 3 deletions

View file

@ -0,0 +1,8 @@
-- Add migration script here
ALTER TABLE emails ADD COLUMN alias BOOLEAN NOT NULL DEFAULT false;
CREATE TABLE alias_recipient (
mail TEXT REFERENCES emails(mail) NOT NULL,
recipient TEXT NOT NULL,
PRIMARY KEY (mail, recipient)
);

View file

@ -505,9 +505,13 @@ async fn home(
User(user): User,
Query(query): Query<HomeQuery>,
) -> Result<Html<String>, Error> {
let mails = sqlx::query_as!(Mail, "SELECT mail FROM emails WHERE id = $1", user)
.fetch_all(&state.db)
.await?;
let mails = sqlx::query_as!(
Mail,
"SELECT mail FROM emails WHERE id = $1 AND alias = false",
user
)
.fetch_all(&state.db)
.await?;
let mut context = tera::Context::new();
context.insert("mails", &mails);