Skip to content

Commit

Permalink
feat: add CloudflareResponse and Zone classes
Browse files Browse the repository at this point in the history
  • Loading branch information
alperensert committed Apr 7, 2024
1 parent 9adc33a commit 4977ac5
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 0 deletions.
47 changes: 47 additions & 0 deletions src/CloudflareDnsync.Models/Responses/CloudflareResponse.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using Newtonsoft.Json;

namespace CloudflareDnsync.Models.Responses;

public class CloudflareResponse<T>
{
[JsonProperty("success")]
public bool Success { get; init; }

[JsonProperty("errors")]
public Error[] Errors { get; init; } = null!;

[JsonProperty("messages")]
public Message[] Messages { get; init; } = null!;

[JsonProperty("result")]
public T? Result { get; init; }

[JsonProperty("result_info")]
public ResultInformation? ResultInfo { get; init; }

public class Error
{
public int Code { get; init; }

public string Message { get; init; } = null!;
}

public class Message : Error
{
}

public class ResultInformation
{
[JsonProperty("page")]
public string Page { get; init; } = null!;

[JsonProperty("per_page")]
public string PerPage { get; init; } = null!;

[JsonProperty("count")]
public string Count { get; init; } = null!;

[JsonProperty("total_count")]
public string TotalCount { get; init; } = null!;
}
}
84 changes: 84 additions & 0 deletions src/CloudflareDnsync.Models/Zone.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
using Newtonsoft.Json;

namespace CloudflareDnsync.Models;

public class Zone
{
[JsonProperty("activated_on")]
public DateTime ActivatedOn { get; init; }

[JsonProperty("created_on")]
public DateTime CreatedOn { get; init; }

[JsonProperty("development_mode")]
public int DevelopmentMode { get; init; }

[JsonProperty("modified_on")]
public DateTime ModifiedOn { get; init; }

[JsonProperty("id")]
public string Id { get; init; } = null!;

[JsonProperty("name")]
public string Name { get; init; } = null!;

[JsonProperty("original_name_servers")]
public string[] OriginalNameServers { get; init; } = null!;

[JsonProperty("original_registrar")]
public string OriginalRegistrar { get; init; } = null!;

[JsonProperty("original_dnshost")]
public string OriginalDnsHost { get; init; } = null!;

[JsonProperty("owner")]
public Zone_Owner Owner { get; init; } = null!;

[JsonProperty("account")]
public Zone_Account Account { get; init; } = null!;

public class Zone_Owner
{
[JsonProperty("id")]
public string Id { get; init; } = null!;

[JsonProperty("name")]
public string Name { get; init; } = null!;

[JsonProperty("type")]
public string Type { get; init; } = null!;
}

public class Zone_Account
{
[JsonProperty("id")]
public string Id { get; init; } = null!;

[JsonProperty("name")]
public string Name { get; init; } = null!;
}

public class Zone_Meta
{
[JsonProperty("cdn_only")]
public bool CdnOnly { get; init; }

[JsonProperty("custom_certificate_quota")]
public int CustomCertificateQuota { get; init; }

[JsonProperty("dns_only")]
public bool DnsOnly { get; init; }

[JsonProperty("page_rule_quota")]
public int PageRuleQuota { get; init; }

[JsonProperty("phishing_detected")]
public bool PhishingDetected { get; init; }

[JsonProperty("foundation_dns")]
public bool FoundationDns { get; init; }

[JsonProperty("step")]
public int Step { get; init; }
}
}

0 comments on commit 4977ac5

Please sign in to comment.