Add project files.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
namespace JSMR.Application.Integrations.Chobit.Models;
|
||||
|
||||
public class ChobitResult
|
||||
{
|
||||
public int Count { get; set; }
|
||||
public ChobitWork[] Works { get; set; } = [];
|
||||
}
|
||||
16
JSMR.Application/Integrations/Chobit/Models/ChobitWork.cs
Normal file
16
JSMR.Application/Integrations/Chobit/Models/ChobitWork.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace JSMR.Application.Integrations.Chobit.Models;
|
||||
|
||||
public class ChobitWork
|
||||
{
|
||||
public string? WorkId { get; set; }
|
||||
public string? DLSiteWorkId { get; set; }
|
||||
public string? WorkName { get; set; }
|
||||
public string? WorkNameKana { get; set; }
|
||||
public string? URL { get; set; }
|
||||
public string? EmbedURL { get; set; }
|
||||
public string? Thumb { get; set; }
|
||||
public string? MiniThumb { get; set; }
|
||||
public string? FileType { get; set; }
|
||||
public decimal EmbedWidth { get; set; }
|
||||
public decimal EmbedHeight { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace JSMR.Application.Integrations.Chobit.Models;
|
||||
|
||||
public class ChobitWorkResult : Dictionary<string, ChobitResult> { }
|
||||
8
JSMR.Application/Integrations/Cien/Models/CienArticle.cs
Normal file
8
JSMR.Application/Integrations/Cien/Models/CienArticle.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace JSMR.Application.Integrations.Cien.Models;
|
||||
|
||||
public class CienArticle
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public required string Title { get; set; }
|
||||
public required DateTime ReleasedAt { get; set; }
|
||||
}
|
||||
10
JSMR.Application/Integrations/Cien/Models/CienCreator.cs
Normal file
10
JSMR.Application/Integrations/Cien/Models/CienCreator.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace JSMR.Application.Integrations.Cien.Models;
|
||||
|
||||
public class CienCreator
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public string? Rating { get; set; }
|
||||
public string? Icon { get; set; }
|
||||
public CienArticle[] Articles { get; set; } = [];
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace JSMR.Application.Integrations.DLSite.Models;
|
||||
|
||||
public class VoiceWorkDetailCollection : Dictionary<string, VoiceWorkDetails>
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using JSMR.Application.Common;
|
||||
|
||||
namespace JSMR.Application.Integrations.DLSite.Models;
|
||||
|
||||
public class VoiceWorkDetails
|
||||
{
|
||||
public VoiceWorkSeries? Series { get; init; }
|
||||
public VoiceWorkTranslation? Translation { get; init; }
|
||||
public int WishlistCount { get; init; }
|
||||
public int DownloadCount { get; init; }
|
||||
public DateTime? RegistrationDate { get; init; }
|
||||
public Language[] SupportedLanguages { get; init; } = [];
|
||||
//public AIGeneration AI { get; init; }
|
||||
public bool HasTrial { get; init; }
|
||||
public bool HasReviews { get; init; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace JSMR.Application.Integrations.DLSite.Models;
|
||||
|
||||
public class VoiceWorkSeries
|
||||
{
|
||||
public required string Identifier { get; init; }
|
||||
public required string Name { get; init; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using JSMR.Application.Common;
|
||||
|
||||
namespace JSMR.Application.Integrations.DLSite.Models;
|
||||
|
||||
public class VoiceWorkTranslation
|
||||
{
|
||||
public required string OriginalProductId { get; init; }
|
||||
public bool IsOfficialTranslation { get; init; }
|
||||
public required Language Language { get; init; }
|
||||
}
|
||||
8
JSMR.Application/Integrations/Ports/IChobitClient.cs
Normal file
8
JSMR.Application/Integrations/Ports/IChobitClient.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using JSMR.Application.Integrations.Chobit.Models;
|
||||
|
||||
namespace JSMR.Application.Integrations.Ports;
|
||||
|
||||
public interface IChobitClient
|
||||
{
|
||||
Task<ChobitWorkResult> GetSampleInfoAsync(string[] productIds, CancellationToken cancellationToken = default);
|
||||
}
|
||||
8
JSMR.Application/Integrations/Ports/ICienClient.cs
Normal file
8
JSMR.Application/Integrations/Ports/ICienClient.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using JSMR.Application.Integrations.Cien.Models;
|
||||
|
||||
namespace JSMR.Application.Integrations.Ports;
|
||||
|
||||
public interface ICienClient
|
||||
{
|
||||
Task<CienCreator[]> GetCienCreatorAsync(string makerId, CancellationToken cancellationToken = default);
|
||||
}
|
||||
8
JSMR.Application/Integrations/Ports/IDLSiteClient.cs
Normal file
8
JSMR.Application/Integrations/Ports/IDLSiteClient.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using JSMR.Application.Integrations.DLSite.Models;
|
||||
|
||||
namespace JSMR.Application.Integrations.Ports;
|
||||
|
||||
public interface IDLSiteClient
|
||||
{
|
||||
Task<VoiceWorkDetailCollection> GetVoiceWorkDetailsAsync(string[] productIds, CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user