Done setup template

This commit is contained in:
2024-06-01 12:34:20 +00:00
parent 71d4afcc5e
commit 449a5f644f
104 changed files with 313 additions and 256 deletions

View File

@ -0,0 +1 @@
from .repository_users import *

View File

@ -0,0 +1,36 @@
from backend.core.config import get_app_settings
from backend.core.security.security import hash_password
from backend.db.models import User
from backend.schemas import UserCreate
from sqlalchemy.orm import Session
from uuid import UUID
from backend.schemas.user.user import UserSeeds
settings = get_app_settings()
class RepositoryUsers:
def __init__(self):
self.user = User()
def get_all(self, skip: int = 0, limit: int = 100):
return self.user.query.offset(skip).limit(limit).all()
def get_by_username(self, username: str):
return self.user.query.filter_by(username=username).first()
def get_by_id(self, user_id: str):
return self.user.query.filter_by(id=UUID(user_id)).first()
def create(self, db: Session, user: UserCreate | UserSeeds):
try:
password = getattr(user, "password")
db_user = User(**user.dict(exclude={"password"}), password=hash_password(password))
db.add(db_user)
db.commit()
except Exception:
db.rollback()
raise
db.refresh(db_user)
return db_user

View File

@ -0,0 +1 @@
from .init_users import default_users_init

View File

@ -0,0 +1,33 @@
from backend.core.config import get_app_settings
from backend.core.root_logger import get_logger
from backend.repos.repository_users import RepositoryUsers
from sqlalchemy.orm import Session
from backend.schemas.user import UserSeeds
logger = get_logger("init_users")
settings = get_app_settings()
def dev_users() -> list[dict]:
return [
{
"username": "sam",
"password": "admin",
"name": "Sam",
"is_admin": True,
"is_lock": False,
},
{
"username": "sam1",
"password": "admin",
"name": "Sam1",
"is_admin": False,
"is_lock": False,
},
]
def default_users_init(session: Session):
users = RepositoryUsers()
for user in dev_users():
users.create(session, UserSeeds(**user))