/** * @param $token * @param iterinary_id * @param $destination_name * @param $lng * @param $price * @param $lat * @return \Illuminate\Http\JsonResponse */ public static function endSegment($token, $iterinary_id, $destination_name, $lng, $lat, $price = 0) { $iterinary = Iterinary::find($iterinary_id); $route = $iterinary->route; $segment = $route->segments()->where('destination_name', '=', '')->orWhere('destination_name', '=', 'null')->first(); $segment->destination_name = $destination_name; $segment->destination_pos = $lat . ',' . $lng; $segment->price = $price; $segment->distance = GeolocationHelper::calculateDistance($segment); $segment->duration = GeolocationHelper::calculateDuration($segment); $points = array_merge(GeolocationHelper::parseLongLat($segment->origin_pos), [$lng, $lat]); // update activity model $activity = $segment->activity; foreach ($activity as $item) { //add ent time to activity $item->end_time = Carbon::now()->toTimeString(); $item->save(); } // $segment->path = GeolocationHelper::encode($points); if ($segment->save()) { $iterinary = Iterinary::findOrFail($iterinary_id)->with('activities.typable')->first(); return response()->json($iterinary, 200); } return response()->json('error', 403); }
public function getAll() { //add a compiled polyline of all activities $iterinary_id = Input::get('iterinary'); // return response()->json($iterinary_id); $token = Input::get('token'); if (isset($iterinary_id) || $iterinary_id) { $iterinary = Iterinary::find($iterinary_id); if (!isset($iterinary) || $iterinary == null) { $message = ['err' => '404', 'message' => ' iterinary not found']; return response()->json($message); } $activities = $iterinary->activities()->with('typable')->get(); return response()->json($activities, 200); } else { $iterinary = UserSessionHandler::getUserCurrentIterinary($token); if ($iterinary['err'] == 'err') { return response()->json($iterinary, 403); } if (!isset($iterinary) || $iterinary == null) { $message = ['err' => '403', 'message' => 'no current iterinary']; return response()->json($message); } $activities = $iterinary->activities()->with('typable')->get(); return response()->json($activities, 200); } }
public function getByDay($iterinary, $day) { $iterinary = Iterinary::find($iterinary); $activities = $iterinary->activities()->day($day)->with('typable')->get(); $data = collect([]); $data->offsetSet('iterinary', $iterinary); $data->offsetSet('activities', $activities); return response()->json($data, 200); }