Underpinnings of the ability to connect a GitHub account to an existing Quay account.

This commit is contained in:
yackob03 2014-01-14 15:23:44 -05:00
parent c72cae954b
commit f311885e2a
8 changed files with 82 additions and 7 deletions

View file

@ -308,12 +308,18 @@ def create_federated_user(username, email, service_name, service_id):
return new_user
def attach_federated_login(user, service_name, service_id):
service = LoginService.get(LoginService.name == service_name)
FederatedLogin.create(user=user, service=service, service_ident=service_id)
return user
def verify_federated_login(service_name, service_id):
selected = FederatedLogin.select(FederatedLogin, User)
with_service = selected.join(LoginService)
with_user = with_service.switch(FederatedLogin).join(User)
found = with_user.where(FederatedLogin.service_ident == service_id,
LoginService.name == service_name)
LoginService.name == service_name)
found_list = list(found)
@ -323,6 +329,14 @@ def verify_federated_login(service_name, service_id):
return None
def list_federated_logins(user):
selected = FederatedLogin.select(FederatedLogin.service_ident,
LoginService.name)
joined = selected.join(LoginService)
return joined.where(LoginService.name != 'quayrobot',
FederatedLogin.user == user)
def create_confirm_email_code(user):
code = EmailConfirmation.create(user=user, email_confirm=True)
return code