feat: Implement Universign e-signature integration with dedicated utility functions.

This commit is contained in:
Fanilo-Nantenaina 2025-12-29 20:16:23 +03:00
parent 3dfad26c75
commit ffa45347bb
3 changed files with 7 additions and 11 deletions

10
api.py
View file

@ -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:

0
utils/__init__.py Normal file
View file

View file

@ -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