compostage-dans-ma-ville / backend

0 stars 0 forks source link

GET liste de sites par localisation #42

Closed johannchopin closed 1 year ago

johannchopin commented 1 year ago

Ajouter un endpoint /api/sites?latitude={number}&longitude={number}&radius={number}.

Cet endpoint renvoi une liste de sites minimisés:

interface Address {
  houseNumber: string
  streetName: string
  zipCode: number
  city: string
  latitude: number
  longitude: number
}

interface SmallSite {
  id: number
  name: string
  isPublic: boolean
  address: Address
}

Utiliser pour cela l'image docker PostGIS

johannchopin commented 1 year ago

@Lyokolux J'ai modifié la structure de SmallSite pour qu'il renvoit l'adresse complète ce qui le rend plus exploitable côté front et n'impactera que très peu la performance.

Lyokolux commented 1 year ago

@Lyokolux J'ai modifié la structure de SmallSite pour qu'il renvoit l'adresse complète ce qui le rend plus exploitable côté front et n'impactera que très peu la performance.

As-ton besoin de toute l'adresse, ou bien simplement des coordonnées?

johannchopin commented 1 year ago

Yep sinon on a que le nom à montrer a l'utilisateur et ça fait un peut léger 🤔 le but c'est que au niveau donnée on essaye d'avoir max 2 interfaces pour une seule entité genre Entity et SmallEntity.

Lyokolux commented 1 year ago

Pourquoi? Si l'utilisateur sélectionne un site, on le récupère entièrement.

Lyokolux commented 1 year ago

Comme discuté, on utilise plusieurs endpoints 👍

Lyokolux commented 1 year ago

Support: https://freddydumont.com/blog/prisma-postgis

Lyokolux commented 1 year ago

Typecasting an unsupported type is unknown: https://github.com/prisma/prisma/issues/18544

So we have to find another workaround to integrate PostGIS points.

Lyokolux commented 1 year ago

Postgis is sadly unsupported

Image

Lyokolux commented 1 year ago

It is not possible to remap the ignored/unsupported field to another one:

Bildschirmfoto 2023-05-01 um 10 34 24
Lyokolux commented 1 year ago

Nouveau scope: au lieu d'utiliser PostGIS, nous utiliserons un filtre depuis les coordonnées latitude, longitude directement.