staffService->list( $request->user()->tenant()->firstOrFail(), $request->string('search')->trim()->toString() ?: null, )); } public function store(StoreStaffRequest $request): StaffResource { return StaffResource::make($this->staffService->create( $request->user()->tenant()->firstOrFail(), $request->validated(), )); } public function update(UpdateStaffRequest $request, int $staff): StaffResource { return StaffResource::make($this->staffService->update( $request->user()->tenant()->firstOrFail(), $staff, $request->validated(), )); } public function destroy(Request $request, int $staff): Response { $this->staffService->delete($request->user()->tenant()->firstOrFail(), $staff); return response()->noContent(); } public function scanAttempts( ScanAttemptIndexRequest $request, int $staff, ): AnonymousResourceCollection { $scanner = $this->staffService->find( $request->user()->tenant()->firstOrFail(), $staff, ); return ScanAttemptResource::collection( $this->scannerTicketService->attemptsByStaff($scanner, $request->validated()) ); } }