enum
This commit is contained in:
@@ -2,19 +2,22 @@ from collections.abc import AsyncIterable
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import Depends
|
||||
from sqlalchemy.ext.asyncio import (AsyncEngine, AsyncSession,
|
||||
async_sessionmaker, create_async_engine)
|
||||
from sqlalchemy.ext.asyncio import (
|
||||
AsyncEngine,
|
||||
AsyncSession,
|
||||
async_sessionmaker,
|
||||
create_async_engine,
|
||||
)
|
||||
|
||||
from api.application.abstractions.transaction import TransactionContextManager
|
||||
from api.infrastructure.dependencies.stub import Stub
|
||||
from api.infrastructure.persistence.transaction import \
|
||||
SqlalchemyTransactionContextManager
|
||||
from api.infrastructure.persistence.transaction import (
|
||||
SqlalchemyTransactionContextManager,
|
||||
)
|
||||
from api.infrastructure.settings import Settings
|
||||
|
||||
|
||||
def get_transaction_context(
|
||||
session: Annotated[AsyncSession, Depends(Stub(AsyncSession))]
|
||||
) -> TransactionContextManager:
|
||||
def get_transaction_context(session: Annotated[AsyncSession, Depends(Stub(AsyncSession))]) -> TransactionContextManager:
|
||||
return SqlalchemyTransactionContextManager(session)
|
||||
|
||||
|
||||
|
@@ -6,8 +6,7 @@ from api.application.abstractions.transaction import TransactionContextManager
|
||||
from api.application.protocols.password_hasher import PasswordHasher
|
||||
from api.application.usecase.auth.create_user import CreateUser
|
||||
from api.application.usecase.company.create_company import CreateCompany
|
||||
from api.application.usecase.company.get_users_company import \
|
||||
GetCompaniesByOwnerEmail
|
||||
from api.application.usecase.company.get_users_company import GetCompaniesByOwnerEmail
|
||||
from api.domain.company.repository import CompanyRepository
|
||||
from api.domain.user.repository import UserRepository
|
||||
from api.infrastructure.dependencies.stub import Stub
|
||||
@@ -15,9 +14,7 @@ from api.infrastructure.dependencies.stub import Stub
|
||||
|
||||
def provide_create_user(
|
||||
user_repository: Annotated[UserRepository, Depends(Stub(UserRepository))],
|
||||
transaction: Annotated[
|
||||
TransactionContextManager, Depends(Stub(TransactionContextManager))
|
||||
],
|
||||
transaction: Annotated[TransactionContextManager, Depends(Stub(TransactionContextManager))],
|
||||
password_hasher: Annotated[PasswordHasher, Depends(Stub(PasswordHasher))],
|
||||
) -> CreateUser:
|
||||
return CreateUser(
|
||||
@@ -29,19 +26,13 @@ def provide_create_user(
|
||||
|
||||
def provide_get_companies_by_email(
|
||||
company_repository: Annotated[CompanyRepository, Depends(Stub(CompanyRepository))],
|
||||
transaction: Annotated[
|
||||
TransactionContextManager, Depends(Stub(TransactionContextManager))
|
||||
],
|
||||
transaction: Annotated[TransactionContextManager, Depends(Stub(TransactionContextManager))],
|
||||
) -> GetCompaniesByOwnerEmail:
|
||||
return GetCompaniesByOwnerEmail(
|
||||
transaction=transaction, company_repository=company_repository
|
||||
)
|
||||
return GetCompaniesByOwnerEmail(transaction=transaction, company_repository=company_repository)
|
||||
|
||||
|
||||
def provide_create_company(
|
||||
company_repository: Annotated[CompanyRepository, Depends(Stub(CompanyRepository))],
|
||||
transaction: Annotated[
|
||||
TransactionContextManager, Depends(Stub(TransactionContextManager))
|
||||
],
|
||||
transaction: Annotated[TransactionContextManager, Depends(Stub(TransactionContextManager))],
|
||||
) -> CreateCompany:
|
||||
return CreateCompany(transaction=transaction, company_repository=company_repository)
|
||||
|
@@ -30,9 +30,7 @@ class DepartmentModel(Base):
|
||||
)
|
||||
name: Mapped[str]
|
||||
address: Mapped[str]
|
||||
company_id: Mapped[uuid.UUID] = mapped_column(
|
||||
ForeignKey("company.id", ondelete="CASCADE")
|
||||
)
|
||||
company_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("company.id", ondelete="CASCADE"))
|
||||
|
||||
|
||||
class CompanyDepartmentModel(Base):
|
||||
|
@@ -1,8 +1,13 @@
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from api.domain.company.model import (Company, CompanyAddress, CompanyEmail,
|
||||
CompanyId, CompanyName)
|
||||
from api.domain.company.model import (
|
||||
Company,
|
||||
CompanyAddress,
|
||||
CompanyEmail,
|
||||
CompanyId,
|
||||
CompanyName,
|
||||
)
|
||||
from api.domain.company.repository import CompanyRepository
|
||||
from api.domain.user.model import UserId
|
||||
|
||||
|
@@ -2,8 +2,7 @@ from sqlalchemy import text
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from api.domain.user import User, UserRepository
|
||||
from api.domain.user.model import (UserEmail, UserFirstName, UserId,
|
||||
UserLastName)
|
||||
from api.domain.user.model import UserEmail, UserFirstName, UserId, UserLastName
|
||||
|
||||
|
||||
class SqlAlchemyUserRepository(UserRepository):
|
||||
|
Reference in New Issue
Block a user