batch import csv

This commit is contained in:
debu-2 2026-10-05 04:53:45 +05:30
parent a679775f57
commit dd0ceef665
20 changed files with 1614 additions and 190 deletions

View file

@ -10,10 +10,13 @@ from app.models import Account
from app.routers.auth import validate_password
from app.schemas import (
OrgMemberCreate,
OrgMemberImportRequest,
OrgMemberImportResponse,
OrgMemberListResponse,
OrgMemberRead,
OrgMemberRoleUpdate,
)
from app.services.org_member_import import import_org_members
from app.services.org_members import (
create_org_member,
list_org_members,
@ -62,6 +65,23 @@ async def add_person(
) from error
@router.post("/import", response_model=OrgMemberImportResponse)
async def import_people(
payload: OrgMemberImportRequest,
manager: Account = Depends(require_org_manager),
session: AsyncSession = Depends(get_postgres_session),
) -> OrgMemberImportResponse:
try:
result = await import_org_members(session, manager=manager, payload=payload)
await session.commit()
return result
except ValueError as error:
raise HTTPException(
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
detail=str(error),
) from error
@router.patch("/{member_id}/role", response_model=OrgMemberRead)
async def update_member_role(
member_id: UUID,