creation of the create and get routes for Notifications
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Notification;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
|
class NotificationsController extends Controller
|
||||||
|
{
|
||||||
|
public function create(Request $request, int $id): JsonResponse {
|
||||||
|
$notification = Notification::create([
|
||||||
|
"content" => $request["content"]
|
||||||
|
]);
|
||||||
|
|
||||||
|
$notification->users()->attach($id);
|
||||||
|
|
||||||
|
return response()->json(['message' => 'Notification created successfully']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function getNotifications(Request $request, int $id): JsonResponse {
|
||||||
|
|
||||||
|
try {
|
||||||
|
$user = User::findOrFail($id);
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'data' => $user->notifications
|
||||||
|
]);
|
||||||
|
} catch(\Exception $e) {
|
||||||
|
Log::info($e->getMessage());
|
||||||
|
return response()->json(['message' => "Server error"], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -56,3 +56,7 @@ class User extends Authenticatable
|
|||||||
return $this->belongsToMany(Notification::class, 'user_notification', 'user_id', 'notification_id');
|
return $this->belongsToMany(Notification::class, 'user_notification', 'user_id', 'notification_id');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
use App\Http\Controllers\AuthController;
|
use App\Http\Controllers\AuthController;
|
||||||
use App\Http\Controllers\UserController;
|
use App\Http\Controllers\UserController;
|
||||||
use App\Http\Controllers\EventsController;
|
use App\Http\Controllers\EventsController;
|
||||||
|
use App\Http\Controllers\NotificationsController;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
@@ -33,3 +34,8 @@ Route::middleware(['web', 'auth:sanctum'])->post('/users/{id}/role', [UserContro
|
|||||||
Route::middleware(['web', 'auth:sanctum'])->get('/users', [UserController::class, "getUsers"]);
|
Route::middleware(['web', 'auth:sanctum'])->get('/users', [UserController::class, "getUsers"]);
|
||||||
|
|
||||||
Route::middleware(['web', 'auth:sanctum'])->post('/events/create', [EventsController::class, "create"]);
|
Route::middleware(['web', 'auth:sanctum'])->post('/events/create', [EventsController::class, "create"]);
|
||||||
|
|
||||||
|
Route::post("/users/{id}/create/notification", [NotificationsController::class, "create"]);
|
||||||
|
|
||||||
|
Route::middleware(['web', 'auth:sanctum'])->get('/users/{id}/notifications', [NotificationsController::class, "getNotifications"]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user