mirror of
https://github.com/simple-login/app.git
synced 2025-02-23 23:34:05 +08:00
add expired column to AuthCode and OAuthToken
This commit is contained in:
parent
fb4aedc604
commit
4704ca0bc6
2 changed files with 51 additions and 2 deletions
|
@ -235,6 +235,14 @@ class User(db.Model, ModelMixin, UserMixin):
|
||||||
return "".join([n[0].upper() for n in names if n])
|
return "".join([n[0].upper() for n in names if n])
|
||||||
|
|
||||||
|
|
||||||
|
def _expiration_1h():
|
||||||
|
return arrow.now().shift(hours=1)
|
||||||
|
|
||||||
|
|
||||||
|
def _expiration_5m():
|
||||||
|
return arrow.now().shift(minutes=5)
|
||||||
|
|
||||||
|
|
||||||
class ActivationCode(db.Model, ModelMixin):
|
class ActivationCode(db.Model, ModelMixin):
|
||||||
"""For activate user account"""
|
"""For activate user account"""
|
||||||
|
|
||||||
|
@ -243,7 +251,7 @@ class ActivationCode(db.Model, ModelMixin):
|
||||||
|
|
||||||
user = db.relationship(User)
|
user = db.relationship(User)
|
||||||
|
|
||||||
expired = db.Column(ArrowType)
|
expired = db.Column(ArrowType, default=_expiration_1h)
|
||||||
|
|
||||||
|
|
||||||
class ResetPasswordCode(db.Model, ModelMixin):
|
class ResetPasswordCode(db.Model, ModelMixin):
|
||||||
|
@ -254,7 +262,7 @@ class ResetPasswordCode(db.Model, ModelMixin):
|
||||||
|
|
||||||
user = db.relationship(User)
|
user = db.relationship(User)
|
||||||
|
|
||||||
expired = db.Column(ArrowType, nullable=False)
|
expired = db.Column(ArrowType, nullable=False, default=_expiration_1h)
|
||||||
|
|
||||||
|
|
||||||
class Partner(db.Model, ModelMixin):
|
class Partner(db.Model, ModelMixin):
|
||||||
|
@ -360,6 +368,11 @@ class AuthorizationCode(db.Model, ModelMixin):
|
||||||
user = db.relationship(User, lazy=False)
|
user = db.relationship(User, lazy=False)
|
||||||
client = db.relationship(Client, lazy=False)
|
client = db.relationship(Client, lazy=False)
|
||||||
|
|
||||||
|
expired = db.Column(ArrowType, nullable=False, default=_expiration_5m)
|
||||||
|
|
||||||
|
def is_expired(self):
|
||||||
|
return self.expired < arrow.now()
|
||||||
|
|
||||||
|
|
||||||
class OauthToken(db.Model, ModelMixin):
|
class OauthToken(db.Model, ModelMixin):
|
||||||
access_token = db.Column(db.String(128), unique=True)
|
access_token = db.Column(db.String(128), unique=True)
|
||||||
|
@ -375,6 +388,11 @@ class OauthToken(db.Model, ModelMixin):
|
||||||
user = db.relationship(User)
|
user = db.relationship(User)
|
||||||
client = db.relationship(Client)
|
client = db.relationship(Client)
|
||||||
|
|
||||||
|
expired = db.Column(ArrowType, nullable=False, default=_expiration_1h)
|
||||||
|
|
||||||
|
def is_expired(self):
|
||||||
|
return self.expired < arrow.now()
|
||||||
|
|
||||||
|
|
||||||
def generate_email() -> str:
|
def generate_email() -> str:
|
||||||
"""generate an email address that does not exist before"""
|
"""generate an email address that does not exist before"""
|
||||||
|
|
31
migrations/versions/4fac8c8a704c_.py
Normal file
31
migrations/versions/4fac8c8a704c_.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
"""empty message
|
||||||
|
|
||||||
|
Revision ID: 4fac8c8a704c
|
||||||
|
Revises: 507afb2632cc
|
||||||
|
Create Date: 2019-08-17 22:16:40.628595
|
||||||
|
|
||||||
|
"""
|
||||||
|
import sqlalchemy_utils
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '4fac8c8a704c'
|
||||||
|
down_revision = '507afb2632cc'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.add_column('authorization_code', sa.Column('expired', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False))
|
||||||
|
op.add_column('oauth_token', sa.Column('expired', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False))
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_column('oauth_token', 'expired')
|
||||||
|
op.drop_column('authorization_code', 'expired')
|
||||||
|
# ### end Alembic commands ###
|
Loading…
Reference in a new issue