SpreadSheets commited on
Commit
f219df8
·
1 Parent(s): d132af8

refactor: reorganize User and OAuth model definitions for clarity and consistency

Browse files
Files changed (1) hide show
  1. app/models.py +20 -6
app/models.py CHANGED
@@ -1,12 +1,26 @@
1
- from flask_login import UserMixin
2
- from . import db
3
  from flask_dance.consumer.storage.sqla import OAuthConsumerMixin
 
 
 
 
4
 
5
  class User(UserMixin, db.Model):
6
- id = db.Column(db.Integer, primary_key=True)
7
  name = db.Column(db.String(100), nullable=False)
8
- email = db.Column(db.String(100), unique=True, nullable=False)
 
9
 
10
  class OAuth(OAuthConsumerMixin, db.Model):
11
- user_id = db.Column(db.Integer, db.ForeignKey(User.id))
12
- user = db.relationship(User)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from flask_dance.consumer.storage.sqla import OAuthConsumerMixin
2
+ from flask_login import UserMixin
3
+
4
+ from .extensions import db
5
+
6
 
7
  class User(UserMixin, db.Model):
8
+ email = db.Column(db.String(120), unique=True, nullable=False)
9
  name = db.Column(db.String(100), nullable=False)
10
+ id = db.Column(db.Integer, primary_key=True)
11
+
12
 
13
  class OAuth(OAuthConsumerMixin, db.Model):
14
+ __table_args__ = (
15
+ db.UniqueConstraint(
16
+ "provider", "provider_user_id", name="uq_oauth_provider_user"
17
+ ),
18
+ )
19
+
20
+ user_id = db.Column(db.Integer, db.ForeignKey(User.id), nullable=False)
21
+ provider_user_id = db.Column(db.String(256), nullable=False)
22
+
23
+ user = db.relationship(
24
+ User,
25
+ backref=db.backref("oauth_accounts", cascade="all, delete-orphan"),
26
+ )