From fee37b5af3b51e4f68a07a3973b74aee17cad943 Mon Sep 17 00:00:00 2001 From: nobohan Date: Wed, 12 May 2021 12:21:19 +0200 Subject: [PATCH] address selection: use API points for Country and PostalCode + remove obsolet Address Controller --- .../Controller/AddressController.php | 63 ---------------- .../Resources/public/vuejs/_api/AddAddress.js | 32 ++++---- .../public/vuejs/_components/AddAddress.vue | 74 +++++++++---------- .../AddAddress/CountrySelection.vue | 16 ++-- 4 files changed, 63 insertions(+), 122 deletions(-) delete mode 100644 src/Bundle/ChillMainBundle/Controller/AddressController.php diff --git a/src/Bundle/ChillMainBundle/Controller/AddressController.php b/src/Bundle/ChillMainBundle/Controller/AddressController.php deleted file mode 100644 index 1aeb39062..000000000 --- a/src/Bundle/ChillMainBundle/Controller/AddressController.php +++ /dev/null @@ -1,63 +0,0 @@ -json($address); - default: - throw new BadRequestException('Unsupported format'); - } - } - - - /** - * Get API Data for showing endpoint - * - * @Route( - * "/{_locale}/main/api/1.0/address-reference/{address_reference_id}/show.{_format}", - * name="chill_main_address_reference_api_show" - * ) - * @ParamConverter("addressReference", options={"id": "address_reference_id"}) - */ - public function showAddressReference(AddressReference $addressReference, $_format): Response - { - // TODO check ACL ? - switch ($_format) { - case 'json': - return $this->json($addressReference); - default: - throw new BadRequestException('Unsupported format'); - } - - } -} diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js index 4de0fcc19..2e80572b7 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js @@ -1,26 +1,32 @@ /* * Endpoint countries GET -* TODO +* method GET, get Country Object +* @returns {Promise} a promise containing all Country object */ const fetchCountries = () => { console.log('<<< fetching countries'); - return [ - {id: 1, name: 'France', countryCode: 'FR'}, - {id: 2, name: 'Belgium', countryCode: 'BE'} - ]; + + const url = `/api/1.0/main/country.json`; + return fetch(url) + .then(response => { + if (response.ok) { return response.json(); } + throw Error('Error with request resource response'); + }); }; /* -* Endpoint cities GET +* Endpoint cities GET * TODO */ -const fetchCities = (country) => { +const fetchCities = (country) => { console.log('<<< fetching cities for', country); - return [ - {id: 1, name: 'Bruxelles', code: '1000', country: 'BE'}, - {id: 2, name: 'Aisne', code: '85045', country: 'FR'}, - {id: 3, name: 'Saint-Gervais', code: '85230', country: 'FR'} - ]; + //TODO use country + const url = `/api/1.0/main/postal-code.json`; + return fetch(url) + .then(response => { + if (response.ok) { return response.json(); } + throw Error('Error with request resource response'); + }); }; /* @@ -30,7 +36,7 @@ const fetchCities = (country) => { */ const fetchReferenceAddresses = (city) => { console.log('<<< fetching references addresses for', city); // city n'est pas utilisé pour le moment - + const url = `/api/1.0/main/address-reference.json`; return fetch(url) .then(response => { diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue index 55cf2f098..f304f3c45 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddAddress.vue @@ -13,14 +13,14 @@