From ae925c71733fee50bb0c7202fbef19181f6b9b4c Mon Sep 17 00:00:00 2001 From: Daan Meijer Date: Tue, 23 Jun 2026 17:17:47 +0200 Subject: [PATCH] fill id with uuid everywhere --- app/Concerns/SerializesIdToUuid.php | 23 +++++++++++++++++++++++ app/Models/Dynamic.php | 3 ++- app/Models/Ledger.php | 3 ++- app/Models/Mutation.php | 3 ++- app/Models/PredefinedMutation.php | 3 ++- app/Models/User.php | 3 ++- tests/Feature/PredefinedMutationTest.php | 6 +++--- 7 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 app/Concerns/SerializesIdToUuid.php diff --git a/app/Concerns/SerializesIdToUuid.php b/app/Concerns/SerializesIdToUuid.php new file mode 100644 index 0000000..8111ab2 --- /dev/null +++ b/app/Concerns/SerializesIdToUuid.php @@ -0,0 +1,23 @@ + + */ + public function toArray(): array + { + $array = parent::toArray(); + + if (isset($this->uuid)) { + $array['id'] = $this->uuid; + } + + return $array; + } +} diff --git a/app/Models/Dynamic.php b/app/Models/Dynamic.php index b9b15b4..418bb59 100644 --- a/app/Models/Dynamic.php +++ b/app/Models/Dynamic.php @@ -10,11 +10,12 @@ use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Support\Str; use App\Models\Chat; +use App\Concerns\SerializesIdToUuid; class Dynamic extends Model { /** @use HasFactory */ - use HasFactory; + use HasFactory, SerializesIdToUuid; protected $fillable = [ 'name', diff --git a/app/Models/Ledger.php b/app/Models/Ledger.php index 2fdb545..bc95a9b 100644 --- a/app/Models/Ledger.php +++ b/app/Models/Ledger.php @@ -9,11 +9,12 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Support\Str; +use App\Concerns\SerializesIdToUuid; class Ledger extends Model { /** @use HasFactory */ - use HasFactory; + use HasFactory, SerializesIdToUuid; protected $fillable = [ 'dynamic_id', diff --git a/app/Models/Mutation.php b/app/Models/Mutation.php index b55b540..ca06df6 100644 --- a/app/Models/Mutation.php +++ b/app/Models/Mutation.php @@ -10,11 +10,12 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Support\Str; +use App\Concerns\SerializesIdToUuid; class Mutation extends Model { /** @use HasFactory */ - use HasFactory; + use HasFactory, SerializesIdToUuid; protected $fillable = [ 'ledger_id', diff --git a/app/Models/PredefinedMutation.php b/app/Models/PredefinedMutation.php index 76d7c60..c2eddd7 100644 --- a/app/Models/PredefinedMutation.php +++ b/app/Models/PredefinedMutation.php @@ -6,10 +6,11 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Support\Str; +use App\Concerns\SerializesIdToUuid; class PredefinedMutation extends Model { - use HasFactory; + use HasFactory, SerializesIdToUuid; protected $fillable = [ 'ledger_id', diff --git a/app/Models/User.php b/app/Models/User.php index 2c6e9a4..b958b57 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -15,6 +15,7 @@ use Laravel\Fortify\Contracts\PasskeyUser; use Laravel\Fortify\PasskeyAuthenticatable; use Laravel\Fortify\TwoFactorAuthenticatable; use NotificationChannels\WebPush\HasPushSubscriptions; +use App\Concerns\SerializesIdToUuid; /** * @property int $id @@ -34,7 +35,7 @@ use NotificationChannels\WebPush\HasPushSubscriptions; class User extends Authenticatable implements PasskeyUser { /** @use HasFactory */ - use HasFactory, HasPushSubscriptions, Notifiable, PasskeyAuthenticatable, TwoFactorAuthenticatable; + use HasFactory, HasPushSubscriptions, Notifiable, PasskeyAuthenticatable, TwoFactorAuthenticatable, SerializesIdToUuid; public function dynamics() { diff --git a/tests/Feature/PredefinedMutationTest.php b/tests/Feature/PredefinedMutationTest.php index 28cc26e..9829574 100644 --- a/tests/Feature/PredefinedMutationTest.php +++ b/tests/Feature/PredefinedMutationTest.php @@ -25,8 +25,8 @@ test('owner can view predefined mutations for ledger', function () { $response->assertOk(); $response->assertInertia(fn ($page) => $page ->component('Ledgers/PredefinedMutations/Index') - ->where('dynamic.id', $dynamic->id) - ->where('ledger.id', $ledger->id) + ->where('dynamic.id', $dynamic->uuid) + ->where('ledger.id', $ledger->uuid) ->has('predefined_mutations', 1) ->where('predefined_mutations.0.name', 'Weekly Room Cleaning') ); @@ -112,7 +112,7 @@ test('owner can view edit form for predefined mutation', function () { $response->assertOk(); $response->assertInertia(fn ($page) => $page ->component('Ledgers/PredefinedMutations/Edit') - ->where('predefined_mutation.id', $predefined->id) + ->where('predefined_mutation.id', $predefined->uuid) ); });