Split Cloud API client operations and conversions by domain - #391
Conversation
|
Macroscope skipped reviewing this pull request. Per-review cost limit exceeded (workspace setting). This review would cost an estimated $10.83, which exceeds your per-review limit of $10.00. The top 3 files driving up this estimate:
Tip To get this pull request reviewed, you can:
|
There was a problem hiding this comment.
Pull request overview
Refactors the clickhouse-cloud-api crate to split Cloud API operations and write-back conversions into private, product-domain modules while preserving the existing public API surface (Client methods, crate-root exports, and conversion behavior).
Changes:
- Moved
ClientOpenAPI operation implementations into domain modules undersrc/client/(e.g., organizations, services, Postgres, ClickPipes, ClickStack, UDFs). - Split write-back conversion implementations out of
convert.rsinto domain modules undersrc/convert/, keepingMissingRequiredFieldsand the conversion facade intact. - Updated
convert.rsmodule docs/structure to reference the new internal module layout without changing external paths.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| crates/clickhouse-cloud-api/src/convert.rs | Keeps the conversion facade (MissingRequiredFields) and pulls conversion impls in via internal submodules. |
| crates/clickhouse-cloud-api/src/convert/shared.rs | Hosts shared write-back conversions (e.g., ResourceTagsV1Response → ResourceTagsV1). |
| crates/clickhouse-cloud-api/src/convert/service.rs | Hosts service-related write-back conversions (scaling schedule entries, upgrade window). |
| crates/clickhouse-cloud-api/src/convert/postgres.rs | Hosts Postgres-related write-back conversions (PgConfig, PostgresInstanceConfig). |
| crates/clickhouse-cloud-api/src/convert/clickstack.rs | Hosts ClickStack write-back conversions, including nested object conversions and union round-tripping. |
| crates/clickhouse-cloud-api/src/client/activity.rs | Domain module containing activity-related Client operations. |
| crates/clickhouse-cloud-api/src/client/api_keys.rs | Domain module containing API key Client operations. |
| crates/clickhouse-cloud-api/src/client/backups.rs | Domain module containing backup-related Client operations. |
| crates/clickhouse-cloud-api/src/client/clickpipes.rs | Domain module containing ClickPipes-related Client operations. |
| crates/clickhouse-cloud-api/src/client/clickstack.rs | Domain module containing ClickStack-related Client operations. |
| crates/clickhouse-cloud-api/src/client/organizations.rs | Domain module containing organization-related Client operations. |
| crates/clickhouse-cloud-api/src/client/postgres.rs | Domain module containing Postgres-related Client operations. |
| crates/clickhouse-cloud-api/src/client/services.rs | Domain module containing service-related Client operations (CRUD, scaling, endpoints, settings). |
| crates/clickhouse-cloud-api/src/client/udfs.rs | Domain module containing UDF-related Client operations. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
22e2c32 to
91b4462
Compare
91b4462 to
0934b34
Compare
0934b34 to
26c5ea7
Compare
Closes #375
Summary
Tests
cargo fmt --allcargo check --workspace --all-featurescargo test -p clickhouse-cloud-api -p clickhouse-openapi-analyzercargo clippy -p clickhouse-cloud-api -p clickhouse-openapi-analyzer --all-targets -- -D warnings