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() $posts = Post::query()
// ->select([
// 'title',
// 'description',
// ])
->where(column: 'sequence', operator: '>', value: $lastPost) ->where(column: 'sequence', operator: '>', value: $lastPost)
->take(10) ->take(10)
->get(); ->get();
@ -26,4 +30,31 @@ class PostController extends Controller
'data' => $posts, '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) { Schema::create('posts', function (Blueprint $table) {
$table->id('sequence'); $table->id('sequence');
$table->uuid('id')->primary(); $table->uuid('id');
$table->string('title'); $table->string('title');
$table->string('description')->nullable(true); // $table->foreignId('user_id')->constrained(table: 'user', column: 'id');
$table->longText('description')->nullable(true);
$table->timestamps(); $table->timestamps();
}); });
} }

@ -14,11 +14,11 @@ class DatabaseSeeder extends Seeder
{ {
// \App\Models\User::factory(10)->create(); // \App\Models\User::factory(10)->create();
// \App\Models\User::factory()->create([ \App\Models\User::factory()->create([
// 'name' => 'Test User', 'name' => 'Test User',
// 'email' => 'test@example.com', 'email' => 'test@example.com',
// ]); ]);
//
$this->call([ $this->call([
PostSeeder::class, PostSeeder::class,
]); ]);

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

Loading…
Cancel
Save