diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 4a31c7d..5bd13a4 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -7,6 +7,7 @@ use App\Models\IPs; use App\Models\Labels; use App\Models\Misc; use App\Models\NetworkSpeed; +use App\Models\Note; use App\Models\OS; use App\Models\Pricing; use App\Models\Providers; @@ -190,7 +191,8 @@ class ApiController extends Controller protected function getAllOs() { - $os = OS::allOS()->toJson(JSON_PRETTY_PRINT); + $os = OS::allOS(); + $os = json_encode($os, JSON_PRETTY_PRINT); return response($os, 200); } @@ -500,4 +502,59 @@ class ApiController extends Controller return response($yabs, 200); } + protected function getAllNotes() + { + $notes = Note::allNotes()->toJson(JSON_PRETTY_PRINT); + return response($notes, 200); + } + + protected function getNote($id) + { + $note = Note::note($id)->toJson(JSON_PRETTY_PRINT); + return response($note, 200); + } + + protected function storeNote(Request $request) + { + $request->validate([ + 'service_id' => 'required|string|size:8', + 'note' => 'required|string' + ]); + + try { + $note_id = Str::random(8); + $note = Note::create([ + 'id' => $note_id, + 'service_id' => $request->service_id, + 'note' => $request->note + ]); + } catch (\Exception $e) { + if ($e->getCode() === "23000") { + return response("A note already exists for this service", 409); + } else { + return response("Error inserting note", 500); + } + } + + Cache::forget('all_notes'); + + return response()->json(array('result' => 'success', 'note_id' => $note_id), 201); + } + + public function updateNote(Request $request) + { + $request->validate([ + 'service_id' => 'required|string|size:8', + 'note' => 'required|string' + ]); + $note = Note::note($request->id); + $note->update([ + 'service_id' => $request->service_id, + 'note' => $request->note + ]); + Cache::forget('all_notes'); + Cache::forget("note.$note->service_id"); + return response()->json(array('result' => 'success', 'note_id' => $note->id), 200); + } + } diff --git a/app/Models/Server.php b/app/Models/Server.php index 0116f7e..7416617 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -106,6 +106,11 @@ class Server extends Model return "VMware"; } elseif ($type === 7) { return "NAT"; + } elseif ($type === 8) { + if (!$short) { + return "Colocated"; + } + return "COLO"; } else { if (!$short) { return "Semi-dedicated"; diff --git a/resources/views/servers/create.blade.php b/resources/views/servers/create.blade.php index 0e20a0a..63598da 100644 --- a/resources/views/servers/create.blade.php +++ b/resources/views/servers/create.blade.php @@ -39,6 +39,7 @@ +