Added inital job entity and services. Added released works API integration.
All checks were successful
ci / build-test (push) Successful in 2m21s
ci / publish-image (push) Successful in 2m19s

This commit is contained in:
2026-03-27 01:32:39 -04:00
parent 1c016ac62e
commit d9e421178f
36 changed files with 5596 additions and 43 deletions

View File

@@ -0,0 +1,10 @@
namespace JSMR.Application.Integrations.DLSite.Models.ReleasedWorks;
public record ReleasedWork
{
public required string ProductId { get; init; }
public required string Title { get; init; }
public required string MaskedTitle { get; init; }
public required string Description { get; init; }
public required string MaskedDescription { get; init; }
}

View File

@@ -0,0 +1,9 @@
using JSMR.Application.Enums;
namespace JSMR.Application.Integrations.DLSite.Models.ReleasedWorks;
public record ReleasedWorksRequest(
Locale Locale,
DateOnly Date,
int Period
);

View File

@@ -0,0 +1,6 @@
namespace JSMR.Application.Integrations.DLSite.Models.ReleasedWorks;
public class ReleasedWorksCollection : Dictionary<string, ReleasedWork>
{
}

View File

@@ -0,0 +1,10 @@
using JSMR.Application.Integrations.DLSite.Models;
using JSMR.Application.Integrations.DLSite.Models.ReleasedWorks;
namespace JSMR.Application.Integrations.DLSite.Ports;
public interface IDLSiteClient
{
Task<VoiceWorkDetailCollection> GetVoiceWorkDetailsAsync(string[] productIds, CancellationToken cancellationToken = default);
Task<ReleasedWorksCollection> GetReleasedWorksAsync(ReleasedWorksRequest request, CancellationToken cancellationToken);
}