formatting, juiste use voor UpdateDynamicRequest
linter / quality (push) Failing after 1m2s
tests / ci (8.3) (push) Failing after 48s
tests / ci (8.4) (push) Failing after 1m5s
tests / ci (8.5) (push) Failing after 1m5s

This commit is contained in:
Daan Meijer
2026-06-22 00:10:39 +02:00
parent 3e473de826
commit 10bd46a53e
56 changed files with 174 additions and 142 deletions
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\Requests\UpdateDynamicRequest;
use App\Http\Resources\DynamicResource;
use App\Http\Resources\LedgerResource;
use App\Http\Resources\MessageResource;
@@ -15,6 +16,7 @@ use Inertia\Inertia;
class DynamicController extends Controller
{
use AuthorizesRequests;
/**
* Display a listing of the resource.
*/
@@ -5,16 +5,18 @@ namespace App\Http\Controllers;
use App\Mail\DynamicInvitationMail;
use App\Models\Dynamic;
use App\Models\DynamicInvitation;
use App\Models\User;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Str;
use Inertia\Inertia;
class DynamicInvitationController extends Controller
{
use AuthorizesRequests;
/**
* Show the form for creating a new invitation.
*/
@@ -39,7 +41,7 @@ class DynamicInvitationController extends Controller
->where('role', 'owner')
->exists();
if (!$isOwner) {
if (! $isOwner) {
abort(403, 'Only dynamic owners can invite other users.');
}
@@ -92,7 +94,7 @@ class DynamicInvitationController extends Controller
public function accept(Request $request, string $token)
{
// Must be signed!
if (!$request->hasValidSignature()) {
if (! $request->hasValidSignature()) {
abort(401, 'Invalid or expired signature.');
}
@@ -116,9 +118,9 @@ class DynamicInvitationController extends Controller
// Log to Dynamic chat activity log!
$dynamic->chat->messages()->create([
'user_id' => null,
'content' => "<user:{$request->user()->id}> joined the Dynamic as a " . strtoupper($invitation->role),
'content' => "<user:{$request->user()->id}> joined the Dynamic as a ".strtoupper($invitation->role),
'subject_id' => $request->user()->id,
'subject_type' => \App\Models\User::class,
'subject_type' => User::class,
]);
// Delete the invitation record
+1 -1
View File
@@ -11,8 +11,8 @@ use App\Http\Resources\UserResource;
use App\Models\Dynamic;
use App\Models\Ledger;
use App\Services\ActivityService;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
use Inertia\Inertia;
class LedgerController extends Controller
+11 -8
View File
@@ -2,14 +2,17 @@
namespace App\Http\Controllers;
use App\Http\Resources\MutationResource;
use App\Events\MessageSent;
use App\Events\MutationCreated;
use App\Events\MutationUpdated;
use App\Http\Requests\StoreMutationRequest;
use App\Http\Resources\MutationResource;
use App\Models\Dynamic;
use App\Models\Ledger;
use App\Models\Mutation;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class MutationController extends Controller
{
@@ -69,7 +72,7 @@ class MutationController extends Controller
});
// Broadcast the real-time creation event!
broadcast(new \App\Events\MutationCreated($mutation));
broadcast(new MutationCreated($mutation));
return redirect()->route('dynamics.ledgers.show', [$dynamic, $ledger]);
}
@@ -80,7 +83,7 @@ class MutationController extends Controller
public function show(Dynamic $dynamic, Ledger $ledger, Mutation $mutation)
{
$this->authorize('view', $mutation);
return new MutationResource($mutation);
}
@@ -127,12 +130,12 @@ class MutationController extends Controller
'subject_id' => $mutation->id,
'subject_type' => Mutation::class,
]);
broadcast(new \App\Events\MessageSent($mutationMsg));
broadcast(new MessageSent($mutationMsg));
if ($newStatus === 'approved') {
$dynamicMsg = $dynamic->chat->messages()->create([
'user_id' => null,
'content' => "<user:{$user->id}> APPROVED the suggestion \"{$mutation->description}\" for " . ($mutation->amount >= 0 ? '+' : '') . "{$mutation->amount} points on \"{$ledger->name}\" ledger.",
'content' => "<user:{$user->id}> APPROVED the suggestion \"{$mutation->description}\" for ".($mutation->amount >= 0 ? '+' : '')."{$mutation->amount} points on \"{$ledger->name}\" ledger.",
'subject_id' => $mutation->id,
'subject_type' => Mutation::class,
]);
@@ -144,10 +147,10 @@ class MutationController extends Controller
'subject_type' => Mutation::class,
]);
}
broadcast(new \App\Events\MessageSent($dynamicMsg));
broadcast(new MessageSent($dynamicMsg));
// Broadcast the real-time update event!
broadcast(new \App\Events\MutationUpdated($mutation));
broadcast(new MutationUpdated($mutation));
return redirect()->back();
}
@@ -30,14 +30,14 @@ class ParticipantController extends Controller
public function show(Request $request, Dynamic $dynamic, User $user)
{
// Ensure both the authenticated user and the target user are in the dynamic
if (!$dynamic->participants()->where('user_id', $request->user()->id)->exists()) {
if (! $dynamic->participants()->where('user_id', $request->user()->id)->exists()) {
abort(403);
}
$participant = $dynamic->participants()->where('user_id', $user->id)->firstOrFail();
$mutations = $user->mutations()
->whereHas('ledger', fn($query) => $query->where('dynamic_id', $dynamic->id))
->whereHas('ledger', fn ($query) => $query->where('dynamic_id', $dynamic->id))
->with('ledger')
->latest('id')
->take(10)
@@ -54,5 +54,4 @@ class ParticipantController extends Controller
'mutations' => $mutations,
]);
}
}
@@ -3,7 +3,6 @@
namespace App\Http\Controllers;
use App\Models\Dynamic;
use App\Models\Ledger;
use App\Models\PredefinedMutation;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
@@ -2,6 +2,7 @@
namespace App\Http\Middleware;
use App\Services\ActivityService;
use Illuminate\Http\Request;
use Inertia\Middleware;
@@ -46,8 +47,9 @@ class HandleInertiaRequests extends Middleware
if (! $request->user()) {
return 0;
}
$service = app(\App\Services\ActivityService::class);
$service = app(ActivityService::class);
return count($service->getUnreadDynamicsGrouped($request->user()));
},
];
+1 -3
View File
@@ -5,8 +5,6 @@ namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use App\Models\Dynamic;
class UpdateDynamicRequest extends FormRequest
{
/**
@@ -22,7 +20,7 @@ class UpdateDynamicRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
+1 -2
View File
@@ -2,9 +2,8 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class BaseResource extends JsonResource
{
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class DynamicResource extends BaseResource
{
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class LedgerResource extends BaseResource
{
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class MutationResource extends BaseResource
{
@@ -3,7 +3,6 @@
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class PredefinedMutationResource extends BaseResource
{
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends BaseResource
{