Skip to content

Commit

Permalink
Merge pull request #2 from usender/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
usender committed May 19, 2022
2 parents 6642464 + 565175e commit 15ebf0c
Show file tree
Hide file tree
Showing 69 changed files with 461 additions and 234 deletions.
33 changes: 0 additions & 33 deletions UniOne.ApiClient/Apis/ApiAction.cs

This file was deleted.

74 changes: 74 additions & 0 deletions UniOne.ApiClient/Apis/ApiEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
namespace Sender.UniOne.ApiClient.Apis
{
/// <summary>
/// API endpoints
/// </summary>
public class ApiEndpoint
{
/// <summary>
///
/// </summary>
private const string PREFIX_ENDPOINT = "transactional/api/v1";

/// <summary>
/// Uri
/// </summary>
internal string Uri { get; private set; } = PREFIX_ENDPOINT;

protected ApiEndpoint(string url)
{
Path(url);
}

/// <summary>
/// Email endpoints
/// </summary>
internal static EmailEndpoint Email => new EmailEndpoint();

/// <summary>
/// Template endpoints
/// </summary>
internal static TemplateEndpoint Template => new TemplateEndpoint();

/// <summary>
/// Webhook endpoints
/// </summary>
internal static WebhookEndpoint Webhook => new WebhookEndpoint();

/// <summary>
/// Unsubscribed endpoints
/// </summary>
internal static UnsubscribedEndpoint Unsubscribed => new UnsubscribedEndpoint();

/// <summary>
/// Suppression endpoints
/// </summary>
internal static SuppressionEndpoint Suppression => new SuppressionEndpoint();

/// <summary>
/// Domain endpoints
/// </summary>
internal static DomainEndpoint Domain => new DomainEndpoint();

/// <summary>
/// Project endpoints
/// </summary>
internal static ProjectEndpoint Project => new ProjectEndpoint();

/// <summary>
/// System endpoints
/// </summary>
internal static SystemEndpoint System => new SystemEndpoint();

/// <summary>
/// Merge path
/// </summary>
/// <param name="url">Postfix of url</param>
/// <returns></returns>
protected ApiEndpoint Path(string url)
{
Uri += "/" + url;
return this;
}
}
}
17 changes: 0 additions & 17 deletions UniOne.ApiClient/Apis/DomainAction.cs

This file was deleted.

17 changes: 17 additions & 0 deletions UniOne.ApiClient/Apis/DomainEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class DomainEndpoint : ApiEndpoint
{
internal DomainEndpoint()
: base("domain")
{ }

internal ApiEndpoint GetDnsRecords => Path("get-dns-records.json");

internal ApiEndpoint ValidateVerificationRecord => Path("validate-verification-record.json");

internal ApiEndpoint ValidateDkim => Path("validate-dkim.json");

internal ApiEndpoint List => Path("list.json");
}
}
14 changes: 0 additions & 14 deletions UniOne.ApiClient/Apis/EmailAction.cs

This file was deleted.

14 changes: 14 additions & 0 deletions UniOne.ApiClient/Apis/EmailEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class EmailEndpoint : ApiEndpoint
{
internal EmailEndpoint()
: base("email")
{
}

internal ApiEndpoint Send => Path("send.json");

internal ApiEndpoint Subscribe => Path("subscribe.json");
}
}
18 changes: 0 additions & 18 deletions UniOne.ApiClient/Apis/ProjectAction.cs

This file was deleted.

18 changes: 18 additions & 0 deletions UniOne.ApiClient/Apis/ProjectEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class ProjectEndpoint : ApiEndpoint
{
internal ProjectEndpoint()
: base("project")
{
}

internal ApiEndpoint Create => Path("create.json");

internal ApiEndpoint Update => Path("update.json");

internal ApiEndpoint Delete => Path("delete.json");

internal ApiEndpoint List => Path("list.json");
}
}
14 changes: 0 additions & 14 deletions UniOne.ApiClient/Apis/SuppressionAction.cs

This file was deleted.

14 changes: 14 additions & 0 deletions UniOne.ApiClient/Apis/SuppressionEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class SuppressionEndpoint : ApiEndpoint
{
internal SuppressionEndpoint()
: base("suppression")
{
}

internal ApiEndpoint Get => Path("get.json");

internal ApiEndpoint Delete => Path("delete.json");
}
}
12 changes: 0 additions & 12 deletions UniOne.ApiClient/Apis/SystemAction.cs

This file was deleted.

15 changes: 15 additions & 0 deletions UniOne.ApiClient/Apis/SystemEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class SystemEndpoint : ApiEndpoint
{
internal SystemEndpoint()
: base("system")
{
}

/// <summary>
/// API end part of endpoint
/// </summary>
internal ApiEndpoint Info => Path("info.json");
}
}
17 changes: 0 additions & 17 deletions UniOne.ApiClient/Apis/TemplateAction.cs

This file was deleted.

17 changes: 17 additions & 0 deletions UniOne.ApiClient/Apis/TemplateEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class TemplateEndpoint : ApiEndpoint
{
internal TemplateEndpoint()
: base("template")
{ }

internal ApiEndpoint Get => Path("get.json");

internal ApiEndpoint Set => Path("set.json");

internal ApiEndpoint Delete => Path("delete.json");

internal ApiEndpoint List => Path("list.json");
}
}
16 changes: 0 additions & 16 deletions UniOne.ApiClient/Apis/UnsubscribedAction.cs

This file was deleted.

16 changes: 16 additions & 0 deletions UniOne.ApiClient/Apis/UnsubscribedEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class UnsubscribedEndpoint:ApiEndpoint
{
internal UnsubscribedEndpoint()
: base("unsubscribed")
{
}

internal ApiEndpoint Set => Path("set.json");

internal ApiEndpoint Check => Path("check.json");

internal ApiEndpoint List => Path("list.json");
}
}
17 changes: 0 additions & 17 deletions UniOne.ApiClient/Apis/WebhookAction.cs

This file was deleted.

17 changes: 17 additions & 0 deletions UniOne.ApiClient/Apis/WebhookEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
namespace Sender.UniOne.ApiClient.Apis
{
internal class WebhookEndpoint : ApiEndpoint
{
internal WebhookEndpoint()
: base("webhook")
{ }

internal ApiEndpoint Set => Path("set.json");

internal ApiEndpoint Get => Path("get.json");

internal ApiEndpoint Delete => Path("delete.json");

internal ApiEndpoint List => Path("list.json");
}
}
Loading

0 comments on commit 15ebf0c

Please sign in to comment.