de4aaa1d64
Ajoute la géolocalisation aux adresses Client et Fournisseur, socle de la tournée commerciale (M6 field-sales). Back : - migration : latitude/longitude NUMERIC(10,7), geo_manual BOOLEAN, geocoded_at TIMESTAMPTZ sur client_address et supplier_address (+ COMMENT ON COLUMN FR) - GeolocatableAddressInterface (Shared/Domain/Contract) implémenté par les deux entités ; bornes WGS84 validées (Range -90/90, -180/180, messages FR) - GeocoderInterface + BanGeocoder (api-adresse.data.gouv.fr), branché via AddressGeocoder dans les processors ; géocodage auto au create/update - RG-6.08 : geo_manual=true fige les coordonnées (pas de réécriture auto) - symfony/http-client passe en dépendance de production Front : - AddressGeoPin (Leaflet + OSM) : marqueur déplaçable -> PATCH lat/lng + geoManual=true, bouton Re-géocoder, badges « à géolocaliser » / « pin manuel » - intégration dans les blocs adresse Client et Fournisseur Tests : PHPUnit (géocodage create, non-réécriture RG-6.08, mapping BAN, bornes) + Vitest (drag du pin, badges, re-géocodage).
49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
# yaml-language-server: $schema=../vendor/symfony/dependency-injection/Loader/schema/services.schema.json
|
|
|
|
parameters:
|
|
|
|
imports:
|
|
- { resource: version.yaml }
|
|
|
|
services:
|
|
# default configuration for services in *this* file
|
|
_defaults:
|
|
autowire: true # Automatically injects dependencies in your services.
|
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
|
|
|
# makes classes in src/ available to be used as services
|
|
# this creates a service per class whose id is the fully-qualified class name
|
|
App\:
|
|
resource: '../src/'
|
|
|
|
App\Module\Core\Domain\Repository\PermissionRepositoryInterface:
|
|
alias: App\Module\Core\Infrastructure\Doctrine\DoctrinePermissionRepository
|
|
|
|
App\Module\Core\Domain\Repository\RoleRepositoryInterface:
|
|
alias: App\Module\Core\Infrastructure\Doctrine\DoctrineRoleRepository
|
|
|
|
App\Module\Core\Domain\Repository\UserRepositoryInterface:
|
|
alias: App\Module\Core\Infrastructure\Doctrine\DoctrineUserRepository
|
|
|
|
App\Module\Sites\Domain\Repository\SiteRepositoryInterface:
|
|
alias: App\Module\Sites\Infrastructure\Doctrine\DoctrineSiteRepository
|
|
|
|
App\Shared\Domain\Contract\SiteProviderInterface:
|
|
alias: App\Module\Sites\Infrastructure\Doctrine\DoctrineSiteRepository
|
|
|
|
App\Module\Sites\Application\Service\CurrentSiteProviderInterface:
|
|
alias: App\Module\Sites\Application\Service\CurrentSiteProvider
|
|
|
|
# Geocodage des adresses Tiers (M6.1) : BAN api-adresse.data.gouv.fr.
|
|
App\Shared\Domain\Contract\GeocoderInterface:
|
|
alias: App\Shared\Infrastructure\Geocoding\BanGeocoder
|
|
|
|
# En test : geocodeur en memoire, deterministe et sans reseau (les tests
|
|
# fonctionnels d'adresse ne doivent jamais appeler la BAN reelle).
|
|
when@test:
|
|
services:
|
|
App\Tests\Fixtures\Geocoding\InMemoryGeocoder: ~
|
|
|
|
App\Shared\Domain\Contract\GeocoderInterface:
|
|
alias: App\Tests\Fixtures\Geocoding\InMemoryGeocoder
|