/**
  * Store a newly created GcmMessage in storage.
  * POST /gcmMessages
  *
  * @param Request $request
  *
  * @return Response
  */
 public function store(Request $request)
 {
     if (sizeof(GcmMessage::$rules) > 0) {
         $this->validateRequestOrFail($request, GcmMessage::$rules);
     }
     $input = $request->all();
     $gcmMessages = $this->gcmMessageRepository->create($input);
     return $this->sendResponse($gcmMessages->toArray(), "GcmMessage saved successfully");
 }
 /**
  * Store a newly created GcmMessage in storage.
  *
  * @param CreateGcmMessageRequest $request
  *
  * @return Response
  */
 public function store(CreateGcmMessageRequest $request)
 {
     $input = $request->all();
     $gcmMessage = $this->gcmMessageRepository->create($input);
     if ($request->file('image')) {
         $uploadImage = $this->uploadImage($request->file('image'), '/gcms_photo/');
         $input['image'] = $uploadImage['resize_url'][0];
     }
     $device_list = [];
     if ($input['user_id'] != 'All') {
         $gcm = Gcm::where('user_id', $input['user_id'])->first();
         $device_list[] = PushNotification::Device($gcm->reg_id);
     } else {
         $gcm = Gcm::all();
         foreach ($gcm as $key => $value) {
             $device_list[] = PushNotification::Device($value->reg_id);
         }
     }
     $devices = PushNotification::DeviceCollection($device_list);
     $message = PushNotification::Message(json_encode($input), array());
     $collection = PushNotification::app('appNameAndroid')->to($devices)->send($message);
     Flash::success('GcmMessage saved successfully.');
     return redirect(route('gcmMessages.index'));
 }