Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Let auth providers get to the database
Browse files Browse the repository at this point in the history
Somewhat open to abuse, but also somewhat unavoidable :/
  • Loading branch information
richvdh committed Oct 31, 2017
1 parent a72e4e3 commit 3e0aaad
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions synapse/handlers/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,7 @@ def __init__(self, hs, check_user_exists):
self.hs = hs

self._check_user_exists = check_user_exists
self._store = hs.get_datastore()

def check_user_exists(self, user_id):
"""Check if user exissts.
Expand All @@ -747,3 +748,18 @@ def register(self, localpart):
"""
reg = self.hs.get_handlers().registration_handler
return reg.register(localpart=localpart)

def run_db_interaction(self, desc, func, *args, **kwargs):
"""Run a function with a database connection
Args:
desc (str): description for the transaction, for metrics etc
func (func): function to be run. Passed a database cursor object
as well as *args and **kwargs
*args: positional args to be passed to func
**kwargs: named args to be passed to func
Returns:
Deferred[object]: result of func
"""
return self._store.runInteraction(desc, func, *args, **kwargs)

0 comments on commit 3e0aaad

Please sign in to comment.