Temporary fix for transaction issues.

This commit is contained in:
2025-09-02 08:57:26 +10:00
parent 38ba997dbe
commit ce07a1e89e
3 changed files with 11 additions and 13 deletions

View File

@@ -178,17 +178,15 @@ class Bot(commands.Bot):
# Save the token and scopes to data # Save the token and scopes to data
# Wrap this in a transaction so if it fails halfway we rollback correctly # Wrap this in a transaction so if it fails halfway we rollback correctly
async with self.dbconn.connection() as conn: # TODO
self.dbconn.conn = conn row = await UserAuth.fetch_or_create(userid, token=token, refresh_token=refresh)
async with conn.transaction(): if row.token != token or row.refresh_token != refresh:
row = await UserAuth.fetch_or_create(userid, token=token, refresh_token=refresh) await row.update(token=token, refresh_token=refresh)
if row.token != token or row.refresh_token != refresh: await self.data.user_auth_scopes.delete_where(userid=userid)
await row.update(token=token, refresh_token=refresh) await self.data.user_auth_scopes.insert_many(
await self.data.user_auth_scopes.delete_where(userid=userid) ('userid', 'scope'),
await self.data.user_auth_scopes.insert_many( *((userid, scope) for scope in new_scopes)
('userid', 'scope'), )
*((userid, scope) for scope in new_scopes)
)
logger.info("Updated auth token for user '%s' with scopes: %s", resp.user_id, ', '.join(new_scopes)) logger.info("Updated auth token for user '%s' with scopes: %s", resp.user_id, ', '.join(new_scopes))
return resp return resp