Initial commit

This commit is contained in:
2023-09-10 13:04:17 -04:00
commit a0498a3774
72 changed files with 1230 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
from config import Config
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
# Database engine object
DBEngine = create_engine(Config.SQLALCHEMY_DATABASE_URI, echo=True)
# Database session object
DBSession = sessionmaker(DBEngine)

View File

@@ -0,0 +1,65 @@
# Local
from all_paw_care.db.types.user import User
from all_paw_care.db.types.base import Base
from all_paw_care.db import DBEngine
from all_paw_care.db import DBSession
from sqlalchemy.orm import Session
from sqlalchemy import select
def ensure_tables():
Base.metadata.create_all(DBEngine)
def login(username: str):
if get_user(username):
return True
else:
return False
def add_user(username: str):
with DBSession() as session, session.begin():
try:
session.add(User(username=username))
except:
session.rollback()
finally:
session.commit()
return True
def get_users():
with DBSession() as session, session.begin():
users = list()
database_users = session.scalars(select(User).order_by(User.id)).all()
for database_user in database_users:
user = (database_user.id, database_user.username)
users.append(user)
return users
def get_user(username: str = None):
if username:
with DBSession() as session, session.begin():
user = session.scalars(
select(User).where(User.username == username)).all()
if len(user) == 1:
return (user[0].id, user[0].username)
elif len(user) == 0:
return None
else:
return None
def user_exists(username: str):
with DBSession() as session, session.begin():
users = session.execute(
select(User).where(User.username == username))
print(users)

View File

@@ -0,0 +1,4 @@
from sqlalchemy.schema import MetaData
DBMetadata = MetaData(schema='all_paw_care')

View File

@@ -0,0 +1,5 @@
from sqlalchemy.orm import DeclarativeBase
class Base(DeclarativeBase):
pass

View File

@@ -0,0 +1,13 @@
from all_paw_care.db.types.base import Base
from sqlalchemy import String
from sqlalchemy.orm import Mapped
from sqlalchemy.orm import mapped_column
class User(Base):
__tablename__ = 'users'
id: Mapped[int] = mapped_column(primary_key=True)
username: Mapped[str] = mapped_column(
String(40), nullable=False, unique=True)