Example #1
0
 /**
  * Add new restaurant suggest and return JSON data
  * route: /restaurants/suggest
  *
  * @param Request $request
  * @return Response
  */
 public function suggestAction(Request $request)
 {
     $data = $request->json()->get('restaurant');
     if (!isset($data['name']) || !isset($data['address']) || !isset($data['latitude']) || !isset($data['longitude']) || !isset($data['user_id'])) {
         $message = "Format should be: {'restaurant': {'name': <string>, 'address': <string>, 'latitude': <double>, 'longitude': <double>, 'user_id': <int>}}";
         return showErrorResponse($message, HTTP_UNPROCESSABLE_ENTITY);
     }
     // Check Ng Words
     $ng_words = NgWord::ngword_filter($data['name'] . ' ' . $data['telephone'] . ' ' . $data['address'] . ' ' . $data['cuisines'] . ' ' . $data['other_details']);
     if ($ng_words) {
         $message = "Bad words found: " . implode(', ', $ng_words);
         return showErrorResponse($message, HTTP_ACCEPTED, CONSTANTS::ERROR_CODE_BADWORDS_FOUND);
     }
     try {
         $restaurant_suggest = new RestaurantsSuggest();
         $restaurant_suggest->addRestaurantSuggest($data);
         $json_return[KeyParser::data] = ModelFormatter::restaurantSuggestFormat($restaurant_suggest);
     } catch (\Exception $e) {
         return showErrorResponse($e->getMessage());
     }
     return response()->json($json_return);
 }