mirror of
https://github.com/BillyCool/MariesWonderland.git
synced 2026-03-28 09:42:19 +01:00
Solution cleanup. Implement stubs for all remaining services. Add API models. Move configuration to appsettings.
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -396,3 +396,7 @@ FodyWeavers.xsd
|
||||
|
||||
# JetBrains Rider
|
||||
*.sln.iml
|
||||
|
||||
# Squad
|
||||
.copilot
|
||||
.squad
|
||||
|
||||
21
src/Configuration/ServerOptions.cs
Normal file
21
src/Configuration/ServerOptions.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
namespace MariesWonderland.Configuration;
|
||||
|
||||
public sealed class ServerOptions
|
||||
{
|
||||
public const string SectionName = "Server";
|
||||
|
||||
public PathsOptions Paths { get; init; } = new();
|
||||
public DataOptions Data { get; init; } = new();
|
||||
}
|
||||
|
||||
public sealed class PathsOptions
|
||||
{
|
||||
public string AssetDatabase { get; init; } = string.Empty;
|
||||
public string MasterDatabase { get; init; } = string.Empty;
|
||||
}
|
||||
|
||||
public sealed class DataOptions
|
||||
{
|
||||
public string LatestMasterDataVersion { get; init; } = string.Empty;
|
||||
public string UserDataBasePath { get; init; } = string.Empty;
|
||||
}
|
||||
1220
src/Data/DarkMasterMemoryDatabase.cs
Normal file
1220
src/Data/DarkMasterMemoryDatabase.cs
Normal file
File diff suppressed because it is too large
Load Diff
220
src/Data/DarkUserMemoryDatabase.cs
Normal file
220
src/Data/DarkUserMemoryDatabase.cs
Normal file
@@ -0,0 +1,220 @@
|
||||
using MariesWonderland.Models.Tables;
|
||||
|
||||
namespace NierReincarnation.Core.Dark;
|
||||
|
||||
public class DarkUserMemoryDatabase
|
||||
{
|
||||
public EntityIUserTable EntityIUserTable { get; }
|
||||
|
||||
public EntityIUserAppleTable EntityIUserAppleTable { get; }
|
||||
|
||||
public EntityIUserAutoSaleSettingDetailTable EntityIUserAutoSaleSettingDetailTable { get; }
|
||||
|
||||
public EntityIUserBeginnerCampaignTable EntityIUserBeginnerCampaignTable { get; }
|
||||
|
||||
public EntityIUserBigHuntMaxScoreTable EntityIUserBigHuntMaxScoreTable { get; }
|
||||
|
||||
public EntityIUserBigHuntProgressStatusTable EntityIUserBigHuntProgressStatusTable { get; }
|
||||
|
||||
public EntityIUserBigHuntScheduleMaxScoreTable EntityIUserBigHuntScheduleMaxScoreTable { get; }
|
||||
|
||||
public EntityIUserBigHuntStatusTable EntityIUserBigHuntStatusTable { get; }
|
||||
|
||||
public EntityIUserBigHuntWeeklyMaxScoreTable EntityIUserBigHuntWeeklyMaxScoreTable { get; }
|
||||
|
||||
public EntityIUserBigHuntWeeklyStatusTable EntityIUserBigHuntWeeklyStatusTable { get; }
|
||||
|
||||
public EntityIUserCageOrnamentRewardTable EntityIUserCageOrnamentRewardTable { get; }
|
||||
|
||||
public EntityIUserCharacterTable EntityIUserCharacterTable { get; }
|
||||
|
||||
public EntityIUserCharacterBoardTable EntityIUserCharacterBoardTable { get; }
|
||||
|
||||
public EntityIUserCharacterBoardAbilityTable EntityIUserCharacterBoardAbilityTable { get; }
|
||||
|
||||
public EntityIUserCharacterBoardCompleteRewardTable EntityIUserCharacterBoardCompleteRewardTable { get; }
|
||||
|
||||
public EntityIUserCharacterBoardStatusUpTable EntityIUserCharacterBoardStatusUpTable { get; }
|
||||
|
||||
public EntityIUserCharacterCostumeLevelBonusTable EntityIUserCharacterCostumeLevelBonusTable { get; }
|
||||
|
||||
public EntityIUserCharacterRebirthTable EntityIUserCharacterRebirthTable { get; }
|
||||
|
||||
public EntityIUserCharacterViewerFieldTable EntityIUserCharacterViewerFieldTable { get; }
|
||||
|
||||
public EntityIUserComebackCampaignTable EntityIUserComebackCampaignTable { get; }
|
||||
|
||||
public EntityIUserCompanionTable EntityIUserCompanionTable { get; }
|
||||
|
||||
public EntityIUserConsumableItemTable EntityIUserConsumableItemTable { get; }
|
||||
|
||||
public EntityIUserContentsStoryTable EntityIUserContentsStoryTable { get; }
|
||||
|
||||
public EntityIUserCostumeTable EntityIUserCostumeTable { get; }
|
||||
|
||||
public EntityIUserCostumeActiveSkillTable EntityIUserCostumeActiveSkillTable { get; }
|
||||
|
||||
public EntityIUserCostumeAwakenStatusUpTable EntityIUserCostumeAwakenStatusUpTable { get; }
|
||||
|
||||
public EntityIUserCostumeLevelBonusReleaseStatusTable EntityIUserCostumeLevelBonusReleaseStatusTable { get; }
|
||||
|
||||
public EntityIUserCostumeLotteryEffectTable EntityIUserCostumeLotteryEffectTable { get; }
|
||||
|
||||
public EntityIUserCostumeLotteryEffectAbilityTable EntityIUserCostumeLotteryEffectAbilityTable { get; }
|
||||
|
||||
public EntityIUserCostumeLotteryEffectPendingTable EntityIUserCostumeLotteryEffectPendingTable { get; }
|
||||
|
||||
public EntityIUserCostumeLotteryEffectStatusUpTable EntityIUserCostumeLotteryEffectStatusUpTable { get; }
|
||||
|
||||
public EntityIUserDeckTable EntityIUserDeckTable { get; }
|
||||
|
||||
public EntityIUserDeckCharacterTable EntityIUserDeckCharacterTable { get; }
|
||||
|
||||
public EntityIUserDeckCharacterDressupCostumeTable EntityIUserDeckCharacterDressupCostumeTable { get; }
|
||||
|
||||
public EntityIUserDeckLimitContentDeletedCharacterTable EntityIUserDeckLimitContentDeletedCharacterTable { get; }
|
||||
|
||||
public EntityIUserDeckLimitContentRestrictedTable EntityIUserDeckLimitContentRestrictedTable { get; }
|
||||
|
||||
public EntityIUserDeckPartsGroupTable EntityIUserDeckPartsGroupTable { get; }
|
||||
|
||||
public EntityIUserDeckSubWeaponGroupTable EntityIUserDeckSubWeaponGroupTable { get; }
|
||||
|
||||
public EntityIUserDeckTypeNoteTable EntityIUserDeckTypeNoteTable { get; }
|
||||
|
||||
public EntityIUserDokanTable EntityIUserDokanTable { get; }
|
||||
|
||||
public EntityIUserEventQuestDailyGroupCompleteRewardTable EntityIUserEventQuestDailyGroupCompleteRewardTable { get; }
|
||||
|
||||
public EntityIUserEventQuestGuerrillaFreeOpenTable EntityIUserEventQuestGuerrillaFreeOpenTable { get; }
|
||||
|
||||
public EntityIUserEventQuestLabyrinthSeasonTable EntityIUserEventQuestLabyrinthSeasonTable { get; }
|
||||
|
||||
public EntityIUserEventQuestLabyrinthStageTable EntityIUserEventQuestLabyrinthStageTable { get; }
|
||||
|
||||
public EntityIUserEventQuestProgressStatusTable EntityIUserEventQuestProgressStatusTable { get; }
|
||||
|
||||
public EntityIUserEventQuestTowerAccumulationRewardTable EntityIUserEventQuestTowerAccumulationRewardTable { get; }
|
||||
|
||||
public EntityIUserExploreTable EntityIUserExploreTable { get; }
|
||||
|
||||
public EntityIUserExploreScoreTable EntityIUserExploreScoreTable { get; }
|
||||
|
||||
public EntityIUserExtraQuestProgressStatusTable EntityIUserExtraQuestProgressStatusTable { get; }
|
||||
|
||||
public EntityIUserFacebookTable EntityIUserFacebookTable { get; }
|
||||
|
||||
public EntityIUserGemTable EntityIUserGemTable { get; }
|
||||
|
||||
public EntityIUserGimmickTable EntityIUserGimmickTable { get; }
|
||||
|
||||
public EntityIUserGimmickOrnamentProgressTable EntityIUserGimmickOrnamentProgressTable { get; }
|
||||
|
||||
public EntityIUserGimmickSequenceTable EntityIUserGimmickSequenceTable { get; }
|
||||
|
||||
public EntityIUserGimmickUnlockTable EntityIUserGimmickUnlockTable { get; }
|
||||
|
||||
public EntityIUserImportantItemTable EntityIUserImportantItemTable { get; }
|
||||
|
||||
public EntityIUserLimitedOpenTable EntityIUserLimitedOpenTable { get; }
|
||||
|
||||
public EntityIUserLoginTable EntityIUserLoginTable { get; }
|
||||
|
||||
public EntityIUserLoginBonusTable EntityIUserLoginBonusTable { get; }
|
||||
|
||||
public EntityIUserMainQuestFlowStatusTable EntityIUserMainQuestFlowStatusTable { get; }
|
||||
|
||||
public EntityIUserMainQuestMainFlowStatusTable EntityIUserMainQuestMainFlowStatusTable { get; }
|
||||
|
||||
public EntityIUserMainQuestProgressStatusTable EntityIUserMainQuestProgressStatusTable { get; }
|
||||
|
||||
public EntityIUserMainQuestReplayFlowStatusTable EntityIUserMainQuestReplayFlowStatusTable { get; }
|
||||
|
||||
public EntityIUserMainQuestSeasonRouteTable EntityIUserMainQuestSeasonRouteTable { get; }
|
||||
|
||||
public EntityIUserMaterialTable EntityIUserMaterialTable { get; }
|
||||
|
||||
public EntityIUserMissionTable EntityIUserMissionTable { get; }
|
||||
|
||||
public EntityIUserMissionCompletionProgressTable EntityIUserMissionCompletionProgressTable { get; }
|
||||
|
||||
public EntityIUserMissionPassPointTable EntityIUserMissionPassPointTable { get; }
|
||||
|
||||
public EntityIUserMovieTable EntityIUserMovieTable { get; }
|
||||
|
||||
public EntityIUserNaviCutInTable EntityIUserNaviCutInTable { get; }
|
||||
|
||||
public EntityIUserOmikujiTable EntityIUserOmikujiTable { get; }
|
||||
|
||||
public EntityIUserPartsTable EntityIUserPartsTable { get; }
|
||||
|
||||
public EntityIUserPartsGroupNoteTable EntityIUserPartsGroupNoteTable { get; }
|
||||
|
||||
public EntityIUserPartsPresetTable EntityIUserPartsPresetTable { get; }
|
||||
|
||||
public EntityIUserPartsPresetTagTable EntityIUserPartsPresetTagTable { get; }
|
||||
|
||||
public EntityIUserPartsStatusSubTable EntityIUserPartsStatusSubTable { get; }
|
||||
|
||||
public EntityIUserPortalCageStatusTable EntityIUserPortalCageStatusTable { get; }
|
||||
|
||||
public EntityIUserPossessionAutoConvertTable EntityIUserPossessionAutoConvertTable { get; }
|
||||
|
||||
public EntityIUserPremiumItemTable EntityIUserPremiumItemTable { get; }
|
||||
|
||||
public EntityIUserProfileTable EntityIUserProfileTable { get; }
|
||||
|
||||
public EntityIUserPvpDefenseDeckTable EntityIUserPvpDefenseDeckTable { get; }
|
||||
|
||||
public EntityIUserPvpStatusTable EntityIUserPvpStatusTable { get; }
|
||||
|
||||
public EntityIUserPvpWeeklyResultTable EntityIUserPvpWeeklyResultTable { get; }
|
||||
|
||||
public EntityIUserQuestTable EntityIUserQuestTable { get; }
|
||||
|
||||
public EntityIUserQuestAutoOrbitTable EntityIUserQuestAutoOrbitTable { get; }
|
||||
|
||||
public EntityIUserQuestLimitContentStatusTable EntityIUserQuestLimitContentStatusTable { get; }
|
||||
|
||||
public EntityIUserQuestMissionTable EntityIUserQuestMissionTable { get; }
|
||||
|
||||
public EntityIUserQuestReplayFlowRewardGroupTable EntityIUserQuestReplayFlowRewardGroupTable { get; }
|
||||
|
||||
public EntityIUserQuestSceneChoiceTable EntityIUserQuestSceneChoiceTable { get; }
|
||||
|
||||
public EntityIUserQuestSceneChoiceHistoryTable EntityIUserQuestSceneChoiceHistoryTable { get; }
|
||||
|
||||
public EntityIUserSettingTable EntityIUserSettingTable { get; }
|
||||
|
||||
public EntityIUserShopItemTable EntityIUserShopItemTable { get; }
|
||||
|
||||
public EntityIUserShopReplaceableTable EntityIUserShopReplaceableTable { get; }
|
||||
|
||||
public EntityIUserShopReplaceableLineupTable EntityIUserShopReplaceableLineupTable { get; }
|
||||
|
||||
public EntityIUserSideStoryQuestTable EntityIUserSideStoryQuestTable { get; }
|
||||
|
||||
public EntityIUserSideStoryQuestSceneProgressStatusTable EntityIUserSideStoryQuestSceneProgressStatusTable { get; }
|
||||
|
||||
public EntityIUserStatusTable EntityIUserStatusTable { get; }
|
||||
|
||||
public EntityIUserThoughtTable EntityIUserThoughtTable { get; }
|
||||
|
||||
public EntityIUserTripleDeckTable EntityIUserTripleDeckTable { get; }
|
||||
|
||||
public EntityIUserTutorialProgressTable EntityIUserTutorialProgressTable { get; }
|
||||
|
||||
public EntityIUserWeaponTable EntityIUserWeaponTable { get; }
|
||||
|
||||
public EntityIUserWeaponAbilityTable EntityIUserWeaponAbilityTable { get; }
|
||||
|
||||
public EntityIUserWeaponAwakenTable EntityIUserWeaponAwakenTable { get; }
|
||||
|
||||
public EntityIUserWeaponNoteTable EntityIUserWeaponNoteTable { get; }
|
||||
|
||||
public EntityIUserWeaponSkillTable EntityIUserWeaponSkillTable { get; }
|
||||
|
||||
public EntityIUserWeaponStoryTable EntityIUserWeaponStoryTable { get; }
|
||||
|
||||
public EntityIUserWebviewPanelMissionTable EntityIUserWebviewPanelMissionTable { get; }
|
||||
}
|
||||
51
src/Extensions/GrpcExtensions.cs
Normal file
51
src/Extensions/GrpcExtensions.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using MariesWonderland.Services;
|
||||
|
||||
namespace MariesWonderland.Extensions;
|
||||
|
||||
public static class GrpcExtensions
|
||||
{
|
||||
public static WebApplication MapGrpcServices(this WebApplication app)
|
||||
{
|
||||
app.MapGrpcService<BannerService>();
|
||||
app.MapGrpcService<BattleService>();
|
||||
app.MapGrpcService<BigHuntService>();
|
||||
app.MapGrpcService<CageOrnamentService>();
|
||||
app.MapGrpcService<CharacterBoardService>();
|
||||
app.MapGrpcService<CharacterService>();
|
||||
app.MapGrpcService<CharacterViewerService>();
|
||||
app.MapGrpcService<CompanionService>();
|
||||
app.MapGrpcService<ConfigService>();
|
||||
app.MapGrpcService<ConsumableItemService>();
|
||||
app.MapGrpcService<ContentsStoryService>();
|
||||
app.MapGrpcService<CostumeService>();
|
||||
app.MapGrpcService<DataService>();
|
||||
app.MapGrpcService<DeckService>();
|
||||
app.MapGrpcService<DokanService>();
|
||||
app.MapGrpcService<ExploreService>();
|
||||
app.MapGrpcService<FriendService>();
|
||||
app.MapGrpcService<GachaService>();
|
||||
app.MapGrpcService<GameplayService>();
|
||||
app.MapGrpcService<GiftService>();
|
||||
app.MapGrpcService<GimmickService>();
|
||||
app.MapGrpcService<IndividualPopService>();
|
||||
app.MapGrpcService<LabyrinthService>();
|
||||
app.MapGrpcService<LoginBonusService>();
|
||||
app.MapGrpcService<MaterialService>();
|
||||
app.MapGrpcService<MissionService>();
|
||||
app.MapGrpcService<MovieService>();
|
||||
app.MapGrpcService<NaviCutInService>();
|
||||
app.MapGrpcService<NotificationService>();
|
||||
app.MapGrpcService<OmikujiService>();
|
||||
app.MapGrpcService<PartsService>();
|
||||
app.MapGrpcService<PortalCageService>();
|
||||
app.MapGrpcService<PvpService>();
|
||||
app.MapGrpcService<QuestService>();
|
||||
app.MapGrpcService<RewardService>();
|
||||
app.MapGrpcService<ShopService>();
|
||||
app.MapGrpcService<SideStoryQuestService>();
|
||||
app.MapGrpcService<TutorialService>();
|
||||
app.MapGrpcService<UserService>();
|
||||
app.MapGrpcService<WeaponService>();
|
||||
return app;
|
||||
}
|
||||
}
|
||||
154
src/Extensions/HttpApiExtensions.cs
Normal file
154
src/Extensions/HttpApiExtensions.cs
Normal file
@@ -0,0 +1,154 @@
|
||||
using MariesWonderland.Configuration;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace MariesWonderland.Extensions;
|
||||
|
||||
public static class HttpApiExtensions
|
||||
{
|
||||
public static WebApplication MapHttpApis(this WebApplication app)
|
||||
{
|
||||
var options = app.Services.GetRequiredService<IOptions<ServerOptions>>().Value;
|
||||
var assetDatabaseBasePath = options.Paths.AssetDatabase;
|
||||
var masterDatabaseBasePath = options.Paths.MasterDatabase;
|
||||
|
||||
app.MapGet("/", () => "Marie's Wonderland is open for business :marie:");
|
||||
|
||||
// ToS. Expects the version wrapped in delimiters like "###123###".
|
||||
app.MapGet("/web/static/{languagePath}/terms/termsofuse", (string languagePath) => $"<html><head><title>Terms of Service</title></head><body><h1>Terms of Service</h1><p>Language: {languagePath}</p><p>Version: ###123###</p></body></html>");
|
||||
|
||||
// Asset Database
|
||||
app.MapGet("/v1/list/300116832/{revision}", async (string revision) =>
|
||||
await File.ReadAllBytesAsync(Path.Combine(assetDatabaseBasePath, revision, "list.bin")));
|
||||
app.MapGet("/v2/pub/a/301/v/300116832/list/{revision}", async (string revision) =>
|
||||
await File.ReadAllBytesAsync(Path.Combine(assetDatabaseBasePath, revision, "list.bin")));
|
||||
|
||||
// Master Database
|
||||
app.MapMethods("/assets/release/{masterVersion}/database.bin.e", ["GET", "HEAD"], async (HttpContext ctx, string masterVersion) =>
|
||||
{
|
||||
var filePath = Path.Combine(masterDatabaseBasePath, $"{masterVersion}.bin.e");
|
||||
|
||||
var fileInfo = new FileInfo(filePath);
|
||||
long totalLength = fileInfo.Length;
|
||||
|
||||
// Advertise range support
|
||||
ctx.Response.Headers.AcceptRanges = "bytes";
|
||||
|
||||
// Simple ETag using last write ticks & length (optional but useful for clients)
|
||||
ctx.Response.Headers.ETag = $"\"{fileInfo.LastWriteTimeUtc.Ticks:x}-{totalLength:x}\"";
|
||||
|
||||
// Handle HEAD quickly (send headers only)
|
||||
bool isHead = string.Equals(ctx.Request.Method, "HEAD", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
// Parse Range header if present
|
||||
if (ctx.Request.Headers.TryGetValue("Range", out var rangeHeader))
|
||||
{
|
||||
// Expect single range of form: bytes=start-end
|
||||
var raw = rangeHeader.ToString();
|
||||
if (!raw.StartsWith("bytes=", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// Malformed range; respond with 416
|
||||
ctx.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
|
||||
ctx.Response.Headers.ContentRange = $"bytes */{totalLength}";
|
||||
return;
|
||||
}
|
||||
|
||||
var rangePart = raw["bytes=".Length..].Trim();
|
||||
var parts = rangePart.Split('-', 2);
|
||||
if (parts.Length != 2)
|
||||
{
|
||||
ctx.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
|
||||
ctx.Response.Headers.ContentRange = $"bytes */{totalLength}";
|
||||
return;
|
||||
}
|
||||
|
||||
bool startParsed = long.TryParse(parts[0], out long start);
|
||||
bool endParsed = long.TryParse(parts[1], out long end);
|
||||
|
||||
if (!startParsed && endParsed)
|
||||
{
|
||||
// suffix range: last 'end' bytes
|
||||
long suffixLength = end;
|
||||
if (suffixLength <= 0)
|
||||
{
|
||||
ctx.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
|
||||
ctx.Response.Headers.ContentRange = $"bytes */{totalLength}";
|
||||
return;
|
||||
}
|
||||
start = Math.Max(0, totalLength - suffixLength);
|
||||
end = totalLength - 1;
|
||||
}
|
||||
else if (startParsed && !endParsed)
|
||||
{
|
||||
// range from start to end of file
|
||||
end = totalLength - 1;
|
||||
}
|
||||
else if (!startParsed && !endParsed)
|
||||
{
|
||||
ctx.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
|
||||
ctx.Response.Headers.ContentRange = $"bytes */{totalLength}";
|
||||
return;
|
||||
}
|
||||
|
||||
// Validate
|
||||
if (start < 0 || end < start || start >= totalLength)
|
||||
{
|
||||
ctx.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
|
||||
ctx.Response.Headers.ContentRange = $"bytes */{totalLength}";
|
||||
return;
|
||||
}
|
||||
|
||||
long length = end - start + 1;
|
||||
|
||||
ctx.Response.StatusCode = StatusCodes.Status206PartialContent;
|
||||
ctx.Response.Headers.ContentRange = $"bytes {start}-{end}/{totalLength}";
|
||||
ctx.Response.ContentType = "application/octet-stream";
|
||||
ctx.Response.ContentLength = length;
|
||||
|
||||
if (isHead)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Stream the requested range
|
||||
await using var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||
fs.Seek(start, SeekOrigin.Begin);
|
||||
|
||||
var buffer = new byte[64 * 1024];
|
||||
long remaining = length;
|
||||
while (remaining > 0)
|
||||
{
|
||||
int toRead = (int)Math.Min(buffer.Length, remaining);
|
||||
int read = await fs.ReadAsync(buffer, 0, toRead);
|
||||
if (read == 0) break;
|
||||
await ctx.Response.Body.WriteAsync(buffer.AsMemory(0, read));
|
||||
remaining -= read;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// No Range header: return full file
|
||||
ctx.Response.StatusCode = StatusCodes.Status200OK;
|
||||
ctx.Response.ContentType = "application/octet-stream";
|
||||
ctx.Response.ContentLength = totalLength;
|
||||
|
||||
if (isHead)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Stream the whole file
|
||||
await using var fullFs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||
await fullFs.CopyToAsync(ctx.Response.Body);
|
||||
});
|
||||
|
||||
// Catch all
|
||||
app.MapMethods("/{**catchAll}", ["GET", "POST", "PUT", "DELETE", "PATCH",], (HttpContext ctx, string catchAll) =>
|
||||
{
|
||||
app.Logger.LogWarning("Catchall endpoint hit for {Method} {Path}", ctx.Request.Method, ctx.Request.Path);
|
||||
return $"You requested: {catchAll}";
|
||||
});
|
||||
|
||||
return app;
|
||||
}
|
||||
}
|
||||
12
src/Extensions/ServiceExtensions.cs
Normal file
12
src/Extensions/ServiceExtensions.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Configuration;
|
||||
|
||||
namespace MariesWonderland.Extensions;
|
||||
|
||||
public static class ServiceExtensions
|
||||
{
|
||||
public static IServiceCollection AddServerOptions(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.Configure<ServerOptions>(configuration.GetSection(ServerOptions.SectionName));
|
||||
return services;
|
||||
}
|
||||
}
|
||||
22
src/Models/Entities/EntityIUser.cs
Normal file
22
src/Models/Entities/EntityIUser.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUser
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long PlayerId { get; set; }
|
||||
|
||||
public int OsType { get; set; }
|
||||
|
||||
public PlatformType PlatformType { get; set; }
|
||||
|
||||
public int UserRestrictionType { get; set; }
|
||||
|
||||
public long RegisterDatetime { get; set; }
|
||||
|
||||
public long GameStartDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserApple.cs
Normal file
12
src/Models/Entities/EntityIUserApple.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserApple
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string AppleId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserAutoSaleSettingDetail.cs
Normal file
14
src/Models/Entities/EntityIUserAutoSaleSettingDetail.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserAutoSaleSettingDetail
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int PossessionAutoSaleItemType { get; set; }
|
||||
|
||||
public string PossessionAutoSaleItemValue { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserBeginnerCampaign.cs
Normal file
14
src/Models/Entities/EntityIUserBeginnerCampaign.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBeginnerCampaign
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int BeginnerCampaignId { get; set; }
|
||||
|
||||
public long CampaignRegisterDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserBigHuntMaxScore.cs
Normal file
16
src/Models/Entities/EntityIUserBigHuntMaxScore.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntMaxScore
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int BigHuntBossId { get; set; }
|
||||
|
||||
public long MaxScore { get; set; }
|
||||
|
||||
public long MaxScoreUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserBigHuntProgressStatus.cs
Normal file
18
src/Models/Entities/EntityIUserBigHuntProgressStatus.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntProgressStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentBigHuntBossQuestId { get; set; }
|
||||
|
||||
public int CurrentBigHuntQuestId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public bool IsDryRun { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserBigHuntScheduleMaxScore.cs
Normal file
18
src/Models/Entities/EntityIUserBigHuntScheduleMaxScore.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntScheduleMaxScore
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int BigHuntScheduleId { get; set; }
|
||||
|
||||
public int BigHuntBossId { get; set; }
|
||||
|
||||
public long MaxScore { get; set; }
|
||||
|
||||
public long MaxScoreUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserBigHuntStatus.cs
Normal file
16
src/Models/Entities/EntityIUserBigHuntStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int BigHuntBossQuestId { get; set; }
|
||||
|
||||
public int DailyChallengeCount { get; set; }
|
||||
|
||||
public long LatestChallengeDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserBigHuntWeeklyMaxScore.cs
Normal file
16
src/Models/Entities/EntityIUserBigHuntWeeklyMaxScore.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntWeeklyMaxScore
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long BigHuntWeeklyVersion { get; set; }
|
||||
|
||||
public AttributeType AttributeType { get; set; }
|
||||
|
||||
public long MaxScore { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserBigHuntWeeklyStatus.cs
Normal file
14
src/Models/Entities/EntityIUserBigHuntWeeklyStatus.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserBigHuntWeeklyStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long BigHuntWeeklyVersion { get; set; }
|
||||
|
||||
public bool IsReceivedWeeklyReward { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserCageOrnamentReward.cs
Normal file
14
src/Models/Entities/EntityIUserCageOrnamentReward.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCageOrnamentReward
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CageOrnamentId { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserCharacter.cs
Normal file
16
src/Models/Entities/EntityIUserCharacter.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacter
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterId { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public int Exp { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserCharacterBoard.cs
Normal file
20
src/Models/Entities/EntityIUserCharacterBoard.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterBoard
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterBoardId { get; set; }
|
||||
|
||||
public int PanelReleaseBit1 { get; set; }
|
||||
|
||||
public int PanelReleaseBit2 { get; set; }
|
||||
|
||||
public int PanelReleaseBit3 { get; set; }
|
||||
|
||||
public int PanelReleaseBit4 { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserCharacterBoardAbility.cs
Normal file
16
src/Models/Entities/EntityIUserCharacterBoardAbility.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterBoardAbility
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterId { get; set; }
|
||||
|
||||
public int AbilityId { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterBoardCompleteReward
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterBoardCompleteRewardId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
26
src/Models/Entities/EntityIUserCharacterBoardStatusUp.cs
Normal file
26
src/Models/Entities/EntityIUserCharacterBoardStatusUp.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterBoardStatusUp
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterId { get; set; }
|
||||
|
||||
public StatusCalculationType StatusCalculationType { get; set; }
|
||||
|
||||
public int Hp { get; set; }
|
||||
|
||||
public int Attack { get; set; }
|
||||
|
||||
public int Vitality { get; set; }
|
||||
|
||||
public int Agility { get; set; }
|
||||
|
||||
public int CriticalRatio { get; set; }
|
||||
|
||||
public int CriticalAttack { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
26
src/Models/Entities/EntityIUserCharacterCostumeLevelBonus.cs
Normal file
26
src/Models/Entities/EntityIUserCharacterCostumeLevelBonus.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterCostumeLevelBonus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterId { get; set; }
|
||||
|
||||
public StatusCalculationType StatusCalculationType { get; set; }
|
||||
|
||||
public int Hp { get; set; }
|
||||
|
||||
public int Attack { get; set; }
|
||||
|
||||
public int Vitality { get; set; }
|
||||
|
||||
public int Agility { get; set; }
|
||||
|
||||
public int CriticalRatio { get; set; }
|
||||
|
||||
public int CriticalAttack { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserCharacterRebirth.cs
Normal file
14
src/Models/Entities/EntityIUserCharacterRebirth.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterRebirth
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterId { get; set; }
|
||||
|
||||
public int RebirthCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserCharacterViewerField.cs
Normal file
14
src/Models/Entities/EntityIUserCharacterViewerField.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCharacterViewerField
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CharacterViewerFieldId { get; set; }
|
||||
|
||||
public long ReleaseDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserComebackCampaign.cs
Normal file
14
src/Models/Entities/EntityIUserComebackCampaign.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserComebackCampaign
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ComebackCampaignId { get; set; }
|
||||
|
||||
public long ComebackDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserCompanion.cs
Normal file
20
src/Models/Entities/EntityIUserCompanion.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCompanion
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCompanionUuid { get; set; }
|
||||
|
||||
public int CompanionId { get; set; }
|
||||
|
||||
public int HeadupDisplayViewId { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserConsumableItem.cs
Normal file
16
src/Models/Entities/EntityIUserConsumableItem.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserConsumableItem
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ConsumableItemId { get; set; }
|
||||
|
||||
public int Count { get; set; }
|
||||
|
||||
public long FirstAcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserContentsStory.cs
Normal file
14
src/Models/Entities/EntityIUserContentsStory.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserContentsStory
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ContentsStoryId { get; set; }
|
||||
|
||||
public long PlayDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
26
src/Models/Entities/EntityIUserCostume.cs
Normal file
26
src/Models/Entities/EntityIUserCostume.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostume
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public int CostumeId { get; set; }
|
||||
|
||||
public int LimitBreakCount { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public int Exp { get; set; }
|
||||
|
||||
public int HeadupDisplayViewId { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public int AwakenCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserCostumeActiveSkill.cs
Normal file
16
src/Models/Entities/EntityIUserCostumeActiveSkill.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeActiveSkill
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
26
src/Models/Entities/EntityIUserCostumeAwakenStatusUp.cs
Normal file
26
src/Models/Entities/EntityIUserCostumeAwakenStatusUp.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeAwakenStatusUp
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public StatusCalculationType StatusCalculationType { get; set; }
|
||||
|
||||
public int Hp { get; set; }
|
||||
|
||||
public int Attack { get; set; }
|
||||
|
||||
public int Vitality { get; set; }
|
||||
|
||||
public int Agility { get; set; }
|
||||
|
||||
public int CriticalRatio { get; set; }
|
||||
|
||||
public int CriticalAttack { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeLevelBonusReleaseStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CostumeId { get; set; }
|
||||
|
||||
public int LastReleasedBonusLevel { get; set; }
|
||||
|
||||
public int ConfirmedBonusLevel { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserCostumeLotteryEffect.cs
Normal file
16
src/Models/Entities/EntityIUserCostumeLotteryEffect.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeLotteryEffect
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public int SlotNumber { get; set; }
|
||||
|
||||
public int OddsNumber { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeLotteryEffectAbility
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public int SlotNumber { get; set; }
|
||||
|
||||
public int AbilityId { get; set; }
|
||||
|
||||
public int AbilityLevel { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeLotteryEffectPending
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public int SlotNumber { get; set; }
|
||||
|
||||
public int OddsNumber { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserCostumeLotteryEffectStatusUp
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public StatusCalculationType StatusCalculationType { get; set; }
|
||||
|
||||
public int Hp { get; set; }
|
||||
|
||||
public int Attack { get; set; }
|
||||
|
||||
public int Vitality { get; set; }
|
||||
|
||||
public int Agility { get; set; }
|
||||
|
||||
public int CriticalRatio { get; set; }
|
||||
|
||||
public int CriticalAttack { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
38
src/Models/Entities/EntityIUserDeck.cs
Normal file
38
src/Models/Entities/EntityIUserDeck.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeck
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public DeckType DeckType { get; set; }
|
||||
|
||||
public int UserDeckNumber { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid01 { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid02 { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid03 { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public int Power { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
|
||||
public EntityIUserDeck(long UserId, DeckType DeckType, int UserDeckNumber, string UserDeckCharacterUuid01,
|
||||
string UserDeckCharacterUuid02, string UserDeckCharacterUuid03, string Name, int Power, long LatestVersion)
|
||||
{
|
||||
this.UserId = UserId;
|
||||
this.DeckType = DeckType;
|
||||
this.UserDeckNumber = UserDeckNumber;
|
||||
this.UserDeckCharacterUuid01 = UserDeckCharacterUuid01;
|
||||
this.UserDeckCharacterUuid02 = UserDeckCharacterUuid02;
|
||||
this.UserDeckCharacterUuid03 = UserDeckCharacterUuid03;
|
||||
this.Name = Name;
|
||||
this.Power = Power;
|
||||
this.LatestVersion = LatestVersion;
|
||||
}
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserDeckCharacter.cs
Normal file
22
src/Models/Entities/EntityIUserDeckCharacter.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckCharacter
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid { get; set; }
|
||||
|
||||
public string UserCostumeUuid { get; set; }
|
||||
|
||||
public string MainUserWeaponUuid { get; set; }
|
||||
|
||||
public string UserCompanionUuid { get; set; }
|
||||
|
||||
public int Power { get; set; }
|
||||
|
||||
public string UserThoughtUuid { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckCharacterDressupCostume
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid { get; set; }
|
||||
|
||||
public int DressupCostumeId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckLimitContentDeletedCharacter
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int UserDeckNumber { get; set; }
|
||||
|
||||
public int UserDeckCharacterNumber { get; set; }
|
||||
|
||||
public int CostumeId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserDeckLimitContentRestricted.cs
Normal file
20
src/Models/Entities/EntityIUserDeckLimitContentRestricted.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckLimitContentRestricted
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int EventQuestChapterId { get; set; }
|
||||
|
||||
public int QuestId { get; set; }
|
||||
|
||||
public string DeckRestrictedUuid { get; set; }
|
||||
|
||||
public PossessionType PossessionType { get; set; }
|
||||
|
||||
public string TargetUuid { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserDeckPartsGroup.cs
Normal file
16
src/Models/Entities/EntityIUserDeckPartsGroup.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckPartsGroup
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid { get; set; }
|
||||
|
||||
public string UserPartsUuid { get; set; }
|
||||
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserDeckSubWeaponGroup.cs
Normal file
16
src/Models/Entities/EntityIUserDeckSubWeaponGroup.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckSubWeaponGroup
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserDeckCharacterUuid { get; set; }
|
||||
|
||||
public string UserWeaponUuid { get; set; }
|
||||
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserDeckTypeNote.cs
Normal file
14
src/Models/Entities/EntityIUserDeckTypeNote.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDeckTypeNote
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public DeckType DeckType { get; set; }
|
||||
|
||||
public int MaxDeckPower { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserDokan.cs
Normal file
14
src/Models/Entities/EntityIUserDokan.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserDokan
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int DokanId { get; set; }
|
||||
|
||||
public long DisplayDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestDailyGroupCompleteReward
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int LastRewardReceiveEventQuestDailyGroupId { get; set; }
|
||||
|
||||
public long LastRewardReceiveDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestGuerrillaFreeOpen
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long StartDatetime { get; set; }
|
||||
|
||||
public int OpenMinutes { get; set; }
|
||||
|
||||
public int DailyOpenedCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserEventQuestLabyrinthSeason.cs
Normal file
16
src/Models/Entities/EntityIUserEventQuestLabyrinthSeason.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestLabyrinthSeason
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int EventQuestChapterId { get; set; }
|
||||
|
||||
public int LastJoinSeasonNumber { get; set; }
|
||||
|
||||
public int LastSeasonRewardReceivedSeasonNumber { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserEventQuestLabyrinthStage.cs
Normal file
18
src/Models/Entities/EntityIUserEventQuestLabyrinthStage.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestLabyrinthStage
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int EventQuestChapterId { get; set; }
|
||||
|
||||
public int StageOrder { get; set; }
|
||||
|
||||
public bool IsReceivedStageClearReward { get; set; }
|
||||
|
||||
public int AccumulationRewardReceivedQuestMissionCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserEventQuestProgressStatus.cs
Normal file
18
src/Models/Entities/EntityIUserEventQuestProgressStatus.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestProgressStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentEventQuestChapterId { get; set; }
|
||||
|
||||
public int CurrentQuestId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public int HeadQuestSceneId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserEventQuestTowerAccumulationReward
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int EventQuestChapterId { get; set; }
|
||||
|
||||
public int LatestRewardReceiveQuestMissionClearCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserExplore.cs
Normal file
16
src/Models/Entities/EntityIUserExplore.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserExplore
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public bool IsUseExploreTicket { get; set; }
|
||||
|
||||
public int PlayingExploreId { get; set; }
|
||||
|
||||
public long LatestPlayDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserExploreScore.cs
Normal file
16
src/Models/Entities/EntityIUserExploreScore.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserExploreScore
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ExploreId { get; set; }
|
||||
|
||||
public int MaxScore { get; set; }
|
||||
|
||||
public long MaxScoreUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserExtraQuestProgressStatus.cs
Normal file
16
src/Models/Entities/EntityIUserExtraQuestProgressStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserExtraQuestProgressStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentQuestId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public int HeadQuestSceneId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserFacebook.cs
Normal file
12
src/Models/Entities/EntityIUserFacebook.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserFacebook
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long FacebookId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserGem.cs
Normal file
12
src/Models/Entities/EntityIUserGem.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserGem
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int PaidGem { get; set; }
|
||||
|
||||
public int FreeGem { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserGimmick.cs
Normal file
20
src/Models/Entities/EntityIUserGimmick.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserGimmick
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int GimmickSequenceScheduleId { get; set; }
|
||||
|
||||
public int GimmickSequenceId { get; set; }
|
||||
|
||||
public int GimmickId { get; set; }
|
||||
|
||||
public bool IsGimmickCleared { get; set; }
|
||||
|
||||
public long StartDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserGimmickOrnamentProgress.cs
Normal file
22
src/Models/Entities/EntityIUserGimmickOrnamentProgress.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserGimmickOrnamentProgress
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int GimmickSequenceScheduleId { get; set; }
|
||||
|
||||
public int GimmickSequenceId { get; set; }
|
||||
|
||||
public int GimmickId { get; set; }
|
||||
|
||||
public int GimmickOrnamentIndex { get; set; }
|
||||
|
||||
public int ProgressValueBit { get; set; }
|
||||
|
||||
public long BaseDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserGimmickSequence.cs
Normal file
18
src/Models/Entities/EntityIUserGimmickSequence.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserGimmickSequence
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int GimmickSequenceScheduleId { get; set; }
|
||||
|
||||
public int GimmickSequenceId { get; set; }
|
||||
|
||||
public bool IsGimmickSequenceCleared { get; set; }
|
||||
|
||||
public long ClearDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserGimmickUnlock.cs
Normal file
18
src/Models/Entities/EntityIUserGimmickUnlock.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserGimmickUnlock
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int GimmickSequenceScheduleId { get; set; }
|
||||
|
||||
public int GimmickSequenceId { get; set; }
|
||||
|
||||
public int GimmickId { get; set; }
|
||||
|
||||
public bool IsUnlocked { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserImportantItem.cs
Normal file
16
src/Models/Entities/EntityIUserImportantItem.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserImportantItem
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ImportantItemId { get; set; }
|
||||
|
||||
public int Count { get; set; }
|
||||
|
||||
public long FirstAcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserLimitedOpen.cs
Normal file
18
src/Models/Entities/EntityIUserLimitedOpen.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserLimitedOpen
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public LimitedOpenTargetType LimitedOpenTargetType { get; set; }
|
||||
|
||||
public int TargetId { get; set; }
|
||||
|
||||
public long OpenDatetime { get; set; }
|
||||
|
||||
public long CloseDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserLogin.cs
Normal file
20
src/Models/Entities/EntityIUserLogin.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserLogin
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int TotalLoginCount { get; set; }
|
||||
|
||||
public int ContinualLoginCount { get; set; }
|
||||
|
||||
public int MaxContinualLoginCount { get; set; }
|
||||
|
||||
public long LastLoginDatetime { get; set; }
|
||||
|
||||
public long LastComebackLoginDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserLoginBonus.cs
Normal file
18
src/Models/Entities/EntityIUserLoginBonus.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserLoginBonus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int LoginBonusId { get; set; }
|
||||
|
||||
public int CurrentPageNumber { get; set; }
|
||||
|
||||
public int CurrentStampNumber { get; set; }
|
||||
|
||||
public long LatestRewardReceiveDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserMainQuestFlowStatus.cs
Normal file
12
src/Models/Entities/EntityIUserMainQuestFlowStatus.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMainQuestFlowStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public QuestFlowType CurrentQuestFlowType { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserMainQuestMainFlowStatus.cs
Normal file
18
src/Models/Entities/EntityIUserMainQuestMainFlowStatus.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMainQuestMainFlowStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentMainQuestRouteId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public int HeadQuestSceneId { get; set; }
|
||||
|
||||
public bool IsReachedLastQuestScene { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserMainQuestProgressStatus.cs
Normal file
16
src/Models/Entities/EntityIUserMainQuestProgressStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMainQuestProgressStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public int HeadQuestSceneId { get; set; }
|
||||
|
||||
public QuestFlowType CurrentQuestFlowType { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserMainQuestReplayFlowStatus.cs
Normal file
14
src/Models/Entities/EntityIUserMainQuestReplayFlowStatus.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMainQuestReplayFlowStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int CurrentHeadQuestSceneId { get; set; }
|
||||
|
||||
public int CurrentQuestSceneId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserMainQuestSeasonRoute.cs
Normal file
14
src/Models/Entities/EntityIUserMainQuestSeasonRoute.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMainQuestSeasonRoute
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MainQuestSeasonId { get; set; }
|
||||
|
||||
public int MainQuestRouteId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserMaterial.cs
Normal file
16
src/Models/Entities/EntityIUserMaterial.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMaterial
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MaterialId { get; set; }
|
||||
|
||||
public int Count { get; set; }
|
||||
|
||||
public long FirstAcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserMission.cs
Normal file
20
src/Models/Entities/EntityIUserMission.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMission
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MissionId { get; set; }
|
||||
|
||||
public long StartDatetime { get; set; }
|
||||
|
||||
public int ProgressValue { get; set; }
|
||||
|
||||
public MissionProgressStatusType MissionProgressStatusType { get; set; }
|
||||
|
||||
public long ClearDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserMissionCompletionProgress.cs
Normal file
14
src/Models/Entities/EntityIUserMissionCompletionProgress.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMissionCompletionProgress
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MissionId { get; set; }
|
||||
|
||||
public long ProgressValue { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
18
src/Models/Entities/EntityIUserMissionPassPoint.cs
Normal file
18
src/Models/Entities/EntityIUserMissionPassPoint.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMissionPassPoint
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MissionPassId { get; set; }
|
||||
|
||||
public int Point { get; set; }
|
||||
|
||||
public int PremiumRewardReceivedLevel { get; set; }
|
||||
|
||||
public int NoPremiumRewardReceivedLevel { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserMovie.cs
Normal file
14
src/Models/Entities/EntityIUserMovie.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserMovie
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int MovieId { get; set; }
|
||||
|
||||
public long LatestViewedDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserNaviCutIn.cs
Normal file
14
src/Models/Entities/EntityIUserNaviCutIn.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserNaviCutIn
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int NaviCutInId { get; set; }
|
||||
|
||||
public long PlayDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserOmikuji.cs
Normal file
14
src/Models/Entities/EntityIUserOmikuji.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserOmikuji
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int OmikujiId { get; set; }
|
||||
|
||||
public long LatestDrawDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserParts.cs
Normal file
22
src/Models/Entities/EntityIUserParts.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserParts
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserPartsUuid { get; set; }
|
||||
|
||||
public int PartsId { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public int PartsStatusMainId { get; set; }
|
||||
|
||||
public bool IsProtected { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserPartsGroupNote.cs
Normal file
14
src/Models/Entities/EntityIUserPartsGroupNote.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPartsGroupNote
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int PartsGroupId { get; set; }
|
||||
|
||||
public long FirstAcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserPartsPreset.cs
Normal file
22
src/Models/Entities/EntityIUserPartsPreset.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPartsPreset
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int UserPartsPresetNumber { get; set; }
|
||||
|
||||
public string UserPartsUuid01 { get; set; }
|
||||
|
||||
public string UserPartsUuid02 { get; set; }
|
||||
|
||||
public string UserPartsUuid03 { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public int UserPartsPresetTagNumber { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserPartsPresetTag.cs
Normal file
14
src/Models/Entities/EntityIUserPartsPresetTag.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPartsPresetTag
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int UserPartsPresetTagNumber { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
24
src/Models/Entities/EntityIUserPartsStatusSub.cs
Normal file
24
src/Models/Entities/EntityIUserPartsStatusSub.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPartsStatusSub
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserPartsUuid { get; set; }
|
||||
|
||||
public int StatusIndex { get; set; }
|
||||
|
||||
public int PartsStatusSubLotteryId { get; set; }
|
||||
|
||||
public int Level { get; set; }
|
||||
|
||||
public StatusKindType StatusKindType { get; set; }
|
||||
|
||||
public StatusCalculationType StatusCalculationType { get; set; }
|
||||
|
||||
public int StatusChangeValue { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserPortalCageStatus.cs
Normal file
16
src/Models/Entities/EntityIUserPortalCageStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPortalCageStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public bool IsCurrentProgress { get; set; }
|
||||
|
||||
public long DropItemStartDatetime { get; set; }
|
||||
|
||||
public int CurrentDropItemCount { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
24
src/Models/Entities/EntityIUserPossessionAutoConvert.cs
Normal file
24
src/Models/Entities/EntityIUserPossessionAutoConvert.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPossessionAutoConvert
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public PossessionType PossessionType { get; set; }
|
||||
|
||||
public int PossessionId { get; set; }
|
||||
|
||||
public int FromCount { get; set; }
|
||||
|
||||
public PossessionType ToPossessionType { get; set; }
|
||||
|
||||
public int ToPossessionId { get; set; }
|
||||
|
||||
public int ToCount { get; set; }
|
||||
|
||||
public long ConvertDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserPremiumItem.cs
Normal file
14
src/Models/Entities/EntityIUserPremiumItem.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPremiumItem
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int PremiumItemId { get; set; }
|
||||
|
||||
public long AcquisitionDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserProfile.cs
Normal file
22
src/Models/Entities/EntityIUserProfile.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserProfile
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public long NameUpdateDatetime { get; set; }
|
||||
|
||||
public string Message { get; set; }
|
||||
|
||||
public long MessageUpdateDatetime { get; set; }
|
||||
|
||||
public int FavoriteCostumeId { get; set; }
|
||||
|
||||
public long FavoriteCostumeIdUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserPvpDefenseDeck.cs
Normal file
12
src/Models/Entities/EntityIUserPvpDefenseDeck.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPvpDefenseDeck
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int UserDeckNumber { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserPvpStatus.cs
Normal file
22
src/Models/Entities/EntityIUserPvpStatus.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPvpStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int StaminaMilliValue { get; set; }
|
||||
|
||||
public long StaminaUpdateDatetime { get; set; }
|
||||
|
||||
public int LatestRewardReceivePvpSeasonId { get; set; }
|
||||
|
||||
public long LatestRewardReceivePvpWeeklyVersion { get; set; }
|
||||
|
||||
public int WinStreakCount { get; set; }
|
||||
|
||||
public long WinStreakCountUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserPvpWeeklyResult.cs
Normal file
20
src/Models/Entities/EntityIUserPvpWeeklyResult.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserPvpWeeklyResult
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public long PvpWeeklyVersion { get; set; }
|
||||
|
||||
public int PvpSeasonId { get; set; }
|
||||
|
||||
public int GroupId { get; set; }
|
||||
|
||||
public int FinalPoint { get; set; }
|
||||
|
||||
public int FinalRank { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
26
src/Models/Entities/EntityIUserQuest.cs
Normal file
26
src/Models/Entities/EntityIUserQuest.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuest
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestId { get; set; }
|
||||
|
||||
public int QuestStateType { get; set; }
|
||||
|
||||
public bool IsBattleOnly { get; set; }
|
||||
|
||||
public long LatestStartDatetime { get; set; }
|
||||
|
||||
public int ClearCount { get; set; }
|
||||
|
||||
public int DailyClearCount { get; set; }
|
||||
|
||||
public long LastClearDatetime { get; set; }
|
||||
|
||||
public int ShortestClearFrames { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
22
src/Models/Entities/EntityIUserQuestAutoOrbit.cs
Normal file
22
src/Models/Entities/EntityIUserQuestAutoOrbit.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestAutoOrbit
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public QuestType QuestType { get; set; }
|
||||
|
||||
public int ChapterId { get; set; }
|
||||
|
||||
public int QuestId { get; set; }
|
||||
|
||||
public int MaxAutoOrbitCount { get; set; }
|
||||
|
||||
public int ClearedAutoOrbitCount { get; set; }
|
||||
|
||||
public long LastClearDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserQuestLimitContentStatus.cs
Normal file
16
src/Models/Entities/EntityIUserQuestLimitContentStatus.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestLimitContentStatus
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestId { get; set; }
|
||||
|
||||
public int LimitContentQuestStatusType { get; set; }
|
||||
|
||||
public int EventQuestChapterId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
20
src/Models/Entities/EntityIUserQuestMission.cs
Normal file
20
src/Models/Entities/EntityIUserQuestMission.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestMission
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestId { get; set; }
|
||||
|
||||
public int QuestMissionId { get; set; }
|
||||
|
||||
public int ProgressValue { get; set; }
|
||||
|
||||
public bool IsClear { get; set; }
|
||||
|
||||
public long LatestClearDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserQuestReplayFlowRewardGroup.cs
Normal file
14
src/Models/Entities/EntityIUserQuestReplayFlowRewardGroup.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestReplayFlowRewardGroup
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestReplayFlowRewardGroupId { get; set; }
|
||||
|
||||
public long ReceiveDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserQuestSceneChoice.cs
Normal file
14
src/Models/Entities/EntityIUserQuestSceneChoice.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestSceneChoice
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestSceneChoiceGroupingId { get; set; }
|
||||
|
||||
public int QuestSceneChoiceEffectId { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserQuestSceneChoiceHistory.cs
Normal file
14
src/Models/Entities/EntityIUserQuestSceneChoiceHistory.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserQuestSceneChoiceHistory
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int QuestSceneChoiceEffectId { get; set; }
|
||||
|
||||
public long ChoiceDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
12
src/Models/Entities/EntityIUserSetting.cs
Normal file
12
src/Models/Entities/EntityIUserSetting.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserSetting
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public bool IsNotifyPurchaseAlert { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
16
src/Models/Entities/EntityIUserShopItem.cs
Normal file
16
src/Models/Entities/EntityIUserShopItem.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserShopItem
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int ShopItemId { get; set; }
|
||||
|
||||
public int BoughtCount { get; set; }
|
||||
|
||||
public long LatestBoughtCountChangedDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
14
src/Models/Entities/EntityIUserShopReplaceable.cs
Normal file
14
src/Models/Entities/EntityIUserShopReplaceable.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MariesWonderland.Models.Type;
|
||||
|
||||
namespace MariesWonderland.Models.Entities;
|
||||
|
||||
public class EntityIUserShopReplaceable
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public int LineupUpdateCount { get; set; }
|
||||
|
||||
public long LatestLineupUpdateDatetime { get; set; }
|
||||
|
||||
public long LatestVersion { get; set; }
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user