getQuery()->index(); return $announcements->toResponse($request); } /** * Store a newly created resource. * * @param AnnouncementStoreRequest $request * @return JsonResponse */ #[Route(fullUri: 'announcement', name: 'announcement.store', middleware: 'auth:sanctum')] public function store(AnnouncementStoreRequest $request): JsonResponse { $resource = $request->getQuery()->store(); return $resource->toResponse($request); } /** * Display the specified resource. * * @param AnnouncementShowRequest $request * @param Announcement $announcement * @return JsonResponse */ #[Route(fullUri: 'announcement/{announcement}', name: 'announcement.show')] public function show(AnnouncementShowRequest $request, Announcement $announcement): JsonResponse { $resource = $request->getQuery()->show($announcement); return $resource->toResponse($request); } /** * Update the specified resource. * * @param AnnouncementUpdateRequest $request * @param Announcement $announcement * @return JsonResponse */ #[Route(fullUri: 'announcement/{announcement}', name: 'announcement.update', middleware: 'auth:sanctum')] public function update(AnnouncementUpdateRequest $request, Announcement $announcement): JsonResponse { $resource = $request->getQuery()->update($announcement); return $resource->toResponse($request); } /** * Remove the specified resource. * * @param AnnouncementDestroyRequest $request * @param Announcement $announcement * @return JsonResponse */ #[Route(fullUri: 'announcement/{announcement}', name: 'announcement.destroy', middleware: 'auth:sanctum')] public function destroy(AnnouncementDestroyRequest $request, Announcement $announcement): JsonResponse { $resource = $request->getQuery()->destroy($announcement); return $resource->toResponse($request); } /** * Restore the specified resource. * * @param AnnouncementRestoreRequest $request * @param Announcement $announcement * @return JsonResponse */ #[Route(method: 'patch', fullUri: 'restore/announcement/{announcement}', name: 'announcement.restore', middleware: 'auth:sanctum')] public function restore(AnnouncementRestoreRequest $request, Announcement $announcement): JsonResponse { $resource = $request->getQuery()->restore($announcement); return $resource->toResponse($request); } /** * Hard-delete the specified resource. * * @param AnnouncementForceDeleteRequest $request * @param Announcement $announcement * @return JsonResponse */ #[Route(method: 'delete', fullUri: 'forceDelete/announcement/{announcement}', name: 'announcement.forceDelete', middleware: 'auth:sanctum')] public function forceDelete(AnnouncementForceDeleteRequest $request, Announcement $announcement): JsonResponse { return $request->getQuery()->forceDelete($announcement); } }