user()->role != 1) { return response()->json(['message' => 'Forbidden'], 403); } try { Events::create([ "name" => $request['name'], "description" => $request['description'], "start" => $request['start'], "end" => $request['end'], ]); return response()->json(['message' => 'Event created']); } catch (\Exception $e) { Log::info($e->getMessage()); return response()->json(['message' => "Server error"], 500); } } public function update(Request $request, int $id): JsonResponse { if ($request->user()->role != 1) { return response()->json(['message' => 'Forbidden'], 403); } try { $event = Events::find($id); $event->name = $request['name']; $event->description = $request['description']; $event->start = $request['start']; $event->end = $request['end']; $event->save(); return response()->json(["message" => "Event updated"]); } catch (\Exception $e) { Log::info($e->getMessage()); return response()->json(['message' => "Server error"], 500); } } public function getEvents(Request $request): JsonResponse { try { $events = Events::with('tasks')->get(); return response()->json(['data' => $events]); } catch (\Exception $e) { Log::info($e->getMessage()); return response()->json(['message' => "Server error"], 500); } } public function delete(Request $request, int $id): JsonResponse { if ($request->user()->role != 1) { return response()->json(['message' => 'Forbidden'], 403); } try { $event = Events::find($id); $event->delete(); return response()->json(["message" => "Event deleted"]); } catch (\Exception $e) { Log::info($e->getMessage()); return response()->json(['message' => "Server error"], 500); } } public function getEvent(Request $request, int $id): JsonResponse { try { $event = Events::find($id); return response()->json([ "id" => $event->id, "name" => $event->name, "description" => $event->description, "start" => $event->start, "end" => $event->end, "created_at" => $event->created_at, "updated_at" => $event->updated_at, "tasks" => $event->tasks, ]); } catch (\Exception $e) { Log::info($e->getMessage()); return response()->json(['message' => "Server error"], 500); } } }