Done setup template
This commit is contained in:
0
backend/services/__init__.py
Normal file
0
backend/services/__init__.py
Normal file
6
backend/services/_base_service/__init__.py
Normal file
6
backend/services/_base_service/__init__.py
Normal file
@ -0,0 +1,6 @@
|
||||
from backend.core.config import get_app_settings
|
||||
|
||||
|
||||
class BaseService:
|
||||
def __init__(self) -> None:
|
||||
self.setting = get_app_settings()
|
1
backend/services/user/__init__.py
Normal file
1
backend/services/user/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .user_service import *
|
39
backend/services/user/user_service.py
Normal file
39
backend/services/user/user_service.py
Normal file
@ -0,0 +1,39 @@
|
||||
from sqlalchemy.orm import Session
|
||||
from backend.core.security.hasher import get_hasher
|
||||
from backend.core.security import create_access_token
|
||||
from backend.core.security.security import create_refresh_token
|
||||
from backend.repos import RepositoryUsers
|
||||
from backend.schemas import UserRequest, UserCreate
|
||||
from backend.services._base_service import BaseService
|
||||
|
||||
class UserService(BaseService):
|
||||
def __init__(self):
|
||||
self.repos = RepositoryUsers()
|
||||
|
||||
def get_all(self, skip: int = 0, limit: int = 100):
|
||||
return self.repos.get_all(skip=skip, limit=limit)
|
||||
|
||||
def get_by_username(self, username: str):
|
||||
return self.repos.get_by_username(username)
|
||||
|
||||
def get_by_id(self, user_id: str):
|
||||
return self.repos.get_by_id(user_id)
|
||||
|
||||
def create(self, db: Session, user: UserCreate):
|
||||
return self.repos.create(db=db, user=user)
|
||||
|
||||
def check_exist(self, user: UserRequest):
|
||||
db_user = self.get_by_username(username=user.username)
|
||||
if not db_user:
|
||||
return False
|
||||
if not get_hasher().verify(password=user.password, hashed=db_user.password):
|
||||
return False
|
||||
return db_user
|
||||
|
||||
def generate_token(self, user_id: str):
|
||||
access_token = create_access_token(data={"sub": str(user_id)})
|
||||
refresh_token = create_refresh_token(data={"sub": str(user_id)})
|
||||
return access_token, refresh_token
|
||||
|
||||
def get_access_token(self, user_id: str):
|
||||
return create_access_token(data={"sub": str(user_id)})
|
Reference in New Issue
Block a user