feat: colonnes de votes sur subscriptions #94

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-06-30 13:41:37 +02:00
parent b7ca9c1ffa
commit 4b754c9d77
3 changed files with 19 additions and 0 deletions
+8
View File
@@ -20,6 +20,14 @@ _MIGRATIONS: list[tuple[str, str]] = [
"0002_add_siret_to_users", "0002_add_siret_to_users",
"ALTER TABLE users ADD COLUMN siret TEXT", "ALTER TABLE users ADD COLUMN siret TEXT",
), ),
(
"0003_add_votes_balance_to_subscriptions",
"ALTER TABLE subscriptions ADD COLUMN votes_balance INTEGER NOT NULL DEFAULT 0",
),
(
"0004_add_votes_credited_until_to_subscriptions",
"ALTER TABLE subscriptions ADD COLUMN votes_credited_until TEXT",
),
] ]
+2
View File
@@ -13,6 +13,8 @@ CREATE TABLE IF NOT EXISTS subscriptions (
status TEXT, status TEXT,
current_period_end TEXT, current_period_end TEXT,
trial_used INTEGER NOT NULL DEFAULT 0, trial_used INTEGER NOT NULL DEFAULT 0,
votes_balance INTEGER NOT NULL DEFAULT 0,
votes_credited_until TEXT,
created_at TEXT NOT NULL, created_at TEXT NOT NULL,
updated_at TEXT NOT NULL, updated_at TEXT NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
+9
View File
@@ -118,3 +118,12 @@ def test_trial_used_is_sticky_across_resubscribe(users_db_path):
db.update_from_webhook("decpinfo-1", "sub_42", "expired", _past()) db.update_from_webhook("decpinfo-1", "sub_42", "expired", _past())
db.create_pending(uid, "decpinfo-1", "soutien") db.create_pending(uid, "decpinfo-1", "soutien")
assert db.has_used_trial(uid) is True assert db.has_used_trial(uid) is True
def test_init_schema_creates_votes_columns(users_db_path):
db.init_schema()
uid = _make_user()
db.create_pending(uid, "decpinfo-1", "simple")
row = db.get_by_user(uid)
assert row["votes_balance"] == 0
assert row["votes_credited_until"] is None