Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: 6.0.x
- name: Setup .NET 10.0
uses: actions/setup-dotnet@v3
with:
dotnet-version: 10.0.x
- name: Build
run: |
cd src
Expand Down
6 changes: 3 additions & 3 deletions src/GodaddyWrapper.Tests/GodaddyWrapper.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net462;net8.0</TargetFrameworks>
<TargetFrameworks>net462;net8.0;net10.0</TargetFrameworks>
<IsPackable>false</IsPackable>
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFramework)' == 'net8.0'">
<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0' OR '$(TargetFramework)' == 'net10.0'">
<DefineConstants>NETCORE</DefineConstants>
</PropertyGroup>

Expand All @@ -25,7 +25,7 @@
<PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.2" />
</ItemGroup>

<ItemGroup>
Expand Down
49 changes: 43 additions & 6 deletions src/GodaddyWrapper/Client.AbuseTicket.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,73 @@ namespace GodaddyWrapper
public partial class GoDaddyClient
{
/// <summary>
/// Create a new abuse ticket
/// Create a new abuse ticket (v1)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketIdResponse> CreateAbuseTicket(AbuseTicketCreate request)
{
var response = await httpClient.PostAsJsonAsync($"abuse/tickets", request, JsonSettings);
var response = await httpClient.PostAsJsonAsync($"{V1_BASE}abuse/tickets", request, JsonSettings);
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketIdResponse>(JsonSettings);
}

/// <summary>
/// Create a new abuse ticket (v2)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketIdResponse> CreateAbuseTicketV2(AbuseTicketCreate request)
{
var response = await httpClient.PostAsJsonAsync($"{V2_BASE}abuse/tickets", request, JsonSettings);
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketIdResponse>(JsonSettings);
}

/// <summary>
/// List all abuse tickets ids that match user provided filters
/// List all abuse tickets ids that match user provided filters (v1)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketListResponse> RetrieveAbuseTickets(AbuseTicketRetrieve request)
{
var response = await httpClient.GetAsync($"abuse/tickets{QueryStringBuilder.RequestObjectToQueryString(request)}");
var response = await httpClient.GetAsync($"{V1_BASE}abuse/tickets{QueryStringBuilder.RequestObjectToQueryString(request)}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketListResponse>(JsonSettings);
}

/// <summary>
/// List all abuse tickets ids that match user provided filters (v2)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketListResponse> RetrieveAbuseTicketsV2(AbuseTicketRetrieve request)
{
var response = await httpClient.GetAsync($"{V2_BASE}abuse/tickets{QueryStringBuilder.RequestObjectToQueryString(request)}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketListResponse>(JsonSettings);
}

/// <summary>
/// Return the abuse ticket data for a given ticket id
/// Return the abuse ticket data for a given ticket id (v1)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketResponse> RetrieveAbuseTicketDetail(AbuseTicketDetailRetrieve request)
{
var response = await httpClient.GetAsync($"abuse/tickets/{request.TicketId}");
var response = await httpClient.GetAsync($"{V1_BASE}abuse/tickets/{request.TicketId}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketResponse>(JsonSettings);
}

/// <summary>
/// Return the abuse ticket data for a given ticket id (v2)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<AbuseTicketResponse> RetrieveAbuseTicketDetailV2(AbuseTicketDetailRetrieve request)
{
var response = await httpClient.GetAsync($"{V2_BASE}abuse/tickets/{request.TicketId}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AbuseTicketResponse>(JsonSettings);
}
Expand Down
4 changes: 2 additions & 2 deletions src/GodaddyWrapper/Client.Aftermarket.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public partial class GoDaddyClient
/// <returns></returns>
public async Task<AftermarketListingActionResponse> AddExpiryAuction(List<AftermarketListingExpiryCreate> request)
{
var response = await httpClient.PostAsJsonAsync($"aftermarket/listings/expiry", request, JsonSettings);
var response = await httpClient.PostAsJsonAsync($"{V1_BASE}aftermarket/listings/expiry", request, JsonSettings);
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<AftermarketListingActionResponse>(JsonSettings);
}
Expand All @@ -29,7 +29,7 @@ public async Task<AftermarketListingActionResponse> AddExpiryAuction(List<Afterm
/// <returns></returns>
public async Task<ListingActionResponse> RemoveAuctionListings(AgreementRetrieve request)
{
var response = await httpClient.DeleteAsync($"aftermarket/listings{QueryStringBuilder.RequestObjectToQueryString(request)}");
var response = await httpClient.DeleteAsync($"{V1_BASE}aftermarket/listings{QueryStringBuilder.RequestObjectToQueryString(request)}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<ListingActionResponse>(JsonSettings);
}
Expand Down
2 changes: 1 addition & 1 deletion src/GodaddyWrapper/Client.Agreements.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public async Task<List<LegalAgreementResponse>> RetrieveAgreements(AgreementRetr
httpClient.DefaultRequestHeaders.Add("X-Private-Label-Id", XPrivateLabelId);
if (XMarketId != null)
httpClient.DefaultRequestHeaders.Add("X-Market-Id", XMarketId);
var response = await httpClient.GetAsync($"aggreements{QueryStringBuilder.RequestObjectToQueryString(request)}");
var response = await httpClient.GetAsync($"{V1_BASE}agreements{QueryStringBuilder.RequestObjectToQueryString(request)}");
await CheckResponseMessageIsValid(response);
return await response.Content.ReadAsAsync<List<LegalAgreementResponse>>(JsonSettings);
}
Expand Down
Loading