Files
2025-05-01 07:20:41 +09:00

209 lines
5.6 KiB
C#

using System.Text.Json.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Bson;
using UGQDatabase.Models;
using UGQDataAccess.Service;
using UGQDataAccess.Repository.Models;
namespace UGQApiServer.Models;
#pragma warning disable CS8618
public class UGQStateGroup
{
[JsonConverter(typeof(JsonStringEnumConverter))]
public QuestContentState State { get; set; }
public int Count { get; set; }
}
public class UGQSummary
{
public string QuestContentId { get; set; }
public long QuestId { get; set; }
public long Revision { get; set; }
public string UserGuid { get; set; }
public string Author { get; set; }
public int BeaconId { get; set; }
public string? UgcBeaconGuid { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public UgqGradeType GradeType { get; set; }
public string Title { get; set; }
public List<string> Languages { get; set; }
public string Description { get; set; }
public int Cost { get; set; }
public string TitleImagePath { get; set; }
public string BannerImagePath { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public QuestContentState State { get; set; }
public DateTime UpdatedAt { get; set; }
public DateTime CreatedAt { get; set; }
public UGQStats Stats { get; set; }
public string BeaconName { get; set; }
public string Savelanguage { get; set; }
}
public class UGQQuestProfitStats
{
public string QuestContentId { get; set; }
public long QuestId { get; set; }
public long Revision { get; set; }
public string Title { get; set; }
public string TitleImagePath { get; set; }
public string BannerImagePath { get; set; }
public int Completed { get; set; }
public double TotalProfit { get; set; }
}
public class UGQText
{
public string Kr { get; set; }
public string En { get; set; }
public string Jp { get; set; }
}
public class UGQPresetImage
{
public int Id { get; set; }
public string ImagePath { get; set; }
}
public class UGQDialogSequenceAction
{
public DialogTalker Talker { get; set; }
public int Type { get; set; }
public UGQText Talk { get; set; }
public int Condition { get; set; }
public int ConditionValue { get; set; }
public int NextSequence { get; set; }
public int NpcAction { get; set; }
public string TypeName { get; set; }
public string ConditioneName { get; set; }
public string ConditioneValueName { get; set; }
}
public class UGQDialogSequence
{
public int SequenceId { get; set; }
public List<UGQDialogSequenceAction> Actions { get; set; }
}
public class UGQDialog
{
public string DialogId { get; set; }
public List<UGQDialogSequence> Sequences { get; set; }
}
public class UGQTask
{
public UGQText GoalText { get; set; }
public int ActionId { get; set; }
public int ActionValue { get; set; }
public bool IsShowNpcLocation { get; set; }
public string? UgcActionValueGuid { get; set; }
public string? UgcActionValueName { get; set; }
public string? DialogId { get; set; }
public string ActionName { get; set; }
public string ActionValueName { get; set; }
}
public class UGQContent
{
public string QuestContentId { get; set; }
public long QuestId { get; set; }
public long Revision { get; set; }
public int BeaconId { get; set; }
public string? UgcBeaconGuid { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public UgqGradeType GradeType { get; set; }
public UGQText Title { get; set; }
public List<string> Languages { get; set; }
public string TitleImagePath { get; set; }
public string BannerImagePath { get; set; }
public UGQText Description { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public QuestContentState State { get; set; }
public int Cost { get; set; }
public List<UGQTask> Tasks { get; set; }
public DateTimeOffset LastUpdated { get; set; }
public string BeaconName { get; set; }
}
public class UGQBoard
{
public int QuestContentId { get; set; }
public long QuestId { get; set; }
public long Revision { get; set; }
public string Title { get; set; }
public List<string> Languages { get; set; }
public string TitleImagePath { get; set; }
public string BannerImagePath { get; set; }
public string Description { get; set; }
public UGQStats Stats { get; set; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public QuestContentState State { get; set; }
public int Cost { get; set; }
public DateTimeOffset LastUpdated { get; set; }
}
public class UGQCreatorPointHistory
{
[JsonConverter(typeof(JsonStringEnumConverter))]
public CreatorPointHistoryKind Kind { get; set; }
// public string DetailReason { get; set; }
public double Amount { get; set; }
public double TotalAmount { get; set; }
public DateTimeOffset CreatedAt { get; set; }
}
public class UGQCreatorPointHistoryResult
{
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public List<UGQCreatorPointHistory> Items { get; set; }
}
public class UGQSummaryResponse
{
public int TotalCount { get; set; }
public List<UGQStateGroup> StateGroups { get; set; }
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public List<UGQSummary> Summaries { get; set; }
}
public class UGQQuestProfitStatsResult
{
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public List<UGQQuestProfitStats> Items { get; set; }
}