---
# System prepended metadata

title: trip

---

# trip

1. Migrer l'action "getAuthorizedCode" (Appelé dans HttpTransport) afin de renvoyer la liste de code commune du territoire avec les fonctions sql suivantes : 
  - territory.get_com_by_territory_id
  - geo.get_latest_millesime
Attention au typage de authorizedCode
2h

2. Modifier les Params des fonction du service trip qui utilise encore territory_id afin qu'elles utilisent territoryGroupSelector : 
```javascript=
const selector = {
  com: ['', ''],
  epci: ['', ''],
}
```
2h

3. Modifier le middleware ScopeToGroupMiddleware pour chercher la liste des codes communes des selecteurs envoyés et faire un filtre avec authorizedCode (voir 1)
4h

4. Mettre à jour les providers SQL pour utiliser les code communes au lieu des territory_id comme selecteurs géographique (journey_start_insee)
4h

5. Mettre à jour le front pour qu'il envoie les bons paramètres :)
4h

6. BONUS : excluded_start :rocket: 



Les requêtes sql de la :skull_and_crossbones: 
```sql=
with data as (select oo.name, ci.uuid, to_char(cc.datetime, 'YYYY-MM-DD'), count(*) from carpool.carpools as cc join carpool.identities as ci on ci._id = cc.identity_id join operator.operators as oo on oo._id = cc.operator_id where cc.datetime >= '2022-05-01'::timestamp and operator_id <> 14 group by oo.name, ci.uuid, to_char(cc.datetime, 'YYYY-MM-DD')) select distinct uuid, count(*), sum(count), avg(count) from data where count > 2 group by uuid order by avg(count) desc;```