first commit

This commit is contained in:
2024-05-21 14:17:55 +08:00
commit b29ea777f9
167 changed files with 14750 additions and 0 deletions

48
routes/api.php Normal file
View File

@@ -0,0 +1,48 @@
<?php
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
use App\Http\Controllers\CommentController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\UserController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
// Requires authorization
Route::middleware('auth:sanctum')->group(function () {
//MOVE TO INSIDE
Route::post('/logout', [UserController::class, 'logout']);
// Posts
Route::get('/posts', [PostController::class, 'get']);
Route::post('/posts', [PostController::class, 'post']);
Route::put('/posts/{id}', [PostController::class, 'put']);
Route::delete('/posts/{id}', [PostController::class, 'delete']);
// Comments
Route::get('/posts/{post_id}/comments', [CommentController::class, 'getPostComments']);
Route::get('/comments/{id}', [CommentController::class, 'getComment']);
Route::post('/posts/{post_id}/comments', [CommentController::class, 'post']);
Route::put('/comments/{id}', [CommentController::class, 'put']);
Route::delete('/comments/{id}', [CommentController::class, 'delete']);
});
// User
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/register', [UserController::class, 'register']);
Route::post('/login', [UserController::class, 'login']);
Route::middleware('auth:sanctum')->post('/edit', [UserController::class, 'editProfile']);

18
routes/channels.php Normal file
View File

@@ -0,0 +1,18 @@
<?php
use Illuminate\Support\Facades\Broadcast;
/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/
Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});

19
routes/console.php Normal file
View File

@@ -0,0 +1,19 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

23
routes/web.php Normal file
View File

@@ -0,0 +1,23 @@
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');