mirror of
https://github.com/cp6/my-idlers.git
synced 2024-11-16 23:42:32 +01:00
Added destroy and update server to API
Added destroy and update server to API
This commit is contained in:
parent
546f0ba565
commit
b34780546b
@ -336,6 +336,8 @@ class ApiController extends Controller
|
|||||||
'was_promo' => 'required|integer',
|
'was_promo' => 'required|integer',
|
||||||
'active' => 'required|integer',
|
'active' => 'required|integer',
|
||||||
'show_public' => 'required|integer',
|
'show_public' => 'required|integer',
|
||||||
|
'ip1' => 'ip',
|
||||||
|
'ip2' => 'ip',
|
||||||
'owned_since' => 'required|date',
|
'owned_since' => 'required|date',
|
||||||
'ram_type' => 'required|string|size:2',
|
'ram_type' => 'required|string|size:2',
|
||||||
'disk_type' => 'required|string|size:2',
|
'disk_type' => 'required|string|size:2',
|
||||||
@ -352,6 +354,7 @@ class ApiController extends Controller
|
|||||||
'string' => ':attribute must be a string',
|
'string' => ':attribute must be a string',
|
||||||
'size' => ':attribute must be exactly :size characters',
|
'size' => ':attribute must be exactly :size characters',
|
||||||
'numeric' => ':attribute must be a float',
|
'numeric' => ':attribute must be a float',
|
||||||
|
'ip' => ':attribute must be a valid IP address',
|
||||||
'date' => ':attribute must be a date Y-m-d',
|
'date' => ':attribute must be a date Y-m-d',
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -409,4 +412,79 @@ class ApiController extends Controller
|
|||||||
return response()->json(array('result' => 'fail', 'request' => $request->post()), 500);
|
return response()->json(array('result' => 'fail', 'request' => $request->post()), 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function destroyServer(Request $request)
|
||||||
|
{
|
||||||
|
$items = Server::find($request->id);
|
||||||
|
|
||||||
|
(!is_null($items)) ? $result = $items->delete() : $result = false;
|
||||||
|
|
||||||
|
$p = new Pricing();
|
||||||
|
$p->deletePricing($request->id);
|
||||||
|
|
||||||
|
Labels::deleteLabelsAssignedTo($request->id);
|
||||||
|
IPs::deleteIPsAssignedTo($request->id);
|
||||||
|
Server::serverRelatedCacheForget();
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
return response()->json(array('result' => 'success'), 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json(array('result' => 'fail'), 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateServer(Request $request, Server $server)
|
||||||
|
{
|
||||||
|
$rules = array(
|
||||||
|
'hostname' => 'string|min:3',
|
||||||
|
'server_type' => 'integer',
|
||||||
|
'os_id' => 'integer',
|
||||||
|
'provider_id' => 'integer',
|
||||||
|
'location_id' => 'integer',
|
||||||
|
'ssh_port' => 'integer',
|
||||||
|
'ram' => 'integer',
|
||||||
|
'ram_as_mb' => 'integer',
|
||||||
|
'disk' => 'integer',
|
||||||
|
'disk_as_gb' => 'integer',
|
||||||
|
'cpu' => 'integer',
|
||||||
|
'bandwidth' => 'integer',
|
||||||
|
'was_promo' => 'integer',
|
||||||
|
'active' => 'integer',
|
||||||
|
'show_public' => 'integer',
|
||||||
|
'owned_since' => 'date',
|
||||||
|
'ram_type' => 'string|size:2',
|
||||||
|
'disk_type' => 'string|size:2',
|
||||||
|
'currency' => 'string|size:3',
|
||||||
|
'price' => 'numeric',
|
||||||
|
'payment_term' => 'integer',
|
||||||
|
'next_due_date' => 'date',
|
||||||
|
);
|
||||||
|
|
||||||
|
$messages = array(
|
||||||
|
'required' => ':attribute is required',
|
||||||
|
'min' => ':attribute must be longer than 3',
|
||||||
|
'integer' => ':attribute must be an integer',
|
||||||
|
'string' => ':attribute must be a string',
|
||||||
|
'size' => ':attribute must be exactly :size characters',
|
||||||
|
'numeric' => ':attribute must be a float',
|
||||||
|
'date' => ':attribute must be a date Y-m-d',
|
||||||
|
);
|
||||||
|
|
||||||
|
$validator = Validator::make($request->all(), $rules, $messages);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['result' => 'fail', 'messages' => $validator->messages()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$server_update = Server::where('id', $request->id)->update(request()->all());
|
||||||
|
|
||||||
|
Server::serverRelatedCacheForget();
|
||||||
|
Server::serverSpecificCacheForget($request->id);
|
||||||
|
|
||||||
|
if ($server_update) {
|
||||||
|
return response()->json(array('result' => 'success', 'server_id' => $request->id), 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json(array('result' => 'fail', 'request' => $request->post()), 500);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user