orderBy('id', 'asc')->paginate(config('app.pagination')); return ApiResponse::OK->response([ 'data' => $clients, ]); } public function store(ClientStoreRequest $request) { $client = Client::create($request->validated()); return ApiResponse::CREATED->response([ 'data' => $client, ]); } public function update(ClientUpdateRequest $request, Client $client) { $client->update($request->validated()); return ApiResponse::OK->response([ 'data' => $client, ]); } public function destroy(Client $client) { $hasActiveSims = $client->simCards() ->wherePivot('is_active', true) ->exists(); if ($hasActiveSims) { return ApiResponse::BAD_REQUEST->response([ 'message' => 'No se puede eliminar el cliente porque tiene SIMs activas', ]); } $client->delete(); return ApiResponse::NO_CONTENT->response(); } }