18 lines
608 B
Python
Executable File
18 lines
608 B
Python
Executable File
from app.core.exceptions import NotFoundException
|
|
from app.models import RoleModel
|
|
from app.repositories import RoleRepository
|
|
|
|
from . import BaseService
|
|
|
|
|
|
class RoleService(BaseService[RoleModel, RoleRepository]):
|
|
def __init__(self, repository: RoleRepository):
|
|
super().__init__(RoleModel, repository)
|
|
|
|
async def find_by_name(self, name: str) -> RoleModel:
|
|
"""Find record by name."""
|
|
record = await self.repository.find_by_name(name)
|
|
if not record:
|
|
raise NotFoundException(f"{self.model_class.__name__} with name {name} not found.")
|
|
return record
|