/** * Update Edge * * Request to update a edge in the collection * * @param array/Edge $data - Array of the data for edge / Edge Object to replace . * @param string $collection - specify the collectionID to update the edge from. * @param string $id - specify the edge ID to update the edge. * @param array $param - Array of parameters to send to the database as a options for edge request. * * @return array/Edge $response/$data - Return a response array of the request/Edge object. */ public function UpdateEdge($data, $collection = NULL, $id = NULL, $param = NULL) { $option = array(); if (isset($param['waitForSync'])) { $option['waitForSync'] = $param['waitForSync']; } if (isset($param['keepNull'])) { $option['keepNull'] = $param['keepNull']; } if (isset($param['mergeObjects'])) { $option['mergeObjects'] = $param['mergeObjects']; } if (isset($param['rev'])) { $option['rev'] = $param['rev']; } if (isset($param['policy'])) { $option['policy'] = $param['policy']; } $header = array(); if (isset($param['ifmatch'])) { $header['If-Match'] = $param['ifmatch']; } if ($data instanceof Edge) { $jdata = $data->getData(); $collection = $data->getCollectionID(); $id = $data->getID(); $response = $this->patch('edge/' . $collection . '/' . $id, $jdata, 'json', $option, $header); if ($response->code == '201' or $response->code == '202' or $response->code == '200') { $data->setData($response); return $data; } else { return $response; } } else { $jdata = $data; $response = $this->patch('edge/' . $collection . '/' . $id, $jdata, 'json', $option, $header); return $response; } }