소스 검색

OAuth - Update Users Model

App Generator 3 년 전
부모
커밋
fbec6c5375
1개의 변경된 파일13개의 추가작업 그리고 4개의 파일을 삭제
  1. 13 4
      apps/authentication/models.py

+ 13 - 4
apps/authentication/models.py

@@ -5,6 +5,9 @@ Copyright (c) 2019 - present AppSeed.us
 
 from flask_login import UserMixin
 
+from sqlalchemy.orm import relationship
+from flask_dance.consumer.storage.sqla import OAuthConsumerMixin
+
 from apps import db, login_manager
 
 from apps.authentication.util import hash_pass
@@ -13,10 +16,12 @@ class Users(db.Model, UserMixin):
 
     __tablename__ = 'Users'
 
-    id = db.Column(db.Integer, primary_key=True)
-    username = db.Column(db.String(64), unique=True)
-    email = db.Column(db.String(64), unique=True)
-    password = db.Column(db.LargeBinary)
+    id            = db.Column(db.Integer, primary_key=True)
+    username      = db.Column(db.String(64), unique=True)
+    email         = db.Column(db.String(64), unique=True)
+    password      = db.Column(db.LargeBinary)
+
+    oauth_github  = db.Column(db.String(100), nullable=True)
 
     def __init__(self, **kwargs):
         for property, value in kwargs.items():
@@ -46,3 +51,7 @@ def request_loader(request):
     username = request.form.get('username')
     user = Users.query.filter_by(username=username).first()
     return user if user else None
+
+class OAuth(OAuthConsumerMixin, db.Model):
+    user_id = db.Column(db.Integer, db.ForeignKey("Users.id", ondelete="cascade"), nullable=False)
+    user = db.relationship(Users)