diff options
author | 2018-03-29 11:05:13 +0100 | |
---|---|---|
committer | 2018-03-29 11:05:13 +0100 | |
commit | 355cf068a7920a28026623229b35264352d98b00 (patch) | |
tree | f0e35c3c278468bd2e8bf4422cca6e4c85689dc1 /pysite/oauth.py | |
parent | Attempt to fix HTTPS and more OAuth issues (diff) |
Fix OAuth DB insertions
Diffstat (limited to 'pysite/oauth.py')
-rw-r--r-- | pysite/oauth.py | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/pysite/oauth.py b/pysite/oauth.py index a4b5bdb1..d5a3a15a 100644 --- a/pysite/oauth.py +++ b/pysite/oauth.py @@ -46,16 +46,28 @@ class OauthBackend(BaseBackend): def add_user(self, token_data: dict, user_data: dict, session_id: str): session["session_id"] = session_id - self.db.insert(OAUTH_DATABASE, {"id": session_id, - "access_token": token_data["access_token"], - "refresh_token": token_data["refresh_token"], - "expires_at": token_data["expires_at"], - "snowflake": user_data["id"]}) - - self.db.insert("users", {"user_id": user_data["id"], - "username": user_data["username"], - "discriminator": user_data["discriminator"], - "email": user_data["email"]}) + self.db.insert( + OAUTH_DATABASE, + { + "id": session_id, + "access_token": token_data["access_token"], + "refresh_token": token_data["refresh_token"], + "expires_at": token_data["expires_at"], + "snowflake": int(user_data["id"]) + }, + conflict="replace" + ) + + self.db.insert( + "users", + { + "user_id": int(user_data["id"]), + "username": user_data["username"], + "discriminator": user_data["discriminator"], + "email": user_data["email"] + }, + conflict="update" + ) def get_user(self) -> dict: resp = discord.get(DISCORD_API_ENDPOINT + "/users/@me") # 'discord' is a request.Session with oauth information |