(new UserRepository())->allUsers()]); } Response::json(['data' => (new UserRepository())->allForTenant((int) $user['tenant_id'])]); } public function store(Request $request): void { $user = Auth::requireRole(['tenant_admin', 'superadmin']); $payload = $request->input(); if ($user['role'] !== 'superadmin') { $payload['tenant_id'] = (int) $user['tenant_id']; } $record = (new UserRepository())->create($payload); unset($record['password_hash']); Response::json(['data' => $record], 201); } public function update(Request $request, array $params): void { $user = Auth::requireRole(['tenant_admin', 'superadmin']); $payload = $request->input(); if ($user['role'] !== 'superadmin') { $payload['tenant_id'] = (int) $user['tenant_id']; } $record = (new UserRepository())->update((int) $params['id'], $payload); if ($record === null) { Response::json(['message' => 'Not found'], 404); } unset($record['password_hash']); Response::json(['data' => $record]); } }