16 lines
427 B
Python
16 lines
427 B
Python
from __future__ import annotations
|
|
|
|
from typing import Protocol, runtime_checkable
|
|
|
|
from app.application.users.ports.user_repository import UserRepository
|
|
|
|
|
|
@runtime_checkable
|
|
class UnitOfWork(Protocol):
|
|
users: UserRepository
|
|
|
|
async def __aenter__(self) -> "UnitOfWork": ...
|
|
async def __aexit__(self, exc_type, exc, tb) -> None: ...
|
|
async def commit(self) -> None: ...
|
|
async def rollback(self) -> None: ...
|