ensureAbility($request, 'read')) { return $error; } $teamId = $this->resolveTeamId($request); if (is_null($teamId)) { return Response::error('Invalid token.'); } $uuid = $request->get('uuid'); if (! is_string($uuid) || $uuid === '') { return Response::error('uuid argument is required.'); } $service = Service::whereRelation('environment.project.team', 'id', $teamId) ->where('uuid', $uuid) ->first(); if (! $service) { return Response::error("Service [{$uuid}] not found."); } $service->setRelations([]); $service->makeHidden(['destination', 'source', 'environment', 'applications', 'databases', 'serviceApplications', 'serviceDatabases']); return $this->respond( $this->scrubSensitive($service->toArray()), $this->actionsForService($uuid, $service->status ?? null), ); } public function schema(JsonSchema $schema): array { return [ 'uuid' => $schema->string()->description('Service UUID.')->required(), ]; } }