refactor(api): replace get_current_user with get_sage_client_for_user in dependencies
This commit is contained in:
parent
a1150390f4
commit
fa95d0d117
3 changed files with 114 additions and 119 deletions
174
api.py
174
api.py
|
|
@ -212,7 +212,7 @@ app.include_router(entreprises_router)
|
||||||
async def obtenir_clients(
|
async def obtenir_clients(
|
||||||
query: Optional[str] = Query(None),
|
query: Optional[str] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
clients = sage.lister_clients(filtre=query or "")
|
clients = sage.lister_clients(filtre=query or "")
|
||||||
|
|
@ -226,7 +226,7 @@ async def obtenir_clients(
|
||||||
async def lire_client_detail(
|
async def lire_client_detail(
|
||||||
code: str,
|
code: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
client = sage.lire_client(code)
|
client = sage.lire_client(code)
|
||||||
|
|
@ -249,7 +249,7 @@ async def modifier_client(
|
||||||
client_update: ClientUpdate,
|
client_update: ClientUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_client(code, client_update.dict(exclude_none=True))
|
resultat = sage.modifier_client(code, client_update.dict(exclude_none=True))
|
||||||
|
|
@ -275,7 +275,7 @@ async def ajouter_client(
|
||||||
client: ClientCreate,
|
client: ClientCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
nouveau_client = sage.creer_client(client.model_dump(mode="json"))
|
nouveau_client = sage.creer_client(client.model_dump(mode="json"))
|
||||||
|
|
@ -300,7 +300,7 @@ async def ajouter_client(
|
||||||
async def rechercher_articles(
|
async def rechercher_articles(
|
||||||
query: Optional[str] = Query(None),
|
query: Optional[str] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
articles = sage.lister_articles(filtre=query or "")
|
articles = sage.lister_articles(filtre=query or "")
|
||||||
|
|
@ -319,7 +319,7 @@ async def rechercher_articles(
|
||||||
async def creer_article(
|
async def creer_article(
|
||||||
article: ArticleCreate,
|
article: ArticleCreate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
if not article.reference or not article.designation:
|
if not article.reference or not article.designation:
|
||||||
|
|
@ -360,7 +360,7 @@ async def modifier_article(
|
||||||
reference: str = Path(..., description="Référence de l'article à modifier"),
|
reference: str = Path(..., description="Référence de l'article à modifier"),
|
||||||
article: ArticleUpdate = Body(...),
|
article: ArticleUpdate = Body(...),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
article_data = article.dict(exclude_unset=True)
|
article_data = article.dict(exclude_unset=True)
|
||||||
|
|
@ -404,7 +404,7 @@ async def modifier_article(
|
||||||
async def lire_article(
|
async def lire_article(
|
||||||
reference: str = Path(..., description="Référence de l'article"),
|
reference: str = Path(..., description="Référence de l'article"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
article = sage.lire_article(reference)
|
article = sage.lire_article(reference)
|
||||||
|
|
@ -434,7 +434,7 @@ async def lire_article(
|
||||||
async def creer_devis(
|
async def creer_devis(
|
||||||
devis: DevisRequest,
|
devis: DevisRequest,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis_data = {
|
devis_data = {
|
||||||
|
|
@ -474,7 +474,7 @@ async def modifier_devis(
|
||||||
devis_update: DevisUpdate,
|
devis_update: DevisUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
update_data = {}
|
update_data = {}
|
||||||
|
|
@ -520,7 +520,7 @@ async def creer_commande(
|
||||||
commande: CommandeCreate,
|
commande: CommandeCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
commande_data = {
|
commande_data = {
|
||||||
|
|
@ -570,7 +570,7 @@ async def modifier_commande(
|
||||||
commande_update: CommandeUpdate,
|
commande_update: CommandeUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
update_data = {}
|
update_data = {}
|
||||||
|
|
@ -619,7 +619,7 @@ async def lister_devis(
|
||||||
True, description="Inclure les lignes de chaque devis"
|
True, description="Inclure les lignes de chaque devis"
|
||||||
),
|
),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis_list = sage.lister_devis(
|
devis_list = sage.lister_devis(
|
||||||
|
|
@ -636,7 +636,7 @@ async def lister_devis(
|
||||||
async def lire_devis(
|
async def lire_devis(
|
||||||
id: str,
|
id: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis = sage.lire_devis(id)
|
devis = sage.lire_devis(id)
|
||||||
|
|
@ -657,7 +657,7 @@ async def lire_devis(
|
||||||
async def telecharger_devis_pdf(
|
async def telecharger_devis_pdf(
|
||||||
id: str,
|
id: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
pdf_bytes = email_queue._generate_pdf(id, TypeDocument.DEVIS)
|
pdf_bytes = email_queue._generate_pdf(id, TypeDocument.DEVIS)
|
||||||
|
|
@ -680,7 +680,7 @@ async def telecharger_document_pdf(
|
||||||
),
|
),
|
||||||
numero: str = Path(..., description="Numéro du document"),
|
numero: str = Path(..., description="Numéro du document"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
types_labels = {
|
types_labels = {
|
||||||
|
|
@ -737,7 +737,7 @@ async def envoyer_devis_email(
|
||||||
request: EmailEnvoi,
|
request: EmailEnvoi,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
tous_destinataires = [request.destinataire] + request.cc + request.cci
|
tous_destinataires = [request.destinataire] + request.cc + request.cci
|
||||||
|
|
@ -793,7 +793,7 @@ async def changer_statut_document(
|
||||||
..., ge=0, le=6, description="0=Saisi, 1=Confirmé, 2=Accepté"
|
..., ge=0, le=6, description="0=Saisi, 1=Confirmé, 2=Accepté"
|
||||||
),
|
),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
document_type_sql = None
|
document_type_sql = None
|
||||||
document_type_code = None
|
document_type_code = None
|
||||||
|
|
@ -910,7 +910,7 @@ async def changer_statut_document(
|
||||||
async def lire_commande(
|
async def lire_commande(
|
||||||
id: str,
|
id: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
commande = sage.lire_document(id, TypeDocumentSQL.BON_COMMANDE)
|
commande = sage.lire_document(id, TypeDocumentSQL.BON_COMMANDE)
|
||||||
|
|
@ -929,7 +929,7 @@ async def lister_commandes(
|
||||||
limit: int = Query(100, le=1000),
|
limit: int = Query(100, le=1000),
|
||||||
statut: Optional[int] = Query(None),
|
statut: Optional[int] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
commandes = sage.lister_commandes(limit=limit, statut=statut)
|
commandes = sage.lister_commandes(limit=limit, statut=statut)
|
||||||
|
|
@ -945,7 +945,7 @@ async def devis_vers_commande(
|
||||||
id: str,
|
id: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.transformer_document(
|
resultat = sage.transformer_document(
|
||||||
|
|
@ -990,7 +990,7 @@ async def commande_vers_facture(
|
||||||
id: str,
|
id: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.transformer_document(
|
resultat = sage.transformer_document(
|
||||||
|
|
@ -1092,7 +1092,7 @@ async def valider_remise(
|
||||||
client_id: str = Query(..., min_length=1),
|
client_id: str = Query(..., min_length=1),
|
||||||
remise_pourcentage: float = Query(0.0, ge=0, le=100),
|
remise_pourcentage: float = Query(0.0, ge=0, le=100),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
remise_max = sage.lire_remise_max_client(client_id)
|
remise_max = sage.lire_remise_max_client(client_id)
|
||||||
|
|
@ -1126,7 +1126,7 @@ async def relancer_devis_signature(
|
||||||
relance: RelanceDevis,
|
relance: RelanceDevis,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis = sage.lire_devis(id)
|
devis = sage.lire_devis(id)
|
||||||
|
|
@ -1193,7 +1193,7 @@ class ContactClientResponse(BaseModel):
|
||||||
async def recuperer_contact_devis(
|
async def recuperer_contact_devis(
|
||||||
id: str,
|
id: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis = sage.lire_devis(id)
|
devis = sage.lire_devis(id)
|
||||||
|
|
@ -1221,7 +1221,7 @@ async def lister_factures(
|
||||||
limit: int = Query(100, le=1000),
|
limit: int = Query(100, le=1000),
|
||||||
statut: Optional[int] = Query(None),
|
statut: Optional[int] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
factures = sage.lister_factures(limit=limit, statut=statut)
|
factures = sage.lister_factures(limit=limit, statut=statut)
|
||||||
|
|
@ -1236,7 +1236,7 @@ async def lister_factures(
|
||||||
async def lire_facture_detail(
|
async def lire_facture_detail(
|
||||||
numero: str,
|
numero: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
facture = sage.lire_document(numero, TypeDocumentSQL.FACTURE)
|
facture = sage.lire_document(numero, TypeDocumentSQL.FACTURE)
|
||||||
|
|
@ -1263,7 +1263,7 @@ async def creer_facture(
|
||||||
facture: FactureCreate,
|
facture: FactureCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
facture_data = {
|
facture_data = {
|
||||||
|
|
@ -1313,7 +1313,7 @@ async def modifier_facture(
|
||||||
facture_update: FactureUpdate,
|
facture_update: FactureUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
update_data = {}
|
update_data = {}
|
||||||
|
|
@ -1383,7 +1383,7 @@ async def relancer_facture(
|
||||||
relance: RelanceFacture,
|
relance: RelanceFacture,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
facture = sage.lire_document(id, TypeDocumentSQL.FACTURE)
|
facture = sage.lire_document(id, TypeDocumentSQL.FACTURE)
|
||||||
|
|
@ -1454,7 +1454,7 @@ async def journal_emails(
|
||||||
limit: int = Query(100, le=1000),
|
limit: int = Query(100, le=1000),
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
query = select(EmailLog)
|
query = select(EmailLog)
|
||||||
|
|
||||||
|
|
@ -1490,7 +1490,7 @@ async def exporter_logs_csv(
|
||||||
statut: Optional[StatutEmail] = Query(None),
|
statut: Optional[StatutEmail] = Query(None),
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
query = select(EmailLog)
|
query = select(EmailLog)
|
||||||
if statut:
|
if statut:
|
||||||
|
|
@ -1647,7 +1647,7 @@ async def supprimer_template(
|
||||||
async def previsualiser_email(
|
async def previsualiser_email(
|
||||||
preview: TemplatePreview,
|
preview: TemplatePreview,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
if preview.template_id not in templates_email_db:
|
if preview.template_id not in templates_email_db:
|
||||||
raise HTTPException(404, f"Template {preview.template_id} introuvable")
|
raise HTTPException(404, f"Template {preview.template_id} introuvable")
|
||||||
|
|
@ -1686,7 +1686,7 @@ async def previsualiser_email(
|
||||||
async def rechercher_prospects(
|
async def rechercher_prospects(
|
||||||
query: Optional[str] = Query(None),
|
query: Optional[str] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
prospects = sage.lister_prospects(filtre=query or "")
|
prospects = sage.lister_prospects(filtre=query or "")
|
||||||
|
|
@ -1700,7 +1700,7 @@ async def rechercher_prospects(
|
||||||
async def lire_prospect(
|
async def lire_prospect(
|
||||||
code: str,
|
code: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
prospect = sage.lire_prospect(code)
|
prospect = sage.lire_prospect(code)
|
||||||
|
|
@ -1720,7 +1720,7 @@ async def lire_prospect(
|
||||||
async def rechercher_fournisseurs(
|
async def rechercher_fournisseurs(
|
||||||
query: Optional[str] = Query(None),
|
query: Optional[str] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
fournisseurs = sage.lister_fournisseurs(filtre=query or "")
|
fournisseurs = sage.lister_fournisseurs(filtre=query or "")
|
||||||
|
|
@ -1742,7 +1742,7 @@ async def ajouter_fournisseur(
|
||||||
fournisseur: FournisseurCreate,
|
fournisseur: FournisseurCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
nouveau_fournisseur = sage.creer_fournisseur(fournisseur.dict())
|
nouveau_fournisseur = sage.creer_fournisseur(fournisseur.dict())
|
||||||
|
|
@ -1772,7 +1772,7 @@ async def modifier_fournisseur(
|
||||||
fournisseur_update: FournisseurUpdate,
|
fournisseur_update: FournisseurUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.modifier_fournisseur(
|
resultat = sage.modifier_fournisseur(
|
||||||
|
|
@ -1795,7 +1795,7 @@ async def modifier_fournisseur(
|
||||||
async def lire_fournisseur(
|
async def lire_fournisseur(
|
||||||
code: str,
|
code: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
fournisseur = sage.lire_fournisseur(code)
|
fournisseur = sage.lire_fournisseur(code)
|
||||||
|
|
@ -1814,7 +1814,7 @@ async def lister_avoirs(
|
||||||
limit: int = Query(100, le=1000),
|
limit: int = Query(100, le=1000),
|
||||||
statut: Optional[int] = Query(None),
|
statut: Optional[int] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
avoirs = sage.lister_avoirs(limit=limit, statut=statut)
|
avoirs = sage.lister_avoirs(limit=limit, statut=statut)
|
||||||
|
|
@ -1828,7 +1828,7 @@ async def lister_avoirs(
|
||||||
async def lire_avoir(
|
async def lire_avoir(
|
||||||
numero: str,
|
numero: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
avoir = sage.lire_document(numero, TypeDocumentSQL.BON_AVOIR)
|
avoir = sage.lire_document(numero, TypeDocumentSQL.BON_AVOIR)
|
||||||
|
|
@ -1847,7 +1847,7 @@ async def creer_avoir(
|
||||||
avoir: AvoirCreate,
|
avoir: AvoirCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
avoir_data = {
|
avoir_data = {
|
||||||
|
|
@ -1895,7 +1895,7 @@ async def modifier_avoir(
|
||||||
avoir_update: AvoirUpdate,
|
avoir_update: AvoirUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
update_data = {}
|
update_data = {}
|
||||||
|
|
@ -1941,7 +1941,7 @@ async def lister_livraisons(
|
||||||
limit: int = Query(100, le=1000),
|
limit: int = Query(100, le=1000),
|
||||||
statut: Optional[int] = Query(None),
|
statut: Optional[int] = Query(None),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
livraisons = sage.lister_livraisons(limit=limit, statut=statut)
|
livraisons = sage.lister_livraisons(limit=limit, statut=statut)
|
||||||
|
|
@ -1955,7 +1955,7 @@ async def lister_livraisons(
|
||||||
async def lire_livraison(
|
async def lire_livraison(
|
||||||
numero: str,
|
numero: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
livraison = sage.lire_document(numero, TypeDocumentSQL.BON_LIVRAISON)
|
livraison = sage.lire_document(numero, TypeDocumentSQL.BON_LIVRAISON)
|
||||||
|
|
@ -1974,7 +1974,7 @@ async def creer_livraison(
|
||||||
livraison: LivraisonCreate,
|
livraison: LivraisonCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
livraison_data = {
|
livraison_data = {
|
||||||
|
|
@ -2028,7 +2028,7 @@ async def modifier_livraison(
|
||||||
livraison_update: LivraisonUpdate,
|
livraison_update: LivraisonUpdate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
update_data = {}
|
update_data = {}
|
||||||
|
|
@ -2074,7 +2074,7 @@ async def livraison_vers_facture(
|
||||||
id: str,
|
id: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.transformer_document(
|
resultat = sage.transformer_document(
|
||||||
|
|
@ -2118,7 +2118,7 @@ async def devis_vers_facture_direct(
|
||||||
id: str,
|
id: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
devis_existant = sage.lire_devis(id)
|
devis_existant = sage.lire_devis(id)
|
||||||
|
|
@ -2179,7 +2179,7 @@ async def commande_vers_livraison(
|
||||||
id: str,
|
id: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
commande_existante = sage.lire_document(id, TypeDocumentSQL.BON_COMMANDE)
|
commande_existante = sage.lire_document(id, TypeDocumentSQL.BON_COMMANDE)
|
||||||
|
|
@ -2251,7 +2251,7 @@ async def commande_vers_livraison(
|
||||||
async def lister_familles(
|
async def lister_familles(
|
||||||
filtre: Optional[str] = Query(None, description="Filtre sur code ou intitulé"),
|
filtre: Optional[str] = Query(None, description="Filtre sur code ou intitulé"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
familles = sage.lister_familles(filtre or "")
|
familles = sage.lister_familles(filtre or "")
|
||||||
|
|
@ -2277,7 +2277,7 @@ async def lister_familles(
|
||||||
async def lire_famille(
|
async def lire_famille(
|
||||||
code: str = Path(..., description="Code de la famille (ex: ZDIVERS)"),
|
code: str = Path(..., description="Code de la famille (ex: ZDIVERS)"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
famille = sage.lire_famille(code)
|
famille = sage.lire_famille(code)
|
||||||
|
|
@ -2313,7 +2313,7 @@ async def lire_famille(
|
||||||
async def creer_famille(
|
async def creer_famille(
|
||||||
famille: FamilleCreate,
|
famille: FamilleCreate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
if not famille.code or not famille.intitule:
|
if not famille.code or not famille.intitule:
|
||||||
|
|
@ -2357,7 +2357,7 @@ async def creer_famille(
|
||||||
async def creer_entree_stock(
|
async def creer_entree_stock(
|
||||||
entree: EntreeStock,
|
entree: EntreeStock,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
entree_data = entree.dict()
|
entree_data = entree.dict()
|
||||||
|
|
@ -2394,7 +2394,7 @@ async def creer_entree_stock(
|
||||||
async def creer_sortie_stock(
|
async def creer_sortie_stock(
|
||||||
sortie: SortieStock,
|
sortie: SortieStock,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
sortie_data = sortie.dict()
|
sortie_data = sortie.dict()
|
||||||
|
|
@ -2430,7 +2430,7 @@ async def creer_sortie_stock(
|
||||||
async def lire_mouvement_stock(
|
async def lire_mouvement_stock(
|
||||||
numero: str = Path(..., description="Numéro du mouvement (ex: ME00123 ou MS00124)"),
|
numero: str = Path(..., description="Numéro du mouvement (ex: ME00123 ou MS00124)"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
mouvement = sage.lire_mouvement_stock(numero)
|
mouvement = sage.lire_mouvement_stock(numero)
|
||||||
|
|
@ -2463,7 +2463,7 @@ async def lire_mouvement_stock(
|
||||||
)
|
)
|
||||||
async def statistiques_familles(
|
async def statistiques_familles(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
stats = sage.get_stats_familles()
|
stats = sage.get_stats_familles()
|
||||||
|
|
@ -2572,7 +2572,7 @@ async def creer_contact(
|
||||||
numero: str,
|
numero: str,
|
||||||
contact: ContactCreate,
|
contact: ContactCreate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
|
|
@ -2605,7 +2605,7 @@ async def creer_contact(
|
||||||
async def lister_contacts(
|
async def lister_contacts(
|
||||||
numero: str,
|
numero: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
contacts = sage.lister_contacts(numero)
|
contacts = sage.lister_contacts(numero)
|
||||||
|
|
@ -2624,7 +2624,7 @@ async def obtenir_contact(
|
||||||
numero: str,
|
numero: str,
|
||||||
contact_numero: int,
|
contact_numero: int,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
contact = sage.obtenir_contact(numero, contact_numero)
|
contact = sage.obtenir_contact(numero, contact_numero)
|
||||||
|
|
@ -2650,7 +2650,7 @@ async def modifier_contact(
|
||||||
contact_numero: int,
|
contact_numero: int,
|
||||||
contact: ContactUpdate,
|
contact: ContactUpdate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
contact_existant = sage.obtenir_contact(numero, contact_numero)
|
contact_existant = sage.obtenir_contact(numero, contact_numero)
|
||||||
|
|
@ -2682,7 +2682,7 @@ async def supprimer_contact(
|
||||||
numero: str,
|
numero: str,
|
||||||
contact_numero: int,
|
contact_numero: int,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
sage.supprimer_contact(numero, contact_numero)
|
sage.supprimer_contact(numero, contact_numero)
|
||||||
|
|
@ -2697,7 +2697,7 @@ async def definir_contact_defaut(
|
||||||
numero: str,
|
numero: str,
|
||||||
contact_numero: int,
|
contact_numero: int,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.definir_contact_defaut(numero, contact_numero)
|
resultat = sage.definir_contact_defaut(numero, contact_numero)
|
||||||
|
|
@ -2719,7 +2719,7 @@ async def obtenir_tiers(
|
||||||
),
|
),
|
||||||
query: Optional[str] = Query(None, description="Recherche sur code ou intitulé"),
|
query: Optional[str] = Query(None, description="Recherche sur code ou intitulé"),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
type_normalise = normaliser_type_tiers(type_tiers)
|
type_normalise = normaliser_type_tiers(type_tiers)
|
||||||
|
|
@ -2734,7 +2734,7 @@ async def obtenir_tiers(
|
||||||
async def lire_tiers_detail(
|
async def lire_tiers_detail(
|
||||||
code: str,
|
code: str,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
tiers = sage.lire_tiers(code)
|
tiers = sage.lire_tiers(code)
|
||||||
|
|
@ -2772,7 +2772,7 @@ async def lister_collaborateurs(
|
||||||
True, description="Exclure les collaborateurs en sommeil"
|
True, description="Exclure les collaborateurs en sommeil"
|
||||||
),
|
),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste tous les collaborateurs"""
|
"""Liste tous les collaborateurs"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2791,7 +2791,7 @@ async def lister_collaborateurs(
|
||||||
async def lire_collaborateur_detail(
|
async def lire_collaborateur_detail(
|
||||||
numero: int,
|
numero: int,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Lit un collaborateur par son numéro"""
|
"""Lit un collaborateur par son numéro"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2818,7 +2818,7 @@ async def lire_collaborateur_detail(
|
||||||
async def creer_collaborateur(
|
async def creer_collaborateur(
|
||||||
collaborateur: CollaborateurCreate,
|
collaborateur: CollaborateurCreate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Crée un nouveau collaborateur"""
|
"""Crée un nouveau collaborateur"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2845,7 +2845,7 @@ async def modifier_collaborateur(
|
||||||
numero: int,
|
numero: int,
|
||||||
collaborateur: CollaborateurUpdate,
|
collaborateur: CollaborateurUpdate,
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Modifie un collaborateur existant"""
|
"""Modifie un collaborateur existant"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2868,7 +2868,7 @@ async def modifier_collaborateur(
|
||||||
@app.get("/societe/info", response_model=SocieteInfo, tags=["Société"])
|
@app.get("/societe/info", response_model=SocieteInfo, tags=["Société"])
|
||||||
async def obtenir_informations_societe(
|
async def obtenir_informations_societe(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
societe = sage.lire_informations_societe()
|
societe = sage.lire_informations_societe()
|
||||||
|
|
@ -2888,7 +2888,7 @@ async def obtenir_informations_societe(
|
||||||
@app.get("/societe/logo", tags=["Société"])
|
@app.get("/societe/logo", tags=["Société"])
|
||||||
async def obtenir_logo_societe(
|
async def obtenir_logo_societe(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Retourne le logo en tant qu'image directe"""
|
"""Retourne le logo en tant qu'image directe"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2913,7 +2913,7 @@ async def obtenir_logo_societe(
|
||||||
@app.get("/societe/preview", response_class=HTMLResponse, tags=["Société"])
|
@app.get("/societe/preview", response_class=HTMLResponse, tags=["Société"])
|
||||||
async def preview_societe(
|
async def preview_societe(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Page HTML pour visualiser les infos société avec logo"""
|
"""Page HTML pour visualiser les infos société avec logo"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -2987,7 +2987,7 @@ async def valider_facture(
|
||||||
numero_facture: str,
|
numero_facture: str,
|
||||||
_: AsyncSession = Depends(get_session),
|
_: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.valider_facture(numero_facture)
|
resultat = sage.valider_facture(numero_facture)
|
||||||
|
|
@ -3011,7 +3011,7 @@ async def devalider_facture(
|
||||||
numero_facture: str,
|
numero_facture: str,
|
||||||
_: AsyncSession = Depends(get_session),
|
_: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.devalider_facture(numero_facture)
|
resultat = sage.devalider_facture(numero_facture)
|
||||||
|
|
@ -3035,7 +3035,7 @@ async def get_statut_validation_facture(
|
||||||
numero_facture: str,
|
numero_facture: str,
|
||||||
_: AsyncSession = Depends(get_session),
|
_: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.get_statut_validation(numero_facture)
|
resultat = sage.get_statut_validation(numero_facture)
|
||||||
|
|
@ -3056,7 +3056,7 @@ async def regler_facture(
|
||||||
reglement: ReglementFactureCreate,
|
reglement: ReglementFactureCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.regler_facture(
|
resultat = sage.regler_facture(
|
||||||
|
|
@ -3100,7 +3100,7 @@ async def regler_factures_multiple(
|
||||||
reglement: ReglementMultipleCreate,
|
reglement: ReglementMultipleCreate,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.regler_factures_client(
|
resultat = sage.regler_factures_client(
|
||||||
|
|
@ -3139,7 +3139,7 @@ async def get_reglements_facture(
|
||||||
numero_facture: str,
|
numero_facture: str,
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.get_reglements_facture(numero_facture)
|
resultat = sage.get_reglements_facture(numero_facture)
|
||||||
|
|
@ -3164,7 +3164,7 @@ async def get_reglements_client(
|
||||||
inclure_soldees: bool = Query(True, description="Inclure les factures soldées"),
|
inclure_soldees: bool = Query(True, description="Inclure les factures soldées"),
|
||||||
session: AsyncSession = Depends(get_session),
|
session: AsyncSession = Depends(get_session),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.get_reglements_client(
|
resultat = sage.get_reglements_client(
|
||||||
|
|
@ -3189,7 +3189,7 @@ async def get_reglements_client(
|
||||||
@app.get("/journaux/banque", tags=["Règlements"])
|
@app.get("/journaux/banque", tags=["Règlements"])
|
||||||
async def get_journaux_banque(
|
async def get_journaux_banque(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
resultat = sage.get_journaux_banque()
|
resultat = sage.get_journaux_banque()
|
||||||
|
|
@ -3202,7 +3202,7 @@ async def get_journaux_banque(
|
||||||
@app.get("/reglements/modes", tags=["Référentiels"])
|
@app.get("/reglements/modes", tags=["Référentiels"])
|
||||||
async def get_modes_reglement(
|
async def get_modes_reglement(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste des modes de règlement disponibles dans Sage"""
|
"""Liste des modes de règlement disponibles dans Sage"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3216,7 +3216,7 @@ async def get_modes_reglement(
|
||||||
@app.get("/devises", tags=["Référentiels"])
|
@app.get("/devises", tags=["Référentiels"])
|
||||||
async def get_devises(
|
async def get_devises(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste des devises disponibles dans Sage"""
|
"""Liste des devises disponibles dans Sage"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3230,7 +3230,7 @@ async def get_devises(
|
||||||
@app.get("/journaux/tresorerie", tags=["Référentiels"])
|
@app.get("/journaux/tresorerie", tags=["Référentiels"])
|
||||||
async def get_journaux_tresorerie(
|
async def get_journaux_tresorerie(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste des journaux de trésorerie (banque + caisse)"""
|
"""Liste des journaux de trésorerie (banque + caisse)"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3249,7 +3249,7 @@ async def get_comptes_generaux(
|
||||||
description="client | fournisseur | banque | caisse | tva | produit | charge",
|
description="client | fournisseur | banque | caisse | tva | produit | charge",
|
||||||
),
|
),
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste des comptes généraux"""
|
"""Liste des comptes généraux"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3263,7 +3263,7 @@ async def get_comptes_generaux(
|
||||||
@app.get("/tva/taux", tags=["Référentiels"])
|
@app.get("/tva/taux", tags=["Référentiels"])
|
||||||
async def get_tva_taux(
|
async def get_tva_taux(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Liste des taux de TVA"""
|
"""Liste des taux de TVA"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3277,7 +3277,7 @@ async def get_tva_taux(
|
||||||
@app.get("/parametres/encaissement", tags=["Référentiels"])
|
@app.get("/parametres/encaissement", tags=["Référentiels"])
|
||||||
async def get_parametres_encaissement(
|
async def get_parametres_encaissement(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
"""Paramètres TVA sur encaissement"""
|
"""Paramètres TVA sur encaissement"""
|
||||||
try:
|
try:
|
||||||
|
|
@ -3324,7 +3324,7 @@ async def get_reglement_detail(rg_no):
|
||||||
@app.get("/health", tags=["System"])
|
@app.get("/health", tags=["System"])
|
||||||
async def health_check(
|
async def health_check(
|
||||||
user: User = Depends(get_current_user),
|
user: User = Depends(get_current_user),
|
||||||
sage: SageGatewayClient = Depends(get_current_user),
|
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||||
):
|
):
|
||||||
gateway_health = sage.health()
|
gateway_health = sage.health()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,6 @@ async def verify_swagger_credentials(credentials: HTTPBasicCredentials) -> bool:
|
||||||
|
|
||||||
|
|
||||||
class SwaggerAuthMiddleware:
|
class SwaggerAuthMiddleware:
|
||||||
|
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
self.app = app
|
self.app = app
|
||||||
|
|
||||||
|
|
@ -55,7 +54,7 @@ class SwaggerAuthMiddleware:
|
||||||
request = Request(scope, receive=receive)
|
request = Request(scope, receive=receive)
|
||||||
path = request.url.path
|
path = request.url.path
|
||||||
|
|
||||||
protected_paths = ["/docs", "/redoc"]
|
protected_paths = ["/docs", "/redoc", "/openapi.json"]
|
||||||
|
|
||||||
if any(path.startswith(protected_path) for protected_path in protected_paths):
|
if any(path.startswith(protected_path) for protected_path in protected_paths):
|
||||||
auth_header = request.headers.get("Authorization")
|
auth_header = request.headers.get("Authorization")
|
||||||
|
|
@ -105,7 +104,6 @@ class SwaggerAuthMiddleware:
|
||||||
|
|
||||||
|
|
||||||
class ApiKeyMiddleware:
|
class ApiKeyMiddleware:
|
||||||
|
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
self.app = app
|
self.app = app
|
||||||
|
|
||||||
|
|
@ -117,24 +115,21 @@ class ApiKeyMiddleware:
|
||||||
request = Request(scope, receive=receive)
|
request = Request(scope, receive=receive)
|
||||||
path = request.url.path
|
path = request.url.path
|
||||||
|
|
||||||
public_exact_paths = [
|
excluded_paths = [
|
||||||
"/",
|
|
||||||
"/health",
|
|
||||||
"/docs",
|
"/docs",
|
||||||
"/redoc",
|
"/redoc",
|
||||||
"/openapi.json",
|
"/openapi.json",
|
||||||
|
"/health",
|
||||||
|
"/",
|
||||||
|
"/auth/login",
|
||||||
|
"/auth/register",
|
||||||
|
"/auth/verify-email",
|
||||||
|
"/auth/reset-password",
|
||||||
|
"/auth/request-reset",
|
||||||
|
"/auth/refresh",
|
||||||
]
|
]
|
||||||
|
|
||||||
public_path_prefixes = [
|
if any(path.startswith(excluded_path) for excluded_path in excluded_paths):
|
||||||
"/api/v1/auth/",
|
|
||||||
]
|
|
||||||
|
|
||||||
is_public = path in public_exact_paths or any(
|
|
||||||
path.startswith(prefix) for prefix in public_path_prefixes
|
|
||||||
)
|
|
||||||
|
|
||||||
if is_public:
|
|
||||||
logger.debug(f"Chemin public: {path}")
|
|
||||||
await self.app(scope, receive, send)
|
await self.app(scope, receive, send)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -145,12 +140,12 @@ class ApiKeyMiddleware:
|
||||||
has_api_key = api_key is not None
|
has_api_key = api_key is not None
|
||||||
|
|
||||||
if has_jwt:
|
if has_jwt:
|
||||||
logger.debug(f"🔑 JWT détecté pour {path}")
|
logger.debug(f" JWT détecté pour {path}")
|
||||||
await self.app(scope, receive, send)
|
await self.app(scope, receive, send)
|
||||||
return
|
return
|
||||||
|
|
||||||
elif has_api_key:
|
elif has_api_key:
|
||||||
logger.debug(f"🔑 API Key détectée pour {path}")
|
logger.debug(f" API Key détectée pour {path}")
|
||||||
|
|
||||||
from services.api_key import ApiKeyService
|
from services.api_key import ApiKeyService
|
||||||
|
|
||||||
|
|
@ -223,9 +218,8 @@ class ApiKeyMiddleware:
|
||||||
response = JSONResponse(
|
response = JSONResponse(
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
content={
|
content={
|
||||||
"detail": "Authentification requise (JWT ou API Key)",
|
"detail": "Authentification requise",
|
||||||
"hint": "Utilisez soit 'X-API-Key: sdk_live_xxx' soit 'Authorization: Bearer <jwt>'",
|
"hint": "Utilisez soit 'X-API-Key: sdk_live_xxx' soit 'Authorization: Bearer <jwt>'",
|
||||||
"endpoint": path,
|
|
||||||
},
|
},
|
||||||
headers={"WWW-Authenticate": 'Bearer realm="API", charset="UTF-8"'},
|
headers={"WWW-Authenticate": 'Bearer realm="API", charset="UTF-8"'},
|
||||||
)
|
)
|
||||||
|
|
@ -239,5 +233,4 @@ def get_api_key_from_request(request: Request) -> Optional:
|
||||||
|
|
||||||
|
|
||||||
def get_auth_method(request: Request) -> str:
|
def get_auth_method(request: Request) -> str:
|
||||||
|
|
||||||
return getattr(request.state, "authenticated_via", "none")
|
return getattr(request.state, "authenticated_via", "none")
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,25 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import sys
|
import sys
|
||||||
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from database import get_session
|
|
||||||
from database.models.api_key import SwaggerUser, ApiKey
|
|
||||||
from services.api_key import ApiKeyService
|
|
||||||
from security.auth import hash_password
|
|
||||||
from sqlalchemy import select
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
from datetime import datetime
|
|
||||||
import logging
|
|
||||||
|
|
||||||
current_dir = Path(__file__).resolve().parent
|
current_dir = Path(__file__).resolve().parent
|
||||||
parent_dir = current_dir.parent
|
parent_dir = current_dir.parent
|
||||||
sys.path.insert(0, str(parent_dir))
|
sys.path.insert(0, str(parent_dir))
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
from datetime import datetime
|
||||||
|
import logging
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO, format="%(levelname)s - %(message)s")
|
logging.basicConfig(level=logging.INFO, format="%(levelname)s - %(message)s")
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
from database import get_session
|
||||||
|
from database.models.api_key import SwaggerUser, ApiKey
|
||||||
|
from services.api_key import ApiKeyService
|
||||||
|
from security.auth import hash_password, verify_password
|
||||||
|
from sqlalchemy import select
|
||||||
|
|
||||||
|
|
||||||
async def add_swagger_user(username: str, password: str, full_name: str = None):
|
async def add_swagger_user(username: str, password: str, full_name: str = None):
|
||||||
"""Ajouter un utilisateur Swagger"""
|
"""Ajouter un utilisateur Swagger"""
|
||||||
|
|
@ -130,7 +132,7 @@ async def create_api_key(
|
||||||
f" Endpoints autorisés: {', '.join(api_key_obj.allowed_endpoints)}"
|
f" Endpoints autorisés: {', '.join(api_key_obj.allowed_endpoints)}"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
logger.info(" Endpoints autorisés: Tous")
|
logger.info(f" Endpoints autorisés: Tous")
|
||||||
|
|
||||||
logger.info("=" * 60)
|
logger.info("=" * 60)
|
||||||
logger.info(" IMPORTANT: Sauvegardez cette clé, elle ne sera plus affichée !")
|
logger.info(" IMPORTANT: Sauvegardez cette clé, elle ne sera plus affichée !")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue