SPB Git

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

db.py — index users_ka_id créé APRÈS les migrations (base v1 sans colonne ka_id) ; auth.py — échec d'échange de code Google = redirection douce (fin du 500)

Simon-Pierre Boucher committed (Aug 13, 2026) parent 52d6a71 Browse files

2 changed files +6 −2

modified louka/auth.py +3 −1
@@ -146,7 +146,9 @@ def google_callback(request: Request, code: str = "", state: str = "",
146 "grant_type": "authorization_code", 146 "grant_type": "authorization_code",
147 "redirect_uri": f"{_base_url(request)}/api/auth/google/callback", 147 "redirect_uri": f"{_base_url(request)}/api/auth/google/callback",
148 }, timeout=20) 148 }, timeout=20)
149− tok.raise_for_status() 149+ if tok.status_code != 200:
150+ # code déjà consommé (double rappel), expiré… -> retour doux à l'accueil
151+ return RedirectResponse("/?login=erreur")
150 access = tok.json().get("access_token") 152 access = tok.json().get("access_token")
151 info = requests.get(GOOGLE_USERINFO, timeout=20, 153 info = requests.get(GOOGLE_USERINFO, timeout=20,
152 headers={"Authorization": f"Bearer {access}"}).json() 154 headers={"Authorization": f"Bearer {access}"}).json()
modified louka/db.py +3 −1
@@ -122,7 +122,6 @@ CREATE TABLE IF NOT EXISTS users (
122 created_at REAL, 122 created_at REAL,
123 last_login REAL 123 last_login REAL
124 ); 124 );
125−CREATE UNIQUE INDEX IF NOT EXISTS users_ka_id ON users(ka_id);
126 125
127 CREATE TABLE IF NOT EXISTS favorites ( 126 CREATE TABLE IF NOT EXISTS favorites (
128 user_id INTEGER NOT NULL, 127 user_id INTEGER NOT NULL,
@@ -179,6 +178,9 @@ def connect() -> sqlite3.Connection:
179 for col, decl in cols.items(): 178 for col, decl in cols.items():
180 if col not in existing: 179 if col not in existing:
181 con.execute(f"ALTER TABLE {table} ADD COLUMN {col} {decl}") 180 con.execute(f"ALTER TABLE {table} ADD COLUMN {col} {decl}")
181+ # index sur des colonnes de migration : APRÈS les ALTER TABLE (une base
182+ # antérieure n'a pas encore la colonne au moment du CREATE INDEX)
183+ con.execute("CREATE UNIQUE INDEX IF NOT EXISTS users_ka_id ON users(ka_id)")
182 con.commit() 184 con.commit()
183 return con 185 return con
184 186
185 187
Menu

Theme