From 92698e4bb54ef09c62fe859a0edf6a303a7d43af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20Talbot?= <108630700+fetchfern@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:15:16 -0800 Subject: [PATCH] Update tax change notification timings (#4706) --- ...0d907adfca767efc74e4422645060687135cdc46aadecfbb23d0.json} | 4 ++-- apps/labrinth/src/database/models/charge_item.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename apps/labrinth/.sqlx/{query-7d8de27065490edc560b0c81061295ca82f44546527e1a31c03e5bb7a07c1e63.json => query-042291ae24040d907adfca767efc74e4422645060687135cdc46aadecfbb23d0.json} (96%) diff --git a/apps/labrinth/.sqlx/query-7d8de27065490edc560b0c81061295ca82f44546527e1a31c03e5bb7a07c1e63.json b/apps/labrinth/.sqlx/query-042291ae24040d907adfca767efc74e4422645060687135cdc46aadecfbb23d0.json similarity index 96% rename from apps/labrinth/.sqlx/query-7d8de27065490edc560b0c81061295ca82f44546527e1a31c03e5bb7a07c1e63.json rename to apps/labrinth/.sqlx/query-042291ae24040d907adfca767efc74e4422645060687135cdc46aadecfbb23d0.json index ba3e1bd7..3331aaea 100644 --- a/apps/labrinth/.sqlx/query-7d8de27065490edc560b0c81061295ca82f44546527e1a31c03e5bb7a07c1e63.json +++ b/apps/labrinth/.sqlx/query-042291ae24040d907adfca767efc74e4422645060687135cdc46aadecfbb23d0.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT\n charges.id, charges.user_id, charges.price_id, charges.amount, charges.currency_code, charges.status, charges.due, charges.last_attempt,\n charges.charge_type, charges.subscription_id, charges.tax_amount, charges.tax_platform_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n charges.subscription_interval AS \"subscription_interval?\",\n charges.payment_platform,\n charges.payment_platform_id AS \"payment_platform_id?\",\n charges.parent_charge_id AS \"parent_charge_id?\",\n charges.net AS \"net?\",\n\t\t\t\tcharges.tax_last_updated AS \"tax_last_updated?\",\n\t\t\t\tcharges.tax_drift_loss AS \"tax_drift_loss?\",\n charges.tax_transaction_version AS \"tax_transaction_version?\",\n charges.tax_platform_accounting_time AS \"tax_platform_accounting_time?\"\n FROM charges\n \n\t\t\tINNER JOIN users u ON u.id = charges.user_id\n\t\t\tWHERE\n\t\t\t status = 'open'\n\t\t\t AND COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) < NOW() - INTERVAL '1 day'\n\t\t\t AND u.email IS NOT NULL\n\t\t\t AND due - INTERVAL '7 days' > NOW()\n AND due - INTERVAL '30 days' < NOW() -- Due between 7 and 30 days from now\n\t\t\tORDER BY COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) ASC\n\t\t\tFOR NO KEY UPDATE SKIP LOCKED\n\t\t\tLIMIT $1\n\t\t\t", + "query": "\n SELECT\n charges.id, charges.user_id, charges.price_id, charges.amount, charges.currency_code, charges.status, charges.due, charges.last_attempt,\n charges.charge_type, charges.subscription_id, charges.tax_amount, charges.tax_platform_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n charges.subscription_interval AS \"subscription_interval?\",\n charges.payment_platform,\n charges.payment_platform_id AS \"payment_platform_id?\",\n charges.parent_charge_id AS \"parent_charge_id?\",\n charges.net AS \"net?\",\n\t\t\t\tcharges.tax_last_updated AS \"tax_last_updated?\",\n\t\t\t\tcharges.tax_drift_loss AS \"tax_drift_loss?\",\n charges.tax_transaction_version AS \"tax_transaction_version?\",\n charges.tax_platform_accounting_time AS \"tax_platform_accounting_time?\"\n FROM charges\n \n\t\t\tINNER JOIN users u ON u.id = charges.user_id\n\t\t\tWHERE\n\t\t\t status = 'open'\n\t\t\t AND COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) < NOW() - INTERVAL '1 day'\n\t\t\t AND u.email IS NOT NULL\n\t\t\t AND due - INTERVAL '2 days' > NOW()\n AND due - INTERVAL '30 days' < NOW() -- Due between 7 and 30 days from now\n\t\t\tORDER BY COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) ASC\n\t\t\tFOR NO KEY UPDATE SKIP LOCKED\n\t\t\tLIMIT $1\n\t\t\t", "describe": { "columns": [ { @@ -138,5 +138,5 @@ true ] }, - "hash": "7d8de27065490edc560b0c81061295ca82f44546527e1a31c03e5bb7a07c1e63" + "hash": "042291ae24040d907adfca767efc74e4422645060687135cdc46aadecfbb23d0" } diff --git a/apps/labrinth/src/database/models/charge_item.rs b/apps/labrinth/src/database/models/charge_item.rs index 4b9e704f..fea02c0b 100644 --- a/apps/labrinth/src/database/models/charge_item.rs +++ b/apps/labrinth/src/database/models/charge_item.rs @@ -337,7 +337,7 @@ impl DBCharge { status = 'open' AND COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) < NOW() - INTERVAL '1 day' AND u.email IS NOT NULL - AND due - INTERVAL '7 days' > NOW() + AND due - INTERVAL '2 days' > NOW() AND due - INTERVAL '30 days' < NOW() -- Due between 7 and 30 days from now ORDER BY COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) ASC FOR NO KEY UPDATE SKIP LOCKED