chore(LaravelData): Remove Laravel Data

main
Flycro 2023-11-19 22:34:35 +01:00
parent 71c4fd7bb9
commit 2db222d6ef
3 changed files with 1 additions and 50 deletions

View File

@ -1,12 +0,0 @@
<?php
namespace App\Data;
use Spatie\LaravelData\Data;
class RoleData extends Data
{
public function __construct(
public string $name,
) {}
}

View File

@ -1,36 +0,0 @@
<?php
namespace App\Data;
use App\Models\User;
use Spatie\LaravelData\Attributes\DataCollectionOf;
use Spatie\LaravelData\Data;
use Spatie\LaravelData\DataCollection;
use Spatie\LaravelData\Lazy;
use Spatie\LaravelData\Optional;
class UserData extends Data
{
public function __construct(
public int $id,
public string $name,
public string $email,
#[DataCollectionOf(RoleData::class)]
public Lazy|DataCollection $roles,
public string $created_at,
public string $updated_at,
) {}
public static function fromModel(User $user): self
{
return new self(
$user->id,
$user->name,
$user->email,
Lazy::whenLoaded('roles',$user, fn() => RoleData::collection($user->roles)),
$user->created_at,
$user->updated_at,
);
}
}

View File

@ -1,6 +1,5 @@
<?php
use App\Data\UserData;
use App\Http\Resources\UserResource;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
@ -17,5 +16,5 @@ use Illuminate\Support\Facades\Route;
*/
Route::middleware(['auth:sanctum'])->get('/user', function (Request $request) {
return UserData::from($request->user()->load('roles'));
return new UserResource($request->user()->load('roles'));
});