11"""
22SQLAlchemy Database Models
33"""
4+
45import datetime
56from datetime import timedelta
67
1617from sqlalchemy .sql .functions import now
1718from selfservice import db
1819
20+
1921class ResetToken (db .Model ):
2022 """
2123 Reset tokens are generated once an identity has been verified. They allow
@@ -25,14 +27,19 @@ class ResetToken(db.Model):
2527 __tablename__ = "token"
2628 id = Column (Integer , primary_key = True )
2729 username = Column (String (64 ), nullable = False )
28- expires = Column (DateTime , default = func .timezone ("UTC" , now ()+ timedelta (minutes = 10 )), nullable = False )
30+ expires = Column (
31+ DateTime ,
32+ default = func .timezone ("UTC" , now () + timedelta (minutes = 10 )),
33+ nullable = False ,
34+ )
2935 token = Column (String (36 ))
3036 session = Column (String (36 ), ForeignKey ("session.id" ))
3137 used = Column (Boolean )
3238
3339 def is_expired (self ) -> bool :
3440 return self .expires < datetime .datetime .now ()
3541
42+
3643class RecoverySession (db .Model ):
3744 """
3845 A recovery session is created once a user enters their username and
@@ -43,7 +50,11 @@ class RecoverySession(db.Model):
4350 __tablename__ = "session"
4451 id = Column (String (36 ), primary_key = True )
4552 username = Column (String (64 ), nullable = False )
46- expires = Column (DateTime , default = func .timezone ("UTC" , now ()+ timedelta (minutes = 30 )), nullable = False )
53+ expires = Column (
54+ DateTime ,
55+ default = func .timezone ("UTC" , now () + timedelta (minutes = 30 )),
56+ nullable = False ,
57+ )
4758
4859 def is_expired (self ) -> bool :
4960 return self .expires < datetime .datetime .now ()
0 commit comments