%PDF- %PDF-
Direktori : /home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/ |
Current File : //home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/MessageController.php |
<?php namespace App\Http\Controllers; use App\Http\Requests\StoreMessage; use App\Http\Resources\MessageResource; use App\Models\Message; use App\Models\User; use App\Notifications\NewMessage; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; class MessageController extends Controller { /** * Display a listing of the resource. * * @param Request $request * @param User $user * @return MessageResource $messages */ public function index(Request $request, User $user) { $messages = $user->messages()->orderBy('created_at', 'desc')->paginate(12); return MessageResource::collection($messages); } /** * Store a newly created resource in storage. * * @param StoreMessage $request * @param User $user * @return \Illuminate\Http\Response */ public function store(StoreMessage $request, User $user) { $message = $user->messages()->create([ 'name' => $request->get('name'), 'email' => $request->get('email'), 'phone' => $request->get('phone'), 'message' => Crypt::encryptString(nl2br($request->get('message'))) ]); $user->notify(new NewMessage($message)); return response()->json($message->exists()); } /** * Update a resource in storage. * * @param User $user * @param Message $message * @return \Illuminate\Http\Response */ public function update(User $user, Message $message) { if ($user->cannot('update', $message)) { abort(403); } $message->update([ 'read' => true, 'read_at' => Carbon::now() ]); return new MessageResource($message); } /** * Display the specified resource. * * @param Message $message * @param User $user * @return MessageResource $message */ public function show(User $user, Message $message) { if ($user->cannot('view', $message)) { abort(403); } return new MessageResource($message); } /** * Remove the specified resource from storage. * * @param Message $message * @param User $user * @return null */ public function destroy(User $user, Message $message) { if ($user->cannot('delete', $message)) { abort(403); } $message->delete(); } }