From 5e1a8a3c3ea7fc58f6d612fc18fb8a5db3879d9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barbora=20Kompi=C5=A1ov=C3=A1?=
 <barbora.kompisova@gmail.com>
Date: Sat, 14 Apr 2018 12:26:14 +0200
Subject: [PATCH] oauth model + logic fixes

---
 portal/database/models.py  | 2 +-
 portal/rest/auth/gitlab.py | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/portal/database/models.py b/portal/database/models.py
index e574436..692861c 100644
--- a/portal/database/models.py
+++ b/portal/database/models.py
@@ -31,7 +31,7 @@ def _repr(instance):
 class User(db.Model, EntityBase):
     __tablename__ = 'user'
     id = db.Column(db.Text(length=36), default=lambda: str(uuid.uuid4()), primary_key=True)
-    uco = db.Column(db.Integer, unique=True, nullable=False)
+    uco = db.Column(db.Integer, unique=True)
     email = db.Column(db.String(50), unique=True, nullable=False)
     username = db.Column(db.String(15), unique=True, nullable=False)
     name = db.Column(db.String(50))
diff --git a/portal/rest/auth/gitlab.py b/portal/rest/auth/gitlab.py
index 94b2645..bfd1561 100644
--- a/portal/rest/auth/gitlab.py
+++ b/portal/rest/auth/gitlab.py
@@ -44,6 +44,7 @@ oauth_blueprint = Blueprint('oauth', __name__, url_prefix='/oauth')
 @oauth_blueprint.route('/login', methods=['GET'])
 def oauth_login():
     callback = url_for('oauth.oauth_authorized', _external=True, _scheme='https')
+    log.debug(f"Callback set: {callback}")
     return gitlab.authorize(callback=callback)
 
 
@@ -57,12 +58,13 @@ def user_oauth_register(user_info):
     new_user.name = user_info['name']
     service.write_entity(new_user)
     log.debug(f"Created user={new_user}")
+    return new_user
 
 
 def user_login(user_info):
     user = find_user(user_info['username'])
     if not user:
-        user_oauth_register(user_info)
+        user = user_oauth_register(user_info)
     resp = make_response(redirect(oauth.app.config.get('FRONTEND_URL')))
     resp.set_cookie('username', user.username)
     return resp
-- 
GitLab