Update post controller (sanctum middleware & api functions)

main
TZGyn 3 years ago
parent b6554e19a9
commit 2b4b39afc7
Signed by: TZGyn
GPG Key ID: 122EAF77AE81FD4A

@ -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,
]);
}
}

@ -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();
});
}

@ -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,
]);

@ -1,5 +1,6 @@
<?php
use App\Http\Controllers\PostController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
@ -17,3 +18,9 @@ use Illuminate\Support\Facades\Route;
Route::middleware(['auth:sanctum'])->get('/user', function (Request $request) {
return $request->user();
});
Route::middleware(['auth:sanctum'])->group(function () {
Route::apiResources([
'posts' => PostController::class,
]);
});

Loading…
Cancel
Save