summaryrefslogtreecommitdiffstats
path: root/src/frest/auth/models.py
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-04-06 19:54:53 +0000
committerSanto Cariotti <dcariotti24@gmail.com>2020-04-06 19:54:53 +0000
commit3a2246e26e9febe3c15e2ddc1e7e6f320f86fe15 (patch)
tree9cbd95771d38dfd66bedb4a447470391d34a68eb /src/frest/auth/models.py
parent6188a952974b3e268936beb1027ea58fbfaa67aa (diff)
chore: move package in frest folder
Diffstat (limited to 'src/frest/auth/models.py')
-rw-r--r--src/frest/auth/models.py52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/frest/auth/models.py b/src/frest/auth/models.py
deleted file mode 100644
index ea79def..0000000
--- a/src/frest/auth/models.py
+++ /dev/null
@@ -1,52 +0,0 @@
-from database import db
-from datetime import datetime
-import string
-import random
-from hashlib import sha256
-from pytz import timezone
-import os
-
-
-def generate_token():
- chars = string.ascii_uppercase + string.ascii_lowercase + string.digits
- return "".join(random.choice(chars) for _ in range(18))
-
-
-class User(db.Model):
- userId = db.Column(db.Integer, primary_key=True)
- email = db.Column(db.String(30))
- password = db.Column(db.String(30))
- is_admin = db.Column(db.Boolean, default=False)
- name = db.Column(db.String(30))
- created_at = db.Column(db.DateTime)
-
- def __init__(self, **kwargs):
- self.email = kwargs.get("email")
- psw_hash = sha256(kwargs.get("password").encode())
- self.password = psw_hash.hexdigest()
- self.name = kwargs.get("name")
- self.is_admin = kwargs.get("is_admin")
- self.created_at = datetime.now(
- timezone(os.getenv("FREST_TIMEZONE", "Europe/Rome"))
- )
-
- def __repr__(self):
- return f"<User '{self.userId}'>"
-
-
-class Token(db.Model):
- tokenId = db.Column(db.Integer, primary_key=True)
- string = db.Column(db.String(20))
- created_at = db.Column(db.DateTime)
- expired = db.Column(db.Boolean)
- user_id = db.Column(db.Integer, db.ForeignKey("user.userId"), nullable=False)
- user = db.relationship("User", backref=db.backref("tokens", lazy=True))
-
- def __init__(self, user):
- self.user = user
- self.string = f"{generate_token()}=="
- self.created_at = datetime.utcnow()
- self.expired = False
-
- def __repr__(self):
- return f"<Token '{self.string}'>"