Skip to content
Extraits de code Groupes Projets

Cgscop Endpoint for carto subject

Tous les fils de conversation ont été résolus !
Fusionnées
Thibaud - Le Filamentrequested to merge
carto_fastapi into 14.0
Tous les fils de conversation ont été résolus !
3 files
+ 40
9
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 21
8
@@ -3,7 +3,7 @@ import json
from typing import Annotated
import requests
from fastapi import APIRouter, Depends
from fastapi import APIRouter, Depends, HTTPException
from odoo import fields, models
from odoo.api import Environment
@@ -16,6 +16,8 @@ from ..schemas import PartnerInfo
class FastapiEndpoint(models.Model):
_inherit = "fastapi.endpoint"
alter_event_route = fields.Char()
app: str = fields.Selection(
selection_add=[("cgincub", "cgscop_alter_endpoint")],
ondelete={"cgincub": "cascade"},
@@ -61,11 +63,24 @@ def get_partners(
)
if aggreg_aura:
# TODO
try:
r = requests.get("http://127.0.0.1:14073/toto/partners")
r_json = r.json()
print(r_json)
# TODO: Import URL from DB
fa = env["fastapi.endpoint"].sudo().search([("app", "=", "cgincub")])
alter_event_route = fa.alter_event_route
if not alter_event_route:
raise ConnectionError("Alter_event_route not found")
req = requests.get(alter_event_route)
if req.status_code != 200:
raise HTTPException(
status_code=req.status_code,
detail=f"Error from alter event route: {req.text}",
)
r_json = req.json()
count_before_merge = len(all_partners)
print(f"{count_before_merge} elements from CGscops")
for el in r_json:
all_partners.append(
PartnerInfo(
@@ -84,11 +99,9 @@ def get_partners(
longitude=el["longitude"],
)
)
print(f"{len(all_partners)-count_before_merge} elements from Alterincub")
except ConnectionError as e:
print(f"Connexion issue: {e}")
# Call alterincub_endpoint partner route to aggregate into all_partners
# convert json to PartnerInfo object
# all_partners.append(...)
return all_partners
Chargement en cours