From ffa45347bb17a4c5b6ab273a3331e63435bc0301 Mon Sep 17 00:00:00 2001 From: Fanilo-Nantenaina Date: Mon, 29 Dec 2025 20:16:23 +0300 Subject: [PATCH] feat: Implement Universign e-signature integration with dedicated utility functions. --- api.py | 10 +++++----- utils/__init__.py | 0 utils/generic_functions.py | 8 ++------ 3 files changed, 7 insertions(+), 11 deletions(-) create mode 100644 utils/__init__.py diff --git a/api.py b/api.py index 14c2288..ccc8c8d 100644 --- a/api.py +++ b/api.py @@ -4,7 +4,7 @@ from fastapi.responses import StreamingResponse from fastapi.encoders import jsonable_encoder from pydantic import BaseModel, Field, EmailStr from typing import List, Optional -from datetime import datetime +from datetime import datetime import uvicorn from contextlib import asynccontextmanager import uuid @@ -73,7 +73,7 @@ from schemas import ( FamilleCreateRequest, FamilleListResponse, ContactCreate, - ContactUpdate + ContactUpdate, ) from utils.generic_functions import universign_envoyer, universign_statut from utils.normalization import normaliser_type_tiers @@ -2842,14 +2842,14 @@ async def creer_contact(numero: str, contact: ContactCreate): contact.numero = numero resultat = sage_client.creer_contact(contact.dict()) - + if isinstance(resultat, dict) and "data" in resultat: contact_data = resultat["data"] else: contact_data = resultat - + return Contact(**contact_data) - + except HTTPException: raise except Exception as e: diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/generic_functions.py b/utils/generic_functions.py index ed7cec5..3d87cc4 100644 --- a/utils/generic_functions.py +++ b/utils/generic_functions.py @@ -3,19 +3,14 @@ from typing import Dict from config import settings import logging -from typing import Dict from datetime import datetime import uuid -import logging import requests from sqlalchemy.ext.asyncio import AsyncSession -from config import settings from data.data import templates_signature_email from database import EmailLog, StatutEmail as StatutEmailEnum -from email_queue import email_queue -from data.data import templates_signature_email logger = logging.getLogger(__name__) @@ -27,7 +22,8 @@ async def universign_envoyer( doc_data: Dict, session: AsyncSession, ) -> Dict: - import requests + + from email_queue import email_queue try: api_key = settings.universign_api_key