feat: WIP connections query endpoint

This commit is contained in:
2024-12-26 14:41:24 +01:00
parent 63bbf80ced
commit 9f5099c819
7 changed files with 81 additions and 32 deletions

View File

@@ -17,7 +17,7 @@ public class GetConnectionsEndpoint(PuzzleRepository _puzzleRepo) : Endpoint<Get
bool hideSolutions = Query<bool>("hideSolutions", isRequired: false);
// query for the puzzle
var puzzle = await _puzzleRepo.GetPuzzleByDateAsync(req.PrintDate, includeSolutions: !hideSolutions);
var puzzle = await _puzzleRepo.GetConnectionsByDateAsync(req.PrintDate, includeSolutions: !hideSolutions);
// if not found, done here
if (puzzle == null)

View File

@@ -0,0 +1,17 @@
using ConnectionsAPI.Models.Request;
using ConnectionsAPI.Models.Response;
namespace ConnectionsAPI.Features.Connections.Query;
public class Endpoint : Endpoint<QueryPuzzlesRequest, PagedDataResponse<ConnectionsPuzzleDTO>>
{
public override void Configure()
{
Get("query");
}
public override Task HandleAsync(QueryPuzzlesRequest req, CancellationToken ct)
{
return base.HandleAsync(req, ct);
}
}

View File

@@ -1,40 +1,38 @@

using System.Text;
namespace ConnectionsAPI.Features.Version.Get
namespace ConnectionsAPI.Features.Version.Get;
public class GetVersionEndpoint : EndpointWithoutRequest<string>
{
public class GetVersionEndpoint : EndpointWithoutRequest<string>
private static readonly int START_YEAR = 2024;
public override void Configure()
{
private static readonly int START_YEAR = 2024;
Get("/version");
AllowAnonymous();
}
public override void Configure()
public override async Task HandleAsync(CancellationToken ct)
{
StringBuilder responseBuilder = new();
responseBuilder.Append("ConnectionsAPI ©");
if (DateTime.UtcNow.Year != START_YEAR)
{
Get("/version");
AllowAnonymous();
responseBuilder.AppendFormat("{0} - {1}; ", START_YEAR, DateTime.UtcNow.Year);
}
else
{
responseBuilder.AppendFormat("{0}; ", DateTime.UtcNow.Year);
}
public override async Task HandleAsync(CancellationToken ct)
{
StringBuilder responseBuilder = new();
responseBuilder.Append("by Mate Farkas; ");
responseBuilder.Append("ConnectionsAPI ©");
if (DateTime.UtcNow.Year != START_YEAR)
{
responseBuilder.AppendFormat("{0} - {1}; ", START_YEAR, DateTime.UtcNow.Year);
}
else
{
responseBuilder.AppendFormat("{0}; ", DateTime.UtcNow.Year);
}
var currentAsm = System.Reflection.Assembly.GetExecutingAssembly();
string asmVersion = currentAsm.GetName()?.Version?.ToString() ?? string.Empty;
responseBuilder.Append("by Mate Farkas; ");
responseBuilder.AppendFormat("v{0};", asmVersion);
var currentAsm = System.Reflection.Assembly.GetExecutingAssembly();
string asmVersion = currentAsm.GetName()?.Version?.ToString() ?? string.Empty;
responseBuilder.AppendFormat("v{0};", asmVersion);
await SendStringAsync(responseBuilder.ToString(), cancellation: ct);
}
await SendStringAsync(responseBuilder.ToString(), cancellation: ct);
}
}