|
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) |
|
|