File size: 1,035 Bytes
252d749
591d823
252d749
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import asyncio
import orm
import psycopg2
import datetime
import pydantic
from passlib.context import CryptContext
from App.modelInit import database, models

pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")


class User(orm.Model):
    tablename = "users"
    registry = models
    fields = {
        "id": orm.Integer(primary_key=True),
        "name": orm.String(max_length=100, index=True),
        "email": orm.String(max_length=100, index=True, unique=True),
        "password": orm.String(max_length=100, index=True),
        "phoneNumber": orm.String(max_length=100, index=True, allow_null=True),
        "account_type": orm.Integer(index=True, default=1),
        "createdAt": orm.DateTime(index=True, default=datetime.datetime.now),
        "updatedAt": orm.DateTime(index=True, default=datetime.datetime.now),
        "lastLogin": orm.DateTime(index=True, default=datetime.datetime.now),
    }

    def verify_password(self, plain_password):
        return pwd_context.verify(plain_password, self.password)