diff --git a/backend/app/Http/Controllers/PostController.php b/backend/app/Http/Controllers/PostController.php index 9ec41b3..9bcd7f9 100644 --- a/backend/app/Http/Controllers/PostController.php +++ b/backend/app/Http/Controllers/PostController.php @@ -17,6 +17,10 @@ class PostController extends Controller } $posts = Post::query() + // ->select([ + // 'title', + // 'description', + // ]) ->where(column: 'sequence', operator: '>', value: $lastPost) ->take(10) ->get(); @@ -26,4 +30,31 @@ class PostController extends Controller 'data' => $posts, ]); } + + public function store(Request $request): Response + { + $postId = Post::query()->max(column: 'sequence'); + + $postId = ! $postId ? 1 : $postId + 1; + + Post::query()->create([ + 'title' => "This is Post {$postId}", + 'description' => "post {$postId} description", + ]); + + return response([ + 'status' => 200, + 'message' => "Create Post {$postId} Success!", + ]); + } + + public function show(string $id): Response + { + $post = Post::query()->find($id); + + return response([ + 'status' => 200, + 'data' => $post, + ]); + } } diff --git a/backend/database/migrations/2023_06_05_145153_create_posts_table.php b/backend/database/migrations/2023_06_05_145153_create_posts_table.php index 2ba21af..e6735a2 100644 --- a/backend/database/migrations/2023_06_05_145153_create_posts_table.php +++ b/backend/database/migrations/2023_06_05_145153_create_posts_table.php @@ -13,9 +13,10 @@ return new class extends Migration { Schema::create('posts', function (Blueprint $table) { $table->id('sequence'); - $table->uuid('id')->primary(); + $table->uuid('id'); $table->string('title'); - $table->string('description')->nullable(true); + // $table->foreignId('user_id')->constrained(table: 'user', column: 'id'); + $table->longText('description')->nullable(true); $table->timestamps(); }); } diff --git a/backend/database/seeders/DatabaseSeeder.php b/backend/database/seeders/DatabaseSeeder.php index d8fce6c..7aab5f7 100644 --- a/backend/database/seeders/DatabaseSeeder.php +++ b/backend/database/seeders/DatabaseSeeder.php @@ -14,11 +14,11 @@ class DatabaseSeeder extends Seeder { // \App\Models\User::factory(10)->create(); - // \App\Models\User::factory()->create([ - // 'name' => 'Test User', - // 'email' => 'test@example.com', - // ]); - // + \App\Models\User::factory()->create([ + 'name' => 'Test User', + 'email' => 'test@example.com', + ]); + $this->call([ PostSeeder::class, ]); diff --git a/backend/routes/api.php b/backend/routes/api.php index d072e04..b6625da 100644 --- a/backend/routes/api.php +++ b/backend/routes/api.php @@ -1,5 +1,6 @@ get('/user', function (Request $request) { return $request->user(); }); + +Route::middleware(['auth:sanctum'])->group(function () { + Route::apiResources([ + 'posts' => PostController::class, + ]); +});