input('token'); if(!$token) return response(json_encode(['error' => 'no token provided']))->header('Content-Type', 'application/json'); $db = DB::table('databases')->where('write_token','=',$token)->first(); if(!$db) return response(json_encode(['error' => 'invalid token']))->header('Content-Type', 'application/json'); if(!is_array($request->input('locations'))) return response(json_encode(['error' => 'invalid input', 'error_description' => 'parameter "locations" must be an array of location data with a "timestamp" property']))->header('Content-Type', 'application/json'); $qz = new Quartz\DB(env('STORAGE_DIR').$db->name, 'w'); foreach($request->input('locations') as $loc) { $date = DateTime::createFromFormat('U', $loc['timestamp']); $line = $qz->add($date, $loc); } return response(json_encode(['result' => 'ok']))->header('Content-Type', 'application/json'); } }