cloudflare / cloudflare-rs

Rust library for the Cloudflare v4 API
251 stars 74 forks source link

Update broken Zone entry struct #240

Open Wyn-Price opened 3 months ago

Wyn-Price commented 3 months ago

Does the following:

There are some more discrepancies, i.e. fields on the docs that don't exist here, and fields here that don't exist in the docs, but I want to refrain from changing too much.

This can be tested with the cloudflare-examples cli:

Before ``` $ cargo run --bin cloudflare-examples -- --auth-token=XXX zone XXX Compiling cloudflare v0.12.0 (/home/wp/programming/cloudflare-rs/cloudflare) Compiling cloudflare-examples v0.6.0 (/home/wp/programming/cloudflare-rs/cloudflare-examples) Finished dev [unoptimized + debuginfo] target(s) in 3.45s Running `target/debug/cloudflare-examples --auth-token=XXX zone XXX` Error: error decoding response body: missing field `multiple_railguns_allowed` at line 1 column 585 ```
After ``` $cargo run --bin cloudflare-examples -- --auth-token=XXX zone XXX Finished dev [unoptimized + debuginfo] target(s) in 0.11s Running `target/debug/cloudflare-examples --auth-token=XXX zone XXX` Success: ApiSuccess { result: Zone { id: "XXX", name: "XXX", account: AccountDetails { id: "XXX", name: "XXX", }, activated_on: 2021-08-22T18:52:08.877823Z, betas: None, created_on: 2021-08-22T18:48:11.312863Z, deactivation_reason: None, development_mode: 0, host: None, meta: Meta { custom_certificate_quota: 0, page_rule_quota: 3, phishing_detected: false, }, modified_on: 2021-08-22T18:52:08.877823Z, name_servers: [ "pedro.ns.cloudflare.com", "surina.ns.cloudflare.com", ], original_dnshost: None, original_name_servers: Some( [ "ns13.domaincontrol.com", "ns14.domaincontrol.com", ], ), original_registrar: Some( "namecheap, inc. (id: 1068)", ), owner: User { id: None, email: None, }, paused: false, permissions: [ "#dns_records:edit", "#dns_records:read", "#zone:read", ], plan: Some( Plan { id: "0feeeeeeeeeeeeeeeeeeeeeeeeeeeeee", name: "Free Website", price: 0.0, currency: "USD", frequency: Some( Nil, ), legacy_id: "free", is_subscribed: false, can_subscribe: false, }, ), plan_pending: None, status: Active, vanity_name_servers: None, zone_type: Full, }, result_info: None, messages: Array [], errors: [], } ```