diff --git a/Application/Application.csproj b/Application/Application.csproj index 572c37c..b777846 100644 --- a/Application/Application.csproj +++ b/Application/Application.csproj @@ -13,6 +13,7 @@ + diff --git a/Application/Handlers/Api/Auth/ChangePasswordCommand.cs b/Application/Handlers/Api/Auth/ChangePasswordCommand.cs index 31ce72f..40d5f5c 100644 --- a/Application/Handlers/Api/Auth/ChangePasswordCommand.cs +++ b/Application/Handlers/Api/Auth/ChangePasswordCommand.cs @@ -1,6 +1,6 @@ namespace Application.Handlers.Api.Auth; -public record ChangePasswordCommand(string AccessCode, string OldPassword, string NewPassword) : IRequest>; +public record ChangePasswordCommand(uint Baid, string OldPassword, string NewPassword) : IRequest>; public class ChangePasswordCommandHandler(ITaikoDbContext context, ILogger logger) @@ -8,15 +8,15 @@ public class ChangePasswordCommandHandler(ITaikoDbContext context, ILogger> Handle(ChangePasswordCommand request, CancellationToken cancellationToken) { - var card = await context.Cards.Include(card => card.Ba) - .ThenInclude(user => user!.Credential) - .FirstOrDefaultAsync(card => card.AccessCode == request.AccessCode, cancellationToken); - if (card is null) + var user = await context.UserData.Include(u => u.Credential) + .FirstOrDefaultAsync(u => u.Baid == request.Baid, cancellationToken); + + if (user is null) { - return ApiResult.Failed("Invalid access code"); + return ApiResult.Failed("User not found"); } - var credential = card.Ba?.Credential; + var credential = user.Credential; if (credential is null || credential.Password == string.Empty) { return ApiResult.Failed("User not registered"); diff --git a/Application/Handlers/Api/Auth/RegisterCommand.cs b/Application/Handlers/Api/Auth/RegisterCommand.cs index 6ac8958..9809b9c 100644 --- a/Application/Handlers/Api/Auth/RegisterCommand.cs +++ b/Application/Handlers/Api/Auth/RegisterCommand.cs @@ -1,13 +1,11 @@ namespace Application.Handlers.Api.Auth; -public record RegisterCommand : IRequest> -{ - public string AccessCode { get; set; } = string.Empty; - public string Password { get; set; } = string.Empty; - public bool RegisterWithLastPlayTime { get; set; } - public DateTime LastPlayDateTime { get; set; } - public string InviteCode { get; set; } = string.Empty; -} +public record RegisterCommand( + string AccessCode, + string Password, + bool RegisterWithLastPlayTime, + DateTime LastPlayDateTime, + string InviteCode) : IRequest>; public class RegisterCommandHandler(ITaikoDbContext context, ILogger logger) : IRequestHandler> diff --git a/Application/Handlers/Api/Cards/BindAccessCodeCommand.cs b/Application/Handlers/Api/Cards/BindAccessCodeCommand.cs index c780755..d085022 100644 --- a/Application/Handlers/Api/Cards/BindAccessCodeCommand.cs +++ b/Application/Handlers/Api/Cards/BindAccessCodeCommand.cs @@ -12,6 +12,7 @@ public class BindAccessCodeCommandHandler(ITaikoDbContext context, ILogger("Access code already exists"); } + var newCard = new Card { diff --git a/Application/Handlers/Api/User/GetSongLeaderboardQuery.cs b/Application/Handlers/Api/User/GetSongLeaderboardQuery.cs index cdce2f4..3e01e89 100644 --- a/Application/Handlers/Api/User/GetSongLeaderboardQuery.cs +++ b/Application/Handlers/Api/User/GetSongLeaderboardQuery.cs @@ -1,7 +1,7 @@ namespace Application.Handlers.Api.User; using LeaderBoard = PaginatedResult; -public record GetSongLeaderboardQuery(uint SongId, Difficulty Difficulty, int Baid, int Page, int Limit) : IRequest>; +public record GetSongLeaderboardQuery(uint SongId, Difficulty Difficulty, uint Baid, int Page, int Limit) : IRequest>; public class GetSongLeaderboardQueryHandler(ITaikoDbContext context, ILogger logger) : IRequestHandler> diff --git a/Application/Handlers/Api/User/UpdateUserSettingsCommand.cs b/Application/Handlers/Api/User/UpdateUserSettingsCommand.cs new file mode 100644 index 0000000..6835eaa --- /dev/null +++ b/Application/Handlers/Api/User/UpdateUserSettingsCommand.cs @@ -0,0 +1,26 @@ +using Application.Mappers; + +namespace Application.Handlers.Api.User; + +public record UpdateUserSettingsCommand(uint Baid, UserSetting UserSetting): IRequest>; + +public class UpdateUserSettingsCommandHandler(ITaikoDbContext context) + : IRequestHandler> +{ + public async Task> Handle(UpdateUserSettingsCommand request, CancellationToken cancellationToken) + { + var user = await context.UserData.FirstOrDefaultAsync(u => u.Baid == request.Baid, cancellationToken); + if (user is null) + { + return ApiResult.Failed("User not found!"); + } + UserSettingMapper.UpdateUserSetting(request.UserSetting, user); + + var toneFlg = user.ToneFlgArray; + toneFlg = toneFlg.Append(0u).Append(request.UserSetting.SelectedToneId).Distinct().ToList(); + + user.ToneFlgArray = toneFlg; + await context.SaveChangesAsync(cancellationToken); + return ApiResult.Succeed(true); + } +} \ No newline at end of file diff --git a/Application/Handlers/Game/GetCrownDataQuery.cs b/Application/Handlers/Game/GetCrownDataQuery.cs new file mode 100644 index 0000000..4297272 --- /dev/null +++ b/Application/Handlers/Game/GetCrownDataQuery.cs @@ -0,0 +1,43 @@ +using Domain.Settings; +using Microsoft.Extensions.Options; + +namespace Application.Handlers.Game; + +public record GetCrownDataQuery(uint Baid): IRequest; + +public class GetCrownDataQueryHandler(ITaikoDbContext context, IOptions options, ILogger logger) + : IRequestHandler +{ + + public async Task Handle(GetCrownDataQuery request, CancellationToken cancellationToken) + { + var songBestData = await context.SongBestData.Where(datum => datum.Baid == request.Baid) + .ToListAsync(cancellationToken); + var songIdMax = options.Value.EnableMoreSongs ? Constants.MusicIdMaxExpanded : Constants.MusicIdMax; + + var crown = new ushort[songIdMax + 1]; + var dondafulCrown = new ushort[songIdMax + 1]; + + for (var songId = 0; songId < songIdMax; songId++) + { + var id = songId; + dondafulCrown[songId] = songBestData + // Select song of this song id with dondaful crown + .Where(datum => datum.SongId == id && + datum.BestCrown == CrownType.Dondaful) + // Calculate flag according to difficulty + .Aggregate((byte)0, (flag, datum) => FlagCalculator.ComputeDondafulCrownFlag(flag, datum.Difficulty)); + + crown[songId] = songBestData + // Select song of this song id with clear or fc crown + .Where(datum => datum.SongId == id && + datum.BestCrown is CrownType.Clear or CrownType.Gold) + // Calculate flag according to difficulty + .Aggregate((ushort)0, (flag, datum) => FlagCalculator.ComputeCrownFlag(flag, datum.BestCrown, datum.Difficulty)); + } + + var response = new CommonCrownDataResponse(GZipBytesUtil.GetGZipBytes(crown), GZipBytesUtil.GetGZipBytes(dondafulCrown)); + + return response; + } +} \ No newline at end of file diff --git a/Application/Handlers/Game/GetScoreRankQuery.cs b/Application/Handlers/Game/GetScoreRankQuery.cs new file mode 100644 index 0000000..e11d649 --- /dev/null +++ b/Application/Handlers/Game/GetScoreRankQuery.cs @@ -0,0 +1,47 @@ +using Domain.Settings; +using Microsoft.Extensions.Options; + +namespace Application.Handlers.Game; + +public record GetScoreRankQuery(uint Baid): IRequest; + +public class GetScoreRankQueryHandler(ITaikoDbContext context, IOptions options, ILogger logger) + : IRequestHandler +{ + public async Task Handle(GetScoreRankQuery request, CancellationToken cancellationToken) + { + var songIdMax = options.Value.EnableMoreSongs ? Constants.MusicIdMaxExpanded : Constants.MusicIdMax; + var kiwamiScores = new byte[songIdMax + 1]; + var miyabiScores = new ushort[songIdMax + 1]; + var ikiScores = new ushort[songIdMax + 1]; + var songBestData = await context.SongBestData.Where(datum => datum.Baid == request.Baid) + .ToListAsync(cancellationToken); + + for (var songId = 0; songId < songIdMax; songId++) + { + var id = songId; + kiwamiScores[songId] = songBestData + .Where(datum => datum.SongId == id && + datum.BestScoreRank == ScoreRank.Dondaful) + .Aggregate((byte)0, (flag, datum) => FlagCalculator.ComputeKiwamiScoreRankFlag(flag, datum.Difficulty)); + + ikiScores[songId] = songBestData + .Where(datum => datum.SongId == id && + datum.BestScoreRank is ScoreRank.White or ScoreRank.Bronze or ScoreRank.Silver) + .Aggregate((ushort)0, (flag, datum) => FlagCalculator.ComputeMiyabiOrIkiScoreRank(flag, datum.BestScoreRank, datum.Difficulty)); + + miyabiScores[songId] = songBestData + .Where(datum => datum.SongId == id && + datum.BestScoreRank is ScoreRank.Gold or ScoreRank.Purple or ScoreRank.Sakura) + .Aggregate((ushort)0, (flag, datum) => FlagCalculator.ComputeMiyabiOrIkiScoreRank(flag, datum.BestScoreRank, datum.Difficulty)); + } + + var response = new CommonScoreRankResponse( + GZipBytesUtil.GetGZipBytes(ikiScores), + GZipBytesUtil.GetGZipBytes(kiwamiScores), + GZipBytesUtil.GetGZipBytes(miyabiScores) + ); + return response; + } +} + diff --git a/Application/Handlers/Game/VerifyQrQuery.cs b/Application/Handlers/Game/VerifyQrQuery.cs new file mode 100644 index 0000000..80e7e63 --- /dev/null +++ b/Application/Handlers/Game/VerifyQrQuery.cs @@ -0,0 +1,17 @@ +namespace Application.Handlers.Game; + +public record VerifyQrQuery(string Serial): IRequest; + +public class VerifyQrQueryHandler(IGameDataService gameDataService) + : IRequestHandler +{ + public Task Handle(VerifyQrQuery request, CancellationToken cancellationToken) + { + var qrCodeDataDictionary = gameDataService.GetQRCodeDataDictionary(); + + qrCodeDataDictionary.TryGetValue(request.Serial, out var qrCodeId); + + return Task.FromResult(qrCodeId == 0 ? + new CommonVerifyQrResponse(false, 0) : new CommonVerifyQrResponse(true, qrCodeId)); + } +} \ No newline at end of file diff --git a/Application/Mappers/UserSettingMapper.cs b/Application/Mappers/UserSettingMapper.cs index 3a94b48..b058fec 100644 --- a/Application/Mappers/UserSettingMapper.cs +++ b/Application/Mappers/UserSettingMapper.cs @@ -15,12 +15,26 @@ public static partial class UserSettingMapper [MapProperty(nameof(UserDatum.UnlockedHead), nameof(UserSetting.UnlockedHead), Use = nameof(FixUnlock))] [MapProperty(nameof(UserDatum.UnlockedPuchi), nameof(UserSetting.UnlockedPuchi), Use = nameof(FixUnlock))] public static partial UserSetting MapToUserSetting(UserDatum user); + + [MapperIgnoreSource(nameof(UserSetting.Baid))] + [MapperIgnoreSource(nameof(UserSetting.UnlockedKigurumi))] + [MapperIgnoreSource(nameof(UserSetting.UnlockedBody))] + [MapperIgnoreSource(nameof(UserSetting.UnlockedFace))] + [MapperIgnoreSource(nameof(UserSetting.UnlockedHead))] + [MapperIgnoreSource(nameof(UserSetting.UnlockedPuchi))] + [MapProperty(nameof(UserSetting.PlaySetting), nameof(UserDatum.OptionSetting), Use = nameof(PlaySettingToShort))] + public static partial void UpdateUserSetting(UserSetting userSetting, UserDatum user); public static PlaySetting ShortToPlaySetting(short option) { return PlaySettingConverter.ShortToPlaySetting(option); } + public static short PlaySettingToShort(PlaySetting setting) + { + return PlaySettingConverter.PlaySettingToShort(setting); + } + public static List FixUnlock(List unlock) { if (!unlock.Contains(0)) diff --git a/Application/Models/Game/CommonCrownDataResponse.cs b/Application/Models/Game/CommonCrownDataResponse.cs new file mode 100644 index 0000000..3ed2a8f --- /dev/null +++ b/Application/Models/Game/CommonCrownDataResponse.cs @@ -0,0 +1,3 @@ +namespace Application.Models.Game; + +public record CommonCrownDataResponse(byte[] CrownFlg, byte[] DondafulCrownFlg); \ No newline at end of file diff --git a/Application/Models/Game/CommonScoreRankResponse.cs b/Application/Models/Game/CommonScoreRankResponse.cs new file mode 100644 index 0000000..b53f845 --- /dev/null +++ b/Application/Models/Game/CommonScoreRankResponse.cs @@ -0,0 +1,3 @@ +namespace Application.Models.Game; + +public record CommonScoreRankResponse(byte[] IkiScoreRankFlg, byte[] KiwamiScoreRankFlg, byte[] MiyabiScoreRankFlg); \ No newline at end of file diff --git a/Application/Models/Game/CommonVerifyQrResponse.cs b/Application/Models/Game/CommonVerifyQrResponse.cs new file mode 100644 index 0000000..e0ac8f6 --- /dev/null +++ b/Application/Models/Game/CommonVerifyQrResponse.cs @@ -0,0 +1,3 @@ +namespace Application.Models.Game; + +public record CommonVerifyQrResponse(bool IsQrValid, uint QrCodeId); \ No newline at end of file diff --git a/Application/Utils/GZipBytesUtil.cs b/Application/Utils/GZipBytesUtil.cs new file mode 100644 index 0000000..138594f --- /dev/null +++ b/Application/Utils/GZipBytesUtil.cs @@ -0,0 +1,61 @@ +using System.Runtime.InteropServices; +using System.Text; +using ICSharpCode.SharpZipLib.GZip; + +namespace Application.Utils; + +public static class GZipBytesUtil +{ + public static MemoryStream GenerateStreamFromString(string value) + { + return new MemoryStream(Encoding.UTF8.GetBytes(value)); + } + + public static byte[] GetEmptyJsonGZipBytes() + { + var outputStream = new MemoryStream(1024); + using (var stream = new GZipOutputStream(outputStream)) + using (var writer = new StreamWriter(stream, Encoding.UTF8)) + { + /*writer.AutoFlush = true; + writer.WriteLine("{}");*/ + stream.Write(Array.Empty()); + } + + return outputStream.ToArray(); + } + + public static byte[] GetGZipBytes(byte[] input) + { + var outputStream = new MemoryStream(1024); + using (var stream = new GZipOutputStream(outputStream)) + { + stream.Write(input); + } + + return outputStream.ToArray(); + } + + public static byte[] GetGZipBytes(T[] data) where T : struct + { + var outputStream = new MemoryStream(1024); + using (var stream = new GZipOutputStream(outputStream)) + { + var byteRef = MemoryMarshal.AsBytes(new ReadOnlySpan(data)); + stream.Write(byteRef); + } + + return outputStream.ToArray(); + } + + public static byte[] DecompressGZipBytes(byte[] input) + { + using (var inputStream = new MemoryStream(input)) + using (var stream = new GZipInputStream(inputStream)) + using (var outputStream = new MemoryStream(1024)) + { + stream.CopyTo(outputStream); + return outputStream.ToArray(); + } + } +} \ No newline at end of file diff --git a/Server/.gitignore b/Server/.gitignore new file mode 100644 index 0000000..e80d64d --- /dev/null +++ b/Server/.gitignore @@ -0,0 +1 @@ +wwwroot/data/datatable/* \ No newline at end of file diff --git a/Server/Certificates/cert.pfx b/Server/Certificates/cert.pfx new file mode 100644 index 0000000..b703cde Binary files /dev/null and b/Server/Certificates/cert.pfx differ diff --git a/Server/Certificates/root.pfx b/Server/Certificates/root.pfx new file mode 100644 index 0000000..a40e669 Binary files /dev/null and b/Server/Certificates/root.pfx differ diff --git a/Server/Configurations/AuthSettings.json b/Server/Configurations/AuthSettings.json new file mode 100644 index 0000000..b1bea33 --- /dev/null +++ b/Server/Configurations/AuthSettings.json @@ -0,0 +1,8 @@ +{ + "AuthSettings": { + "JwtKey": "SuperSecretKeyAndHeresItsPadding", + "JwtIssuer": "http://localhost:5000", + "JwtAudience": "http://localhost:5000", + "AuthenticationRequired": false + } +} \ No newline at end of file diff --git a/Server/Configurations/DataSettings.json b/Server/Configurations/DataSettings.json new file mode 100644 index 0000000..52eabe4 --- /dev/null +++ b/Server/Configurations/DataSettings.json @@ -0,0 +1,13 @@ +{ + "DataSettings" : { + "DanDataFileName" : "dan_data.json", + "GaidenDataFileName" : "gaiden_data.json", + "EventFolderDataFileName" : "event_folder_data.json", + "IntroDataFileName" : "intro_data.json", + "MovieDataFileName": "movie_data.json", + "ShopFolderDataFileName": "shop_folder_data.json", + "TokenDataFileName": "token_data.json", + "LockedSongsDataFileName": "locked_songs_data.json", + "QRCodeDataFileName": "qrcode_data.json" + } +} \ No newline at end of file diff --git a/Server/Configurations/Database.json b/Server/Configurations/Database.json new file mode 100644 index 0000000..1dbc08c --- /dev/null +++ b/Server/Configurations/Database.json @@ -0,0 +1,3 @@ +{ + "DbFileName" : "taiko.db3" +} \ No newline at end of file diff --git a/Server/Configurations/Kestrel.json b/Server/Configurations/Kestrel.json new file mode 100644 index 0000000..cbd029f --- /dev/null +++ b/Server/Configurations/Kestrel.json @@ -0,0 +1,34 @@ +{ + "Kestrel": { + "Endpoints": { + "BaseServer": { + "Url": "http://0.0.0.0:5000" + }, + "AmAuthServer": { + "Url": "http://0.0.0.0:80" + }, + "MuchaServer": { + "Url": "https://0.0.0.0:10122" + }, + "GameServer1": { + "Url": "https://0.0.0.0:54430" + }, + "GameServer2": { + "Url": "https://0.0.0.0:54431" + }, + "GameServerCN": { + "Url": "https://0.0.0.0:57402" + }, + "GarmcServer": { + "Url": "https://0.0.0.0:443" + } + }, + "Certificates": { + "Default": { + "Path": "Certificates/cert.pfx", + "Password": "", + "AllowInvalid": true + } + } + } +} \ No newline at end of file diff --git a/Server/Configurations/Logging.json b/Server/Configurations/Logging.json new file mode 100644 index 0000000..5a5b182 --- /dev/null +++ b/Server/Configurations/Logging.json @@ -0,0 +1,27 @@ +{ + "Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Warning", + "Microsoft.AspNetCore": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "Filter": [ + { + "Name": "ByExcluding", + "Args": { + "expression": "@mt = 'An unhandled exception has occurred while executing the request.'" + } + } + ], + "WriteTo": [ + { + "Name": "File", + "Args": { "path": "./Logs/log-.txt", "rollingInterval": "Day" } + } + ] + } +} \ No newline at end of file diff --git a/Server/Configurations/ServerSettings.json b/Server/Configurations/ServerSettings.json new file mode 100644 index 0000000..9995f9e --- /dev/null +++ b/Server/Configurations/ServerSettings.json @@ -0,0 +1,8 @@ +{ + "ServerSettings": { + "MuchaUrl": "https://v402-front.mucha-prd.nbgi-amnet.jp:10122", + "GameUrl": "vsapi.taiko-p.jp", + "EnableMoreSongs": false, + "MoreSongsSize": 9000 + } +} \ No newline at end of file diff --git a/Server/Controllers/AmAuth/PowerOnController.cs b/Server/Controllers/AmAuth/PowerOnController.cs new file mode 100644 index 0000000..3d27ab1 --- /dev/null +++ b/Server/Controllers/AmAuth/PowerOnController.cs @@ -0,0 +1,52 @@ +using Domain.Settings; +using Microsoft.Extensions.Options; +using Server.Models; +using Server.Utils; + +namespace Server.Controllers.AmAuth; + +[ApiController] +[Route("/sys/servlet/PowerOn")] +public class PowerOnController : BaseController +{ + private readonly ServerSettings settings; + + public PowerOnController(IOptions settings) + { + this.settings = settings.Value; + } + + [HttpPost] + public ContentResult PowerOn([FromForm] PowerOnRequest request) + { + Logger.LogInformation("Power on request: {Request}",request.Stringify()); + var now = DateTime.Now; + var response = new Dictionary + { + {"stat", "1"}, + {"uri", settings.GameUrl}, + {"host", settings.GameUrl}, + {"place_id", "JPN0123"}, + {"name", "NAMCO"}, + {"nickname", "NAMCO"}, + {"region0", "1"}, + {"region_name0", "NAMCO"}, + {"region_name1", "X"}, + {"region_name2", "Y"}, + {"region_name3", "Z"}, + {"country", "JPN"}, + {"allnet_id", "456"}, + {"timezone", "002,00"}, + {"setting", ""}, + {"year", now.Year.ToString()}, + {"month", now.Month.ToString()}, + {"day", now.Day.ToString()}, + {"hour", now.Hour.ToString()}, + {"minute", now.Minute.ToString()}, + {"second", now.Second.ToString()}, + {"res_class", "PowerOnResponseVer2"}, + {"token", "123"} + }; + return Content(FormOutputUtil.ToFormOutput(response) + '\n'); + } +} \ No newline at end of file diff --git a/Server/Controllers/AmUpdater/MuchaController.cs b/Server/Controllers/AmUpdater/MuchaController.cs new file mode 100644 index 0000000..dc17f3c --- /dev/null +++ b/Server/Controllers/AmUpdater/MuchaController.cs @@ -0,0 +1,90 @@ +using Domain.Settings; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; +using Server.Models; +using Server.Utils; + +namespace Server.Controllers.AmUpdater; + +public class MuchaController : BaseController +{ + private readonly ServerSettings settings; + + public MuchaController(IOptions settings) + { + this.settings = settings.Value; + } + + [HttpPost("/mucha_front/boardauth.do")] + + public ContentResult BoardAuth([FromForm] MuchaUpdateCheckRequest request) + { + Logger.LogInformation("Mucha request: {Request}", request.Stringify()); + var serverTime = DateTime.Now.ToString("yyyyMMddHHmm"); + var utcServerTime = DateTime.UtcNow.ToString("yyyyMMddHHmm"); + var response = new Dictionary + { + { "RESULTS", "001" }, + { "AREA_0", "008" }, + { "AREA_0_EN", "" }, + { "AREA_1", "009" }, + { "AREA_1_EN", "" }, + { "AREA_2", "010" }, + { "AREA_2_EN", "" }, + { "AREA_3", "011" }, + { "AREA_3_EN", "" }, + { "AREA_FULL_0", "" }, + { "AREA_FULL_0_EN", "" }, + { "AREA_FULL_1", "" }, + { "AREA_FULL_1_EN", "" }, + { "AREA_FULL_2", "" }, + { "AREA_FULL_2_EN", "" }, + { "AREA_FULL_3", "" }, + { "AREA_FULL_3_EN", "" }, + { "AUTH_INTERVAL", "86400" }, + { "CHARGE_URL", $"{settings.MuchaUrl}/charge/" }, + { "CONSUME_TOKEN", "0" }, + { "COUNTRY_CD", "JPN" }, + { "DONGLE_FLG", "1" }, + { "EXPIRATION_DATE", "null" }, + { "FILE_URL", $"{settings.MuchaUrl}/file/" }, + { "FORCE_BOOT", "0" }, + { "PLACE_ID", request.PlaceId ?? "" }, + { "PREFECTURE_ID", "14" }, + { "SERVER_TIME", serverTime }, + { "UTC_SERVER_TIME", utcServerTime }, + { "SHOP_NAME", "NAMCO" }, + { "SHOP_NAME_EN", "NAMCO" }, + { "SHOP_NICKNAME", "W" }, + { "SHOP_NICKNAME_EN", "W" }, + { "URL_1", $"{settings.MuchaUrl}/url1/" }, + { "URL_2", $"{settings.MuchaUrl}/url2/" }, + { "URL_3", $"{settings.MuchaUrl}/url3/" }, + { "USE_TOKEN", "0" } + }; + var formOutput = FormOutputUtil.ToFormOutput(response); + return Content(formOutput); + } + + [HttpPost("/mucha_front/updatacheck.do")] + public ContentResult UpdateCheck(MuchaBoardAuthRequest request) + { + Logger.LogInformation("Request is {Request}", request.Stringify()); + var response = new Dictionary + { + { "RESULTS", "001" }, + { "UPDATE_VER_1", request.GameVersion ?? "S1210JPN08.18" }, + { "UPDATE_URL_1", $"{settings.MuchaUrl}/updUrl1/" }, + { "UPDATE_SIZE_1", "0" }, + { "UPDATE_CRC_1", "0000000000000000" }, + { "CHECK_URL_1", $"{settings.MuchaUrl}/checkUrl/" }, + { "EXE_VER_1", request.GameVersion ?? "S1210JPN08.18" }, + { "INFO_SIZE_1", "0" }, + { "COM_SIZE_1", "0" }, + { "COM_TIME_1", "0" }, + { "LAN_INFO_SIZE_1", "0" } + }; + var formOutput = FormOutputUtil.ToFormOutput(response); + return Content(formOutput); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/AuthController.cs b/Server/Controllers/Api/AuthController.cs new file mode 100644 index 0000000..111c876 --- /dev/null +++ b/Server/Controllers/Api/AuthController.cs @@ -0,0 +1,132 @@ +using System.IdentityModel.Tokens.Jwt; +using System.Security.Claims; +using System.Text; +using Application.Handlers.Api.Auth; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Microsoft.IdentityModel.Tokens; +using OtpNet; +using Shared.Models.Requests; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class AuthController : BaseController +{ + + [HttpPost("Login")] + [AllowAnonymous] + public async Task Login(LoginRequest loginRequest) + { + var loginCommand = new LoginCommand(loginRequest.AccessCode, loginRequest.Password); + var apiResult = await Mediator.Send(loginCommand); + + if (!apiResult.Succeeded) + { + return Unauthorized(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + /*[HttpPost("LoginWithToken")] + [ServiceFilter(typeof(AuthorizeIfRequiredAttribute))] + public IActionResult LoginWithToken() + { + var tokenInfo = authService.ExtractTokenInfo(Microsoft.AspNetCore.Http.HttpContext); + if (tokenInfo == null) + { + return Unauthorized(); + } + + return Ok(); + }*/ + + + [HttpPost("Register")] + [AllowAnonymous] + public async Task Register(RegisterRequest registerRequest) + { + var registerCommand = RegisterCommandMapper.ToCommand(registerRequest); + var apiResult = await Mediator.Send(registerCommand); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditional")] + public async Task ChangePassword(ChangePasswordRequest request) + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var changePasswordCommand = new ChangePasswordCommand(baid, request.OldPassword, request.NewPassword); + var apiResult = await Mediator.Send(changePasswordCommand); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditional")] + public async Task ChangePasswordAdmin(ChangePasswordRequest request) + { + var changePasswordCommand = ChangePasswordCommandMapper.ToCommand(request); + var apiResult = await Mediator.Send(changePasswordCommand); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task ResetPasswordAdmin(ResetPasswordRequest resetPasswordRequest) + { + var resetPasswordCommand = new ResetPasswordCommand(resetPasswordRequest.Baid); + var apiResult = await Mediator.Send(resetPasswordCommand); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditional")] + public async Task ResetPassword(ResetPasswordRequest resetPasswordRequest) + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var resetPasswordCommand = new ResetPasswordCommand(baid); + var apiResult = await Mediator.Send(resetPasswordCommand); + + if (!apiResult.Succeeded) + { + return Unauthorized(apiResult.Message); + } + + return Ok(); + } + + [HttpPost("GenerateOtp")] + [Authorize(Policy = "AuthConditionalAdmin")] + public IActionResult GenerateOtp(GenerateOtpRequest request) + { + var command = new GenerateOtpCommand(request.Baid); + var apiResult = Mediator.Send(command); + return Ok(apiResult.Result.Data); + } +} diff --git a/Server/Controllers/Api/CardsController.cs b/Server/Controllers/Api/CardsController.cs new file mode 100644 index 0000000..b360e3a --- /dev/null +++ b/Server/Controllers/Api/CardsController.cs @@ -0,0 +1,73 @@ +using System.Security.Claims; +using Application.Handlers.Api.Cards; +using Microsoft.AspNetCore.Authorization; +using Shared.Models.Requests; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class CardsController : BaseController +{ + [HttpDelete("admin/{accessCode}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task DeleteAccessCodeAdmin(string accessCode) + { + var command = new DeleteCardCommand(accessCode, 0, true); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } + + [HttpDelete("{accessCode}")] + [Authorize(Policy = "AuthConditional")] + public async Task DeleteAccessCode(string accessCode) + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var command = new DeleteCardCommand(accessCode, baid, false); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditional")] + public async Task BindAccessCode(BindAccessCodeRequest request) + { + if (request.Baid != 0) + { + return BadRequest("Baid must be 0"); + } + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var command = new BindAccessCodeCommand(request.AccessCode, baid); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task BindAccessCodeAdmin(BindAccessCodeRequest request) + { + var command = new BindAccessCodeCommand(request.AccessCode, request.Baid); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(); + } +} diff --git a/Server/Controllers/Api/DanBestDataController.cs b/Server/Controllers/Api/DanBestDataController.cs new file mode 100644 index 0000000..a6c9b0e --- /dev/null +++ b/Server/Controllers/Api/DanBestDataController.cs @@ -0,0 +1,41 @@ +using System.Security.Claims; +using Application.Handlers.Api.Data; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class DanBestDataController : BaseController +{ + [HttpGet("my")] + [Authorize(Policy = "AuthConditional")] + public async Task GetDanBestData() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + + var query = new GetDanBestDataQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpGet("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task GetDanBestData(uint baid) + { + var query = new GetDanBestDataQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/FavoriteSongsController.cs b/Server/Controllers/Api/FavoriteSongsController.cs new file mode 100644 index 0000000..deb3152 --- /dev/null +++ b/Server/Controllers/Api/FavoriteSongsController.cs @@ -0,0 +1,75 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Shared.Models.Requests; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class FavoriteSongsController : BaseController +{ + [HttpPost] + [Authorize(Policy = "AuthConditional")] + public async Task UpdateFavoriteSong(SetFavoriteRequest request) + { + if (request.Baid != 0) + { + return BadRequest("Baid must be 0"); + } + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var command = new UpdateFavoriteSongCommand(baid, request.SongId, request.IsFavorite); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } + + [HttpPost] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task UpdateFavoriteSongAdmin(SetFavoriteRequest request) + { + var command = new UpdateFavoriteSongCommand(request.Baid, request.SongId, request.IsFavorite); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } + + [HttpGet("my")] + [Authorize(Policy = "AuthConditional")] + public async Task GetFavoriteSongs() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + + var query = new GetFavoriteSongsQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpGet("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task GetFavoriteSongs(uint baid) + { + var query = new GetFavoriteSongsQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/GameDataController.cs b/Server/Controllers/Api/GameDataController.cs new file mode 100644 index 0000000..716c4f6 --- /dev/null +++ b/Server/Controllers/Api/GameDataController.cs @@ -0,0 +1,44 @@ +using Application.Interfaces; +using Microsoft.AspNetCore.Authorization; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class GameDataController(IGameDataService gameDataService) : BaseController +{ + [HttpGet("MusicDetails")] + [Authorize(Policy = "AuthConditional")] + public IActionResult GetMusicDetails() + { + return Ok(gameDataService.GetMusicDetailDictionary()); + } + + [HttpGet("Costumes")] + [Authorize(Policy = "AuthConditional")] + public IActionResult GetCostumes() + { + return Ok(gameDataService.GetCostumeList()); + } + + [HttpGet("Titles")] + [Authorize(Policy = "AuthConditional")] + public IActionResult GetTitles() + { + return Ok(gameDataService.GetTitleDictionary()); + } + + [HttpGet("LockedCostumes")] + [Authorize(Policy = "AuthConditional")] + public IActionResult GetLockedCostumes() + { + return Ok(gameDataService.GetLockedCostumeDataDictionary()); + } + + [HttpGet("LockedTitles")] + [Authorize(Policy = "AuthConditional")] + public IActionResult GetLockedTitles() + { + return Ok(gameDataService.GetLockedTitleDataDictionary()); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/PlayDataController.cs b/Server/Controllers/Api/PlayDataController.cs new file mode 100644 index 0000000..628d27f --- /dev/null +++ b/Server/Controllers/Api/PlayDataController.cs @@ -0,0 +1,42 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Riok.Mapperly.Abstractions; +using Shared.Models.Responses; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class PlayDataController : BaseController +{ + [HttpGet("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task GetSongBestRecords(uint baid) + { + var query = new GetSongBestRecordsQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpGet("my")] + [Authorize(Policy = "AuthConditional")] + public async Task GetSongBestRecords() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var query = new GetSongBestRecordsQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/PlayHistoryController.cs b/Server/Controllers/Api/PlayHistoryController.cs new file mode 100644 index 0000000..ffa4e92 --- /dev/null +++ b/Server/Controllers/Api/PlayHistoryController.cs @@ -0,0 +1,40 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class PlayHistoryController : BaseController +{ + [HttpGet("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task GetSongHistory(uint baid) + { + var query = new GetSongHistoryQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpGet("my")] + [Authorize(Policy = "AuthConditional")] + public async Task GetSongHistory() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var query = new GetSongHistoryQuery(baid); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/SongLeaderboardController.cs b/Server/Controllers/Api/SongLeaderboardController.cs new file mode 100644 index 0000000..71f5142 --- /dev/null +++ b/Server/Controllers/Api/SongLeaderboardController.cs @@ -0,0 +1,28 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Shared.Models.Requests; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] + +public class SongLeaderboardController : BaseController +{ + [HttpGet("{songId}")] + [Authorize("AuthConditional")] + public async Task GetSongLeaderboard([FromQuery]GetSongLeaderboardRequest request) + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var query = new GetSongLeaderboardQuery(request.SongId, request.Difficulty, baid, request.Page, request.Limit); + var apiResult = await Mediator.Send(query); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } +} \ No newline at end of file diff --git a/Server/Controllers/Api/UserSettingsController.cs b/Server/Controllers/Api/UserSettingsController.cs new file mode 100644 index 0000000..73cc3f6 --- /dev/null +++ b/Server/Controllers/Api/UserSettingsController.cs @@ -0,0 +1,41 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("/api/[controller]")] +public class UserSettingsController : BaseController +{ + [HttpPost("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task SaveUserSetting(uint baid, UserSetting userSetting) + { + var command = new UpdateUserSettingsCommand(baid, userSetting); + var result = await Mediator.Send(command); + if (!result.Succeeded) + { + return BadRequest(result.Message); + } + + return NoContent(); + } + + [HttpPost("my")] + [Authorize(Policy = "AuthConditional")] + public async Task SaveMyUserSetting(UserSetting userSetting) + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var command = new UpdateUserSettingsCommand(baid, userSetting); + var result = await Mediator.Send(command); + if (!result.Succeeded) + { + return BadRequest(result.Message); + } + + return NoContent(); + } + +} \ No newline at end of file diff --git a/Server/Controllers/Api/UsersController.cs b/Server/Controllers/Api/UsersController.cs new file mode 100644 index 0000000..9d29477 --- /dev/null +++ b/Server/Controllers/Api/UsersController.cs @@ -0,0 +1,88 @@ +using System.Security.Claims; +using Application.Handlers.Api.User; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Shared.Models.Requests; +using Shared.Models.Responses; + +namespace Server.Controllers.Api; + +[ApiController] +[Route("api/[controller]")] +public class UsersController : BaseController +{ + [HttpGet("my")] + [Authorize(Policy = "AuthConditional")] + public async Task GetUser() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var query = new GetUserQuery(baid); + var apiResult = await Mediator.Send(query); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpGet("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task GetUser(uint baid) + { + var query = new GetUserQuery(baid); + var apiResult = await Mediator.Send(query); + + if (!apiResult.Succeeded) + { + return null; + } + + return apiResult.Data; + } + + [HttpGet] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task> GetUsers([FromQuery] GetUsersRequest request) + { + var query = new GetUsersQuery(request.Page, request.Limit, request.SearchTerm); + var apiResult = await Mediator.Send(query); + + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return Ok(apiResult.Data); + } + + [HttpDelete("{baid}")] + [Authorize(Policy = "AuthConditionalAdmin")] + public async Task DeleteUser(uint baid) + { + var command = new DeleteUserCommand(baid); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } + + [HttpDelete("me")] + [Authorize(Policy = "AuthConditional")] + public async Task DeleteCurrentUser() + { + var baid = uint.Parse(User.Claims.First(c => c.Type == ClaimTypes.Name).Value); + var command = new DeleteUserCommand(baid); + var apiResult = await Mediator.Send(command); + if (!apiResult.Succeeded) + { + return BadRequest(apiResult.Message); + } + + return NoContent(); + } +} \ No newline at end of file diff --git a/Server/Controllers/BaseController.cs b/Server/Controllers/BaseController.cs new file mode 100644 index 0000000..3ce1536 --- /dev/null +++ b/Server/Controllers/BaseController.cs @@ -0,0 +1,12 @@ +namespace Server.Controllers; + +public abstract class BaseController : ControllerBase where T : BaseController +{ + private ILogger? logger; + + private ISender? mediator; + + protected ISender Mediator => (mediator ??= HttpContext.RequestServices.GetService()) ?? throw new InvalidOperationException(); + + protected ILogger Logger => (logger ??= HttpContext.RequestServices.GetService>()) ?? throw new InvalidOperationException(); +} \ No newline at end of file diff --git a/Server/Controllers/Game/AddTokenCountController.cs b/Server/Controllers/Game/AddTokenCountController.cs new file mode 100644 index 0000000..6b4de9c --- /dev/null +++ b/Server/Controllers/Game/AddTokenCountController.cs @@ -0,0 +1,39 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class AddTokenCountController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/addtokencount_7547j3o4.php")] + [Produces("application/protobuf")] + public async Task AddTokenCount([FromBody] AddTokenCountRequest request) + { + Logger.LogInformation("[3906] AddTokenCount request : {Request}", request.Stringify()); + + var command = new AddTokenCountCommand(AddTokenCountRequestMapper.Map(request)); + await Mediator.Send(command); + + var response = new AddTokenCountResponse + { + Result = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/addtokencount.php")] + [Produces("application/protobuf")] + public async Task AddTokenCount3209([FromBody] Server.Models.v3209.AddTokenCountRequest request) + { + Logger.LogInformation("[3209] AddTokenCount request : {Request}", request.Stringify()); + + var command = new AddTokenCountCommand(AddTokenCountRequestMapper.Map(request)); + await Mediator.Send(command); + + var response = new AddTokenCountResponse + { + Result = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/BaidController.cs b/Server/Controllers/Game/BaidController.cs new file mode 100644 index 0000000..81ba4f6 --- /dev/null +++ b/Server/Controllers/Game/BaidController.cs @@ -0,0 +1,64 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class BaidController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/baidcheck_dcfxit1u.php")] + [Produces("application/protobuf")] + public async Task GetBaid([FromBody] BAIDRequest request) + { + Logger.LogInformation("Baid request: {Request}", request.Stringify()); + var commonResponse = await Mediator.Send(new BaidQuery(request.AccessCode)); + BAIDResponse response; + if (commonResponse.IsNewUser) + { + Logger.LogInformation("New user with access code {AccessCode}", request.AccessCode); + + response = new BAIDResponse + { + Result = 1, + PlayerType = 1, + Baid = commonResponse.Baid, + }; + + return Ok(response); + } + + response = Mappers.BaidResponseMapper.Map3906WithPostProcess(commonResponse); + response.PlayerType = 0; + response.IsDispAchievementTypeSet = true; + response.IsDispSouuchiOn = true; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/baidcheck.php")] + [Produces("application/protobuf")] + public async Task GetBaid3209([FromBody] Server.Models.v3209.BAIDRequest request) + { + Logger.LogInformation("Baid request: {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new BaidQuery(request.WechatQrStr)); + Server.Models.v3209.BAIDResponse response; + if (commonResponse.IsNewUser) + { + Logger.LogInformation("New user with access code {AccessCode}", request.WechatQrStr); + + response = new Server.Models.v3209.BAIDResponse + { + Result = 1, + PlayerType = 1, + Baid = commonResponse.Baid, + }; + + return Ok(response); + } + + response = Mappers.BaidResponseMapper.Map3209WithPostProcess(commonResponse); + response.PlayerType = 0; + response.IsDispAchievementTypeSet = true; + response.IsDispSouuchiOn = true; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/BookkeepingController.cs b/Server/Controllers/Game/BookkeepingController.cs new file mode 100644 index 0000000..5ae34b3 --- /dev/null +++ b/Server/Controllers/Game/BookkeepingController.cs @@ -0,0 +1,31 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class BookkeepingController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/bookkeeping_s4esi5un.php")] + [Produces("application/protobuf")] + public IActionResult StartupAuth([FromBody] BookKeepingRequest request) + { + Logger.LogInformation("[3906] Bookkeeping request: {Request}", request.Stringify()); + var response = new BookKeepingResponse + { + Result = 1 + }; + + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/bookkeeping.php")] + [Produces("application/protobuf")] + public IActionResult StartupAuth3209([FromBody] Server.Models.v3209.BookKeepingRequest request) + { + Logger.LogInformation("[3209] Bookkeeping request: {Request}", request.Stringify()); + var response = new BookKeepingResponse + { + Result = 1 + }; + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/ChallengeCompetitionController.cs b/Server/Controllers/Game/ChallengeCompetitionController.cs new file mode 100644 index 0000000..b89d3ea --- /dev/null +++ b/Server/Controllers/Game/ChallengeCompetitionController.cs @@ -0,0 +1,33 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class ChallengeCompetitionController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/challengecompe.php")] + [Produces("application/protobuf")] + public IActionResult HandleChallenge([FromBody] ChallengeCompeRequest request) + { + Logger.LogInformation("ChallengeCompe request : {Request}", request.Stringify()); + + var response = new ChallengeCompeResponse + { + Result = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/challengecompe.php")] + [Produces("application/protobuf")] + public IActionResult HandleChallenge3209([FromBody] Server.Models.v3209.ChallengeCompeRequest request) + { + Logger.LogInformation("ChallengeCompe request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.ChallengeCompeResponse + { + Result = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/CrownsDataController.cs b/Server/Controllers/Game/CrownsDataController.cs new file mode 100644 index 0000000..1c27994 --- /dev/null +++ b/Server/Controllers/Game/CrownsDataController.cs @@ -0,0 +1,44 @@ +using Application.Utils; +using Microsoft.Extensions.Options; + +namespace Server.Controllers.Game; + +[ApiController] +public class CrownsDataController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/crownsdata_oqgqy90s.php")] + [Produces("application/protobuf")] + public async Task CrownsData([FromBody] CrownsDataRequest request) + { + Logger.LogInformation("CrownsData request : {Request}", request.Stringify()); + + var crownData = await Mediator.Send(new GetCrownDataQuery(request.Baid)); + + var response = new CrownsDataResponse + { + Result = 1, + CrownFlg = crownData.CrownFlg, + DondafulCrownFlg = crownData.DondafulCrownFlg + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/crownsdata.php")] + [Produces("application/protobuf")] + public async Task CrownsData3209([FromBody] Server.Models.v3209.CrownsDataRequest request) + { + Logger.LogInformation("CrownsData request : {Request}", request.Stringify()); + + var crownData = await Mediator.Send(new GetCrownDataQuery((uint)request.Baid)); + + var response = new Server.Models.v3209.CrownsDataResponse + { + Result = 1, + CrownFlg = crownData.CrownFlg, + DondafulCrownFlg = crownData.DondafulCrownFlg + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/ExecuteQrCodeController.cs b/Server/Controllers/Game/ExecuteQrCodeController.cs new file mode 100644 index 0000000..9db5dfa --- /dev/null +++ b/Server/Controllers/Game/ExecuteQrCodeController.cs @@ -0,0 +1,35 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class ExecuteQrCodeController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/executeqrcode_rgowsr5m.php")] + [Produces("application/protobuf")] + public IActionResult ExecuteQrCode([FromBody] ExecuteQrcodeRequest request) + { + Logger.LogInformation("ExecuteQrcode request : {Request}", request.Stringify()); + + var response = new ExecuteQrcodeResponse + { + QrcodeId = 1, + Result = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/executeqrcode.php")] + [Produces("application/protobuf")] + public IActionResult ExecuteQrCode3209([FromBody] Server.Models.v3209.ExecuteQrcodeRequest request) + { + Logger.LogInformation("ExecuteQrcode request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.ExecuteQrcodeResponse + { + QrcodeId = 1, + Result = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetAiDataController.cs b/Server/Controllers/Game/GetAiDataController.cs new file mode 100644 index 0000000..939e8ad --- /dev/null +++ b/Server/Controllers/Game/GetAiDataController.cs @@ -0,0 +1,27 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetAiDataController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getaidata_6x30b9nr.php")] + [Produces("application/protobuf")] + public async Task GetAiData([FromBody] GetAiDataRequest request) + { + Logger.LogInformation("GetAiData request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetAiDataQuery(request.Baid)); + var response = Mappers.AiDataResponseMapper.MapTo3906(commonResponse); + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getaidata.php")] + [Produces("application/protobuf")] + public async Task GetAiData3209([FromBody] Server.Models.v3209.GetAiDataRequest request) + { + Logger.LogInformation("GetAiData request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetAiDataQuery((uint)request.Baid)); + var response = Mappers.AiDataResponseMapper.MapTo3209(commonResponse); + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetAiScoreController.cs b/Server/Controllers/Game/GetAiScoreController.cs new file mode 100644 index 0000000..857e0b0 --- /dev/null +++ b/Server/Controllers/Game/GetAiScoreController.cs @@ -0,0 +1,30 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetAiScoreController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getaiscore_lp38po4w.php")] + [Produces("application/protobuf")] + public async Task GetAiScore([FromBody] GetAiScoreRequest request) + { + Logger.LogInformation("GetAiScore request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetAiScoreQuery(request.Baid, request.SongNo, request.Level)); + var response = AiScoreMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("v12r00_cn/chassis/getaiscore.php")] + [Produces("application/protobuf")] + public async Task GetAiScore3209([FromBody] Server.Models.v3209.GetAiScoreRequest request) + { + Logger.LogInformation("GetAiScore request : {Request}", request.Stringify()); + + var commonResponse = + await Mediator.Send(new GetAiScoreQuery((uint)request.Baid, request.SongNo, request.Level)); + var response = AiScoreMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetApplicationUrlController.cs b/Server/Controllers/Game/GetApplicationUrlController.cs new file mode 100644 index 0000000..1919b85 --- /dev/null +++ b/Server/Controllers/Game/GetApplicationUrlController.cs @@ -0,0 +1,37 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetApplicationUrlController : BaseController +{ + + [HttpPost("/v12r08_ww/chassis/getapplicationurl.php")] + [Produces("application/protobuf")] + public IActionResult GetApplicationUrl([FromBody] GetApplicationUrlRequest request) + { + Logger.LogInformation("GetApplicationUrl request : {Request}", request.Stringify()); + + var response = new GetApplicationUrlResponse + { + Result = 1, + ApplicationUrl = $"{HttpContext.Request.Host.Value}/app" + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getapplicationurl.php")] + [Produces("application/protobuf")] + public IActionResult GetApplicationUrl3209([FromBody] Server.Models.v3209.GetApplicationUrlRequest request) + { + Logger.LogInformation("GetApplicationUrl request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.GetApplicationUrlResponse + { + Result = 1, + ApplicationUrl = $"{HttpContext.Request.Host.Value}/app" + }; + + return Ok(response); + } + +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetDanOdaiController.cs b/Server/Controllers/Game/GetDanOdaiController.cs new file mode 100644 index 0000000..d0f6bd4 --- /dev/null +++ b/Server/Controllers/Game/GetDanOdaiController.cs @@ -0,0 +1,39 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetDanOdaiController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getdanodai_ela9zu1a.php")] + [Produces("application/protobuf")] + public async Task GetDanOdai([FromBody] GetDanOdaiRequest request) + { + Logger.LogInformation("GetDanOdai request : {Request}", request.Stringify()); + + var response = new GetDanOdaiResponse + { + Result = 1 + }; + + var odaiDataList = await Mediator.Send(new GetDanOdaiQuery(request.DanIds, request.Type)); + response.AryOdaiDatas.AddRange(odaiDataList.Select(DanDataMappers.To3906OdaiData)); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getdanodai.php")] + [Produces("application/protobuf")] + public async Task GetDanOdai3209([FromBody] Server.Models.v3209.GetDanOdaiRequest request) + { + Logger.LogInformation("GetDanOdai request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.GetDanOdaiResponse + { + Result = 1 + }; + + var odaiDataList = await Mediator.Send(new GetDanOdaiQuery(request.DanIds, request.Type)); + response.AryOdaiDatas.AddRange(odaiDataList.Select(DanDataMappers.To3209OdaiData)); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetDanScoreController.cs b/Server/Controllers/Game/GetDanScoreController.cs new file mode 100644 index 0000000..15f29f9 --- /dev/null +++ b/Server/Controllers/Game/GetDanScoreController.cs @@ -0,0 +1,29 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetDanScoreController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getdanscore_frqhg7q6.php")] + [Produces("application/protobuf")] + public async Task GetDanScore([FromBody] GetDanScoreRequest request) + { + Logger.LogInformation("GetDanScore request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetDanScoreQuery(request.Baid, request.Type, request.DanIds)); + var response = DanScoreMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getdanscore.php")] + [Produces("application/protobuf")] + public async Task GetDanScore3209([FromBody] Server.Models.v3209.GetDanScoreRequest request) + { + Logger.LogInformation("GetDanScore3209 request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetDanScoreQuery((uint)request.Baid, request.Type, request.DanIds)); + var response = DanScoreMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetFolderController.cs b/Server/Controllers/Game/GetFolderController.cs new file mode 100644 index 0000000..ca3cc5b --- /dev/null +++ b/Server/Controllers/Game/GetFolderController.cs @@ -0,0 +1,25 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetFolderController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getfolder_rffj346i.php")] + [Produces("application/protobuf")] + public async Task GetFolder([FromBody] GetfolderRequest request) + { + Logger.LogInformation("GetFolder request : {Request}", request.Stringify()); + var commonResponse = await Mediator.Send(new GetFolderQuery(request.FolderIds)); + var response = FolderDataMappers.MapTo3906(commonResponse); + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getfolder.php")] + [Produces("application/protobuf")] + public async Task GetFolder([FromBody] Server.Models.v3209.GetfolderRequest request) + { + Logger.LogInformation("GetFolder3209 request : {Request}", request.Stringify()); + var commonResponse = await Mediator.Send(new GetFolderQuery(request.FolderIds)); + var response = FolderDataMappers.MapTo3209(commonResponse); + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetGenericMasterController.cs b/Server/Controllers/Game/GetGenericMasterController.cs new file mode 100644 index 0000000..965f6e2 --- /dev/null +++ b/Server/Controllers/Game/GetGenericMasterController.cs @@ -0,0 +1,40 @@ +using Application.Utils; + +namespace Server.Controllers.Game; + +[ApiController] +public class GetGenericMasterController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getgenericmaster_ts8om3qd.php")] + [Produces("application/protobuf")] + public IActionResult GetGenericMaster([FromBody] GetGenericMasterRequest request) + { + Logger.LogInformation("GetGenericMasterRequest: {Request}", request.Stringify()); + + var response = new GetGenericMasterResponse + { + Result = 1, + VerupNo = 2, + EnableIdBit = FlagCalculator.GetBitArrayTrue(5000) + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getgenericmaster.php")] + [Produces("application/protobuf")] + public IActionResult GetGenericMaster([FromBody] Server.Models.v3209.GetGenericMasterRequest request) + { + Logger.LogInformation("GetGenericMaster3209Request: {Request}", request.Stringify()); + + var response = new Server.Models.v3209.GetGenericMasterResponse + { + Result = 1, + VerupNo = 2, + EnableIdBit = FlagCalculator.GetBitArrayTrue(5000) + }; + + return Ok(response); + } + +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetScoreRankController.cs b/Server/Controllers/Game/GetScoreRankController.cs new file mode 100644 index 0000000..a98dfad --- /dev/null +++ b/Server/Controllers/Game/GetScoreRankController.cs @@ -0,0 +1,44 @@ +using Application.Utils; +using Microsoft.Extensions.Options; + +namespace Server.Controllers.Game; + +[ApiController] +public class GetScoreRankController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getscorerank_1c8l7y61.php")] + [Produces("application/protobuf")] + public async Task GetScoreRank([FromBody] GetScoreRankRequest request) + { + Logger.LogInformation("GetScoreRank request : {Request}", request.Stringify()); + + var scoreRankData = await Mediator.Send(new GetScoreRankQuery(request.Baid)); + var response = new GetScoreRankResponse + { + Result = 1, + IkiScoreRankFlg = scoreRankData.IkiScoreRankFlg, + KiwamiScoreRankFlg = scoreRankData.KiwamiScoreRankFlg, + MiyabiScoreRankFlg = scoreRankData.MiyabiScoreRankFlg + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getscorerank.php")] + [Produces("application/protobuf")] + public async Task GetScoreRank3209([FromBody] Server.Models.v3209.GetScoreRankRequest request) + { + Logger.LogInformation("GetScoreRank request : {Request}", request.Stringify()); + + var scoreRankData = await Mediator.Send(new GetScoreRankQuery((uint)request.Baid)); + var response = new Server.Models.v3209.GetScoreRankResponse + { + Result = 1, + IkiScoreRankFlg = scoreRankData.IkiScoreRankFlg, + KiwamiScoreRankFlg = scoreRankData.KiwamiScoreRankFlg, + MiyabiScoreRankFlg = scoreRankData.MiyabiScoreRankFlg + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetShopFolderController.cs b/Server/Controllers/Game/GetShopFolderController.cs new file mode 100644 index 0000000..b6ca650 --- /dev/null +++ b/Server/Controllers/Game/GetShopFolderController.cs @@ -0,0 +1,29 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetShopFolderController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getshopfolder_w4xik0uw.php")] + [Produces("application/protobuf")] + public async Task GetShopFolder([FromBody] GetShopFolderRequest request) + { + Logger.LogInformation("GetShopFolder request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetShopFolderQuery()); + var response = ShopFolderDataMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getshopfolder.php")] + [Produces("application/protobuf")] + public async Task GetShopFolder3209([FromBody] Server.Models.v3209.GetShopFolderRequest request) + { + Logger.LogInformation("GetShopFolder request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetShopFolderQuery()); + var response = ShopFolderDataMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetSongIntroductionController.cs b/Server/Controllers/Game/GetSongIntroductionController.cs new file mode 100644 index 0000000..c3eca07 --- /dev/null +++ b/Server/Controllers/Game/GetSongIntroductionController.cs @@ -0,0 +1,29 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetSongIntroductionController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/getsongintroduction_66blw6is.php")] + [Produces("application/protobuf")] + public async Task GetSongIntroduction([FromBody] GetSongIntroductionRequest request) + { + Logger.LogInformation("GetSongIntroduction request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetSongIntroductionQuery(request.SetIds)); + var response = SongIntroductionDataMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/getsongintroduction.php")] + [Produces("application/protobuf")] + public async Task GetSongIntroduction3209([FromBody] Server.Models.v3209.GetSongIntroductionRequest request) + { + Logger.LogInformation("GetSongIntroduction request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetSongIntroductionQuery(request.SetIds)); + var response = SongIntroductionDataMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetTelopController.cs b/Server/Controllers/Game/GetTelopController.cs new file mode 100644 index 0000000..59f9286 --- /dev/null +++ b/Server/Controllers/Game/GetTelopController.cs @@ -0,0 +1,47 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetTelopController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/gettelop_o0cb2z3e.php")] + [Produces("application/protobuf")] + public IActionResult GetTelop([FromBody] GettelopRequest request) + { + Logger.LogInformation("GetTelop request : {Request}", request.Stringify()); + + var startDateTime = DateTime.Now - TimeSpan.FromDays(999.0); + var endDateTime = DateTime.Now + TimeSpan.FromDays(999.0); + + var response = new GettelopResponse + { + Result = 1, + StartDatetime = startDateTime.ToString(Constants.DateTimeFormat), + EndDatetime = endDateTime.ToString(Constants.DateTimeFormat), + Telop = "Hello 3906", + VerupNo = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/gettelop.php")] + [Produces("application/protobuf")] + public IActionResult GetTelop3209([FromBody] Server.Models.v3209.GettelopRequest request) + { + Logger.LogInformation("GetTelop request : {Request}", request.Stringify()); + + var startDateTime = DateTime.Now - TimeSpan.FromDays(999.0); + var endDateTime = DateTime.Now + TimeSpan.FromDays(999.0); + + var response = new Server.Models.v3209.GettelopResponse + { + Result = 1, + StartDatetime = startDateTime.ToString(Constants.DateTimeFormat), + EndDatetime = endDateTime.ToString(Constants.DateTimeFormat), + Telop = "Hello 3209", + VerupNo = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/GetTokenCountController.cs b/Server/Controllers/Game/GetTokenCountController.cs new file mode 100644 index 0000000..434e8c6 --- /dev/null +++ b/Server/Controllers/Game/GetTokenCountController.cs @@ -0,0 +1,29 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class GetTokenCountController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/gettokencount_iut9g23g.php")] + [Produces("application/protobuf")] + public async Task GetTokenCount([FromBody] GetTokenCountRequest request) + { + Logger.LogInformation("GetTokenCount request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetTokenCountQuery(request.Baid)); + var response = TokenCountDataMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("v12r00_cn/chassis/gettokencount.php")] + [Produces("application/protobuf")] + public async Task GetTokenCount3209([FromBody] Server.Models.v3209.GetTokenCountRequest request) + { + Logger.LogInformation("GetTokenCount request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetTokenCountQuery((uint)request.Baid)); + var response = TokenCountDataMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/HeadClerk2Controller.cs b/Server/Controllers/Game/HeadClerk2Controller.cs new file mode 100644 index 0000000..f688d83 --- /dev/null +++ b/Server/Controllers/Game/HeadClerk2Controller.cs @@ -0,0 +1,19 @@ +using Server.Models.v3209; + +namespace Server.Controllers.Game; + +[ApiController] +public class HeadClerk2Controller : BaseController +{ + [HttpPost("/v12r00_cn/chassis/headclerk2.php")] + [Produces("application/protobuf")] + public IActionResult UploadHeadClert2([FromBody] HeadClerk2Request request) + { + Logger.LogInformation("HeadClerk2 request : {Request}", request.Stringify()); + var response = new HeadClerk2Response + { + Result = 1 + }; + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/HeartbeatController.cs b/Server/Controllers/Game/HeartbeatController.cs new file mode 100644 index 0000000..964d254 --- /dev/null +++ b/Server/Controllers/Game/HeartbeatController.cs @@ -0,0 +1,34 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class HeartbeatController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/heartbeat_hcv5akgr.php")] + [Produces("application/protobuf")] + public IActionResult HeartBeat([FromBody] HeartBeatRequest request) + { + Logger.LogInformation("Heartbeat request: {Request}", request.Stringify()); + var response = new HeartBeatResponse + { + Result = 1, + ComSvrStat = 1, + GameSvrStat = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/heartbeat.php")] + [Produces("application/protobuf")] + public IActionResult HeartBeat3209([FromBody] Server.Models.v3209.HeartBeatRequest request) + { + Logger.LogInformation("Heartbeat request: {Request}", request.Stringify()); + var response = new Server.Models.v3209.HeartBeatResponse + { + Result = 1, + GameSvrStat = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/InitialDataCheckController.cs b/Server/Controllers/Game/InitialDataCheckController.cs new file mode 100644 index 0000000..c29b507 --- /dev/null +++ b/Server/Controllers/Game/InitialDataCheckController.cs @@ -0,0 +1,30 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class InitialDataCheckController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/initialdatacheck_vaosv643.php")] + [Produces("application/protobuf")] + public async Task InitialDataCheck([FromBody] InitialdatacheckRequest request) + { + Logger.LogInformation("Initial data check request: {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetInitialDataQuery()); + var response = InitialDataMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/initialdatacheck.php")] + [Produces("application/protobuf")] + public async Task InitialDataCheckCN([FromBody] Server.Models.v3209.InitialdatacheckRequest request) + { + Logger.LogInformation("Initial data check request: {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new GetInitialDataQuery()); + var response = InitialDataMappers.MapTo3209(commonResponse); + + return Ok(response); + } + +} \ No newline at end of file diff --git a/Server/Controllers/Game/MyDonEntryController.cs b/Server/Controllers/Game/MyDonEntryController.cs new file mode 100644 index 0000000..0df5d0e --- /dev/null +++ b/Server/Controllers/Game/MyDonEntryController.cs @@ -0,0 +1,27 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class MyDonEntryController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/mydonentry_3nrd7kwk.php")] + [Produces("application/protobuf")] + public async Task GetMyDonEntry([FromBody] MydonEntryRequest request) + { + Logger.LogInformation("MyDonEntry request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new AddMyDonEntryCommand(request.AccessCode, request.MydonName, request.MydonNameLanguage)); + var response = MyDonEntryMappers.MapTo3906(commonResponse); + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/mydonentry.php")] + [Produces("application/protobuf")] + public async Task GetMyDonEntry3209([FromBody] Server.Models.v3209.MydonEntryRequest request) + { + Logger.LogInformation("MyDonEntry request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new AddMyDonEntryCommand(request.WechatQrStr, request.MydonName, request.MydonNameLanguage)); + var response = MyDonEntryMappers.MapTo3209(commonResponse); + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/PlayResultController.cs b/Server/Controllers/Game/PlayResultController.cs new file mode 100644 index 0000000..ec896ce --- /dev/null +++ b/Server/Controllers/Game/PlayResultController.cs @@ -0,0 +1,46 @@ +using Application.Utils; + +namespace Server.Controllers.Game; + +[ApiController] +public class PlayResultController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/playresult_r3ky4a4z.php")] + [Produces("application/protobuf")] + public async Task UploadPlayResult([FromBody] PlayResultRequest request) + { + Logger.LogInformation("PlayResult request : {Request}", request.Stringify()); + + var truncated = request.PlayresultData.Skip(32).ToArray(); + var decompressed = GZipBytesUtil.DecompressGZipBytes(truncated); + var playResultData = Serializer.Deserialize(new ReadOnlySpan(decompressed)); + Logger.LogInformation("Play result data {Data}", playResultData.Stringify()); + + var commonRequest = PlayResultMappers.Map(playResultData); + var commonResponse = await Mediator.Send(new UpdatePlayResultCommand(request.BaidConf, commonRequest)); + var response = new PlayResultResponse + { + Result = commonResponse + }; + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/playresult.php")] + [Produces("application/protobuf")] + public async Task UploadPlayResult3209([FromBody] Server.Models.v3209.PlayResultRequest request) + { + Logger.LogInformation("PlayResult3209 request : {Request}", request.Stringify()); + var decompressed = GZipBytesUtil.DecompressGZipBytes(request.PlayresultData); + var playResultData = + Serializer.Deserialize(new ReadOnlySpan(decompressed)); + Logger.LogInformation("Play result data 3209 {Data}", playResultData.Stringify()); + + var commonRequest = PlayResultMappers.Map(playResultData); + var commonResponse = await Mediator.Send(new UpdatePlayResultCommand((uint) request.BaidConf, commonRequest)); + var response = new Server.Models.v3209.PlayResultResponse + { + Result = commonResponse + }; + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/RewardItemController.cs b/Server/Controllers/Game/RewardItemController.cs new file mode 100644 index 0000000..3c165d6 --- /dev/null +++ b/Server/Controllers/Game/RewardItemController.cs @@ -0,0 +1,33 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class RewardItemController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/rewarditem.php")] + [Produces("application/protobuf")] + public IActionResult RewardItem([FromBody] RewardItemRequest request) + { + Logger.LogInformation("RewardItem request : {Request}", request.Stringify()); + + var response = new RewardItemResponse + { + Result = 1 + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/rewarditem.php")] + [Produces("application/protobuf")] + public IActionResult RewardItem3209([FromBody] Server.Models.v3209.RewardItemRequest request) + { + Logger.LogInformation("RewardItem request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.RewardItemResponse + { + Result = 1 + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/SelfBestController.cs b/Server/Controllers/Game/SelfBestController.cs new file mode 100644 index 0000000..88abc4d --- /dev/null +++ b/Server/Controllers/Game/SelfBestController.cs @@ -0,0 +1,31 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class SelfBestController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/selfbest_5nz47auu.php")] + [Produces("application/protobuf")] + public async Task SelfBest([FromBody] SelfBestRequest request) + { + Logger.LogInformation("SelfBest request : {Request}", request.Stringify()); + + var commonResponse = + await Mediator.Send(new GetSelfBestQuery(request.Baid, request.Level, request.ArySongNoes)); + var response = SelfBestMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/selfbest.php")] + [Produces("application/protobuf")] + public async Task SelfBest3209([FromBody] Server.Models.v3209.SelfBestRequest request) + { + Logger.LogInformation("SelfBest3209 request : {Request}", request.Stringify()); + + var commonResponse = + await Mediator.Send(new GetSelfBestQuery((uint)request.Baid, request.Level, request.ArySongNoes)); + var response = SelfBestMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/SetAnyStringController.cs b/Server/Controllers/Game/SetAnyStringController.cs new file mode 100644 index 0000000..dde5491 --- /dev/null +++ b/Server/Controllers/Game/SetAnyStringController.cs @@ -0,0 +1,33 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class SetAnyStringController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/setanystring_mssxf3bo.php")] + [Produces("application/protobuf")] + public IActionResult SetAnyString([FromBody] SetAnyStringRequest request) + { + Logger.LogInformation("SetAnyString request : {Request}", request.Stringify()); + + var response = new SetAnyStringResponse + { + Result = 1, + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/setanystring.php")] + [Produces("application/protobuf")] + public IActionResult SetAnyString3209([FromBody] Server.Models.v3209.SetAnyStringRequest request) + { + Logger.LogInformation("SetAnyString request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.SetAnyStringResponse + { + Result = 1, + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/SongPurchaseController.cs b/Server/Controllers/Game/SongPurchaseController.cs new file mode 100644 index 0000000..31e78f2 --- /dev/null +++ b/Server/Controllers/Game/SongPurchaseController.cs @@ -0,0 +1,28 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class SongPurchaseController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/songpurchase_wm2fh5bl.php")] + [Produces("application/protobuf")] + public async Task SongPurchase([FromBody] SongPurchaseRequest request) + { + Logger.LogInformation("SongPurchase request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(SongPurchaseMappers.MapToCommand(request)); + var response = SongPurchaseMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/songpurchase.php")] + [Produces("application/protobuf")] + public async Task SongPurchase3209([FromBody] Server.Models.v3209.SongPurchaseRequest request) + { + Logger.LogInformation("SongPurchase request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(SongPurchaseMappers.MapToCommand(request)); + var response = SongPurchaseMappers.MapTo3209(commonResponse); + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/StartupAuthController.cs b/Server/Controllers/Game/StartupAuthController.cs new file mode 100644 index 0000000..b1596fd --- /dev/null +++ b/Server/Controllers/Game/StartupAuthController.cs @@ -0,0 +1,28 @@ +using taiko.vsinterface; + +namespace Server.Controllers.Game; + +[ApiController] +[Route("/v01r00/chassis/startupauth.php")] +public class StartupAuthController : BaseController +{ + [HttpPost] + [Produces("application/protobuf")] + public IActionResult StartupAuth([FromBody] StartupAuthRequest request) + { + Logger.LogInformation("StartupAuth request: {Request}", request.Stringify()); + var response = new StartupAuthResponse + { + Result = 1 + }; + var info = request.AryOperationInfoes.ConvertAll(input => + new StartupAuthResponse.OperationData + { + KeyData = input.KeyData, + ValueData = input.ValueData + }); + response.AryOperationInfoes.AddRange(info); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/TournamentCheckController.cs b/Server/Controllers/Game/TournamentCheckController.cs new file mode 100644 index 0000000..18cde8d --- /dev/null +++ b/Server/Controllers/Game/TournamentCheckController.cs @@ -0,0 +1,33 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class TournamentCheckController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/tournamentcheck.php")] + [Produces("application/protobuf")] + public IActionResult TournamentCheck([FromBody] TournamentcheckRequest request) + { + Logger.LogInformation("TournamentCheck request : {Request}", request.Stringify()); + + var response = new TournamentcheckResponse + { + Result = 1, + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/tournamentcheck.php")] + [Produces("application/protobuf")] + public IActionResult TournamentCheck3209([FromBody] Server.Models.v3209.TournamentcheckRequest request) + { + Logger.LogInformation("TournamentCheck request : {Request}", request.Stringify()); + + var response = new Server.Models.v3209.TournamentcheckResponse + { + Result = 1, + }; + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/UserDataController.cs b/Server/Controllers/Game/UserDataController.cs new file mode 100644 index 0000000..e549d0c --- /dev/null +++ b/Server/Controllers/Game/UserDataController.cs @@ -0,0 +1,29 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class UserDataController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/userdata_gc6x17o8.php")] + [Produces("application/protobuf")] + public async Task GetUserData([FromBody] UserDataRequest request) + { + Logger.LogInformation("UserData request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new UserDataQuery(request.Baid)); + var response = UserDataMappers.MapTo3906(commonResponse); + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/userdata.php")] + [Produces("application/protobuf")] + public async Task GetUserData3209([FromBody] Server.Models.v3209.UserDataRequest request) + { + Logger.LogInformation("UserData request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new UserDataQuery((uint)request.Baid)); + var response = UserDataMappers.MapTo3209(commonResponse); + + return Ok(response); + } +} \ No newline at end of file diff --git a/Server/Controllers/Game/VerifyQrCodeController.cs b/Server/Controllers/Game/VerifyQrCodeController.cs new file mode 100644 index 0000000..7177128 --- /dev/null +++ b/Server/Controllers/Game/VerifyQrCodeController.cs @@ -0,0 +1,38 @@ +namespace Server.Controllers.Game; + +[ApiController] +public class VerifyQrCodeController : BaseController +{ + [HttpPost("/v12r08_ww/chassis/verifyqrcode_ku5ra5q7.php")] + [Produces("application/protobuf")] + public async Task VerifyQrCode([FromBody] VerifyQrcodeRequest request) + { + Logger.LogInformation("VerifyQrCode request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new VerifyQrQuery(request.QrcodeSerial)); + var response = new VerifyQrcodeResponse + { + Result = commonResponse.IsQrValid ? 1u : 51u, + QrcodeId = commonResponse.QrCodeId + }; + + return Ok(response); + } + + [HttpPost("/v12r00_cn/chassis/verifyqrcode.php")] + [Produces("application/protobuf")] + public async Task VerifyQrCode3209([FromBody] Server.Models.v3209.VerifyQrcodeRequest request) + { + Logger.LogInformation("VerifyQrCode request : {Request}", request.Stringify()); + + var commonResponse = await Mediator.Send(new VerifyQrQuery(request.QrcodeSerial)); + var response = new Models.v3209.VerifyQrcodeResponse + { + Result = commonResponse.IsQrValid ? 1u : 51u, + QrcodeId = commonResponse.QrCodeId + }; + + return Ok(response); + + } +} \ No newline at end of file diff --git a/Server/Controllers/Garmc/PingController.cs b/Server/Controllers/Garmc/PingController.cs new file mode 100644 index 0000000..e637072 --- /dev/null +++ b/Server/Controllers/Garmc/PingController.cs @@ -0,0 +1,40 @@ +using Garm; +using google.type; + +namespace Server.Controllers.Garmc; + +[Route("/v1/s12-jp-dev/garm.Monitoring/Ping")] +[ApiController] +public class PingController : BaseController +{ + [HttpPost] + [Produces("application/protobuf")] + public async Task Ping() + { + HttpContext.Request.EnableBuffering(); + var body = await HttpContext.Request.BodyReader.ReadAsync(); + var request = Serializer.Deserialize(body.Buffer); + Logger.LogInformation("Ping request: {Request}", request.Stringify()); + var response = new PingResponse + { + ServerRecvTime = DateTime.UtcNow - TimeSpan.FromMilliseconds(50), + ServerSendTime = DateTime.UtcNow + TimeSpan.FromMilliseconds(50), + ClientIp = "127.0.0.1", + GeoData = new GeoData + { + Country = "JPN", + Region = "Kanto", + City = "Tokyo", + Latlng = new LatLng + { + Latitude = 114.0, + Longitude = 514.0 + } + }, + UnderMaintenance = false, + AcidAvailable = true + }; + Response.Headers.Append("x-drpc-code", "0"); + return response; + } +} \ No newline at end of file diff --git a/Server/Controllers/Garmc/RegisterSystemBoardBillingController.cs b/Server/Controllers/Garmc/RegisterSystemBoardBillingController.cs new file mode 100644 index 0000000..dbd225b --- /dev/null +++ b/Server/Controllers/Garmc/RegisterSystemBoardBillingController.cs @@ -0,0 +1,24 @@ +using Garm; + +namespace Server.Controllers.Garmc; + +[Route("/v1/s12-jp-dev/garm.SystemBoard/RegisterSystemBoardBilling")] +[ApiController] +public class RegisterSystemBoardBillingController : BaseController +{ + [HttpPost] + [Produces("application/protobuf")] + public async Task RegisterSystemBoardBilling() + { + HttpContext.Request.EnableBuffering(); + var body = await HttpContext.Request.BodyReader.ReadAsync(); + var request = Serializer.Deserialize(body.Buffer); + Logger.LogInformation("RegisterSystemBoardBilling request: {Request}", request.Stringify()); + var response = new RegisterSystemBoardBillingResponse + { + TooMany = false + }; + Response.Headers.Append("x-drpc-code", "0"); + return response; + } +} \ No newline at end of file diff --git a/Server/Controllers/Garmc/RegisterSystemBoardController.cs b/Server/Controllers/Garmc/RegisterSystemBoardController.cs new file mode 100644 index 0000000..3421c46 --- /dev/null +++ b/Server/Controllers/Garmc/RegisterSystemBoardController.cs @@ -0,0 +1,24 @@ +using Garm; + +namespace Server.Controllers.Garmc; + +[Route("/v1/s12-jp-dev/garm.SystemBoard/RegisterSystemBoard")] +[ApiController] +public class RegisterSystemBoardController : BaseController +{ + [HttpPost] + [Produces("application/protobuf")] + public async Task RegisterSystemBoard() + { + HttpContext.Request.EnableBuffering(); + var body = await HttpContext.Request.BodyReader.ReadAsync(); + var request = Serializer.Deserialize(body.Buffer); + Logger.LogInformation("RegisterSystemBoard request: {Request}", request.Stringify()); + var response = new RegisterSystemBoardResponse + { + Token = "114514" + }; + Response.Headers.Append("x-drpc-code", "0"); + return response; + } +} \ No newline at end of file diff --git a/Server/Controllers/MuchaActivation/OtkController.cs b/Server/Controllers/MuchaActivation/OtkController.cs new file mode 100644 index 0000000..add3ce1 --- /dev/null +++ b/Server/Controllers/MuchaActivation/OtkController.cs @@ -0,0 +1,54 @@ +using System.Buffers; +using System.Text; +using System.Text.Json.Serialization; + +namespace Server.Controllers.MuchaActivation; + + +public class OtkResponse +{ + [JsonPropertyName("status")] + public int Status { get; set; } + + [JsonPropertyName("message")] + public string? Message { get; set; } + + [JsonPropertyName("otk")] + public string? Otk { get; set; } + + [JsonPropertyName("uuid")] + public string? Uuid { get; set; } + + [JsonPropertyName("expiredAt")] + public string? ExpiredAt { get; set; } +} + +[Route("/mucha_activation/otk")] +[ApiController] +public class OtkController : BaseController +{ + [HttpPost] + public async Task Otk() + { + HttpContext.Request.EnableBuffering(); + var body = await HttpContext.Request.BodyReader.ReadAsync(); + var json = Encoding.UTF8.GetString(body.Buffer.ToArray()); + Logger.LogInformation("MuchaActivation request: {Request}", json); + var expiredAt = DateTime.Now.AddDays(10).ToString("yyyy-MM-ddThh:mm:ssZ"); + // Generate a random string otk with randomNumberGenerator + var random = new Random(); + var randomNumber = random.Next(10000000, 99999999); + var otk = randomNumber.ToString(); + var g = Guid.NewGuid(); + var uuid = g.ToString(); + var response = new OtkResponse + { + Status = 200, + Message = "Success", + Otk = otk, + Uuid = uuid, + ExpiredAt = expiredAt + }; + return response; + } +} \ No newline at end of file diff --git a/Server/Controllers/MuchaActivation/SignatureController.cs b/Server/Controllers/MuchaActivation/SignatureController.cs new file mode 100644 index 0000000..47f981c --- /dev/null +++ b/Server/Controllers/MuchaActivation/SignatureController.cs @@ -0,0 +1,39 @@ +using System.Buffers; +using System.Text; +using System.Text.Json.Serialization; + +namespace Server.Controllers.MuchaActivation; + + +public class SignatureResponse +{ + [JsonPropertyName("status")] + public int Status { get; set; } + + [JsonPropertyName("message")] + public string? Message { get; set; } + + [JsonPropertyName("signature")] + public string? Signature { get; set; } +} + +[Route("/mucha_activation/signature")] +[ApiController] +public class SignatureController : BaseController +{ + [HttpPost] + public async Task Signature() + { + HttpContext.Request.EnableBuffering(); + var body = await HttpContext.Request.BodyReader.ReadAsync(); + var json = Encoding.UTF8.GetString(body.Buffer.ToArray()); + Logger.LogInformation("Signature request: {Request}", json); + var response = new SignatureResponse + { + Status = 200, + Message = "Success", + Signature = "1220" + }; + return response; + } +} \ No newline at end of file diff --git a/Server/Conventions/ControllerHidingConvention.cs b/Server/Conventions/ControllerHidingConvention.cs new file mode 100644 index 0000000..7f862e8 --- /dev/null +++ b/Server/Conventions/ControllerHidingConvention.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Mvc.ApplicationModels; + +namespace Server.Conventions; + +public class ControllerHidingConvention : IActionModelConvention +{ + public void Apply(ActionModel action) + { + if (action.Controller.ControllerType.Namespace != "TaikoLocalServer.Controllers.Api") + { + action.ApiExplorer.IsVisible = false; + } + } +} \ No newline at end of file diff --git a/Server/Formatters/CsvFormatter.cs b/Server/Formatters/CsvFormatter.cs new file mode 100644 index 0000000..02d4af1 --- /dev/null +++ b/Server/Formatters/CsvFormatter.cs @@ -0,0 +1,35 @@ +using Serilog.Events; +using Serilog.Formatting; + +namespace Server.Formatters; + +public class CsvFormatter: ITextFormatter +{ + public void Format(LogEvent logEvent, TextWriter output) + { + logEvent.Properties.TryGetValue("ChassisId", out var chassisId); + logEvent.Properties.TryGetValue("ShopId", out var shopId); + logEvent.Properties.TryGetValue("Baid", out var baid); + logEvent.Properties.TryGetValue("PlayedAt", out var playedAt); + logEvent.Properties.TryGetValue("IsRight", out var isRight); + logEvent.Properties.TryGetValue("Type", out var type); + logEvent.Properties.TryGetValue("Amount", out var amount); + + output.Write(logEvent.Timestamp.ToString("yyyy-MM-dd")); + output.Write(","); + output.Write(chassisId); + output.Write(","); + output.Write(shopId); + output.Write(","); + output.Write(baid); + output.Write(","); + output.Write(playedAt); + output.Write(","); + output.Write(isRight); + output.Write(","); + output.Write(type); + output.Write(","); + output.Write(amount); + output.WriteLine(); + } +} \ No newline at end of file diff --git a/Server/GlobalUsings.cs b/Server/GlobalUsings.cs new file mode 100644 index 0000000..ff5a2e9 --- /dev/null +++ b/Server/GlobalUsings.cs @@ -0,0 +1,22 @@ +// Global using directives + +global using Microsoft.AspNetCore.Mvc; +global using Microsoft.EntityFrameworkCore; +global using ProtoBuf; +global using MediatR; +global using Swan.Formatters; + +global using Application.Handlers.Game; +global using Application.Handlers.Api; +global using Application.Models.Api; +global using Application.Models.Game; +global using Application.Utils; +global using Domain.Enums; +global using Domain.Entities; +global using Domain.Models; +global using Domain.Settings; +global using Domain.Common; +global using Server.Models; +global using Server.Models.v3906; +global using Server.Mappers; +global using Server.Utils; diff --git a/Server/Mappers/AddTokenCountRequestMapper.cs b/Server/Mappers/AddTokenCountRequestMapper.cs new file mode 100644 index 0000000..4675005 --- /dev/null +++ b/Server/Mappers/AddTokenCountRequestMapper.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class AddTokenCountRequestMapper +{ + public static partial CommonAddTokenCountRequest Map(AddTokenCountRequest request); + + public static partial CommonAddTokenCountRequest Map(Models.v3209.AddTokenCountRequest request); +} \ No newline at end of file diff --git a/Server/Mappers/AiDataResponseMapper.cs b/Server/Mappers/AiDataResponseMapper.cs new file mode 100644 index 0000000..adb0428 --- /dev/null +++ b/Server/Mappers/AiDataResponseMapper.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class AiDataResponseMapper +{ + public static partial GetAiDataResponse MapTo3906(CommonAiDataResponse response); + + public static partial Models.v3209.GetAiDataResponse MapTo3209(CommonAiDataResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/AiScoreMappers.cs b/Server/Mappers/AiScoreMappers.cs new file mode 100644 index 0000000..ba2ce7c --- /dev/null +++ b/Server/Mappers/AiScoreMappers.cs @@ -0,0 +1,21 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class AiScoreMappers +{ + [MapProperty(nameof(AiScoreDatum.AiSectionScoreData), nameof(CommonAiScoreResponse.AryBestSectionDatas))] + public static partial CommonAiScoreResponse MapToCommonAiScoreResponse(AiScoreDatum datum); + + public static CommonAiScoreResponse MapAsSuccess(AiScoreDatum datum) + { + var response= MapToCommonAiScoreResponse(datum); + response.Result = 1; + return response; + } + + public static partial GetAiScoreResponse MapTo3906(CommonAiScoreResponse response); + + public static partial Models.v3209.GetAiScoreResponse MapTo3209(CommonAiScoreResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/BaidResponseMapper.cs b/Server/Mappers/BaidResponseMapper.cs new file mode 100644 index 0000000..b200341 --- /dev/null +++ b/Server/Mappers/BaidResponseMapper.cs @@ -0,0 +1,49 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class BaidResponseMapper +{ + public static partial BAIDResponse MapTo3906(CommonBaidResponse commonBaidResponse); + + public static BAIDResponse Map3906WithPostProcess(CommonBaidResponse commonBaidResponse) + { + var response = MapTo3906(commonBaidResponse); + response.AryCostumedata = new BAIDResponse.CostumeData + { + Costume1 = commonBaidResponse.CostumeData[0], + Costume2 = commonBaidResponse.CostumeData[1], + Costume3 = commonBaidResponse.CostumeData[2], + Costume4 = commonBaidResponse.CostumeData[3], + Costume5 = commonBaidResponse.CostumeData[4] + }; + response.CostumeFlg1 = commonBaidResponse.CostumeFlagArrays[0]; + response.CostumeFlg2 = commonBaidResponse.CostumeFlagArrays[1]; + response.CostumeFlg3 = commonBaidResponse.CostumeFlagArrays[2]; + response.CostumeFlg4 = commonBaidResponse.CostumeFlagArrays[3]; + response.CostumeFlg5 = commonBaidResponse.CostumeFlagArrays[4]; + return response; + } + + public static partial Models.v3209.BAIDResponse MapTo3209(CommonBaidResponse commonBaidResponse); + + public static Models.v3209.BAIDResponse Map3209WithPostProcess(CommonBaidResponse commonBaidResponse) + { + var response = MapTo3209(commonBaidResponse); + response.AryCostumedata = new Models.v3209.BAIDResponse.CostumeData + { + Costume1 = commonBaidResponse.CostumeData[0], + Costume2 = commonBaidResponse.CostumeData[1], + Costume3 = commonBaidResponse.CostumeData[2], + Costume4 = commonBaidResponse.CostumeData[3], + Costume5 = commonBaidResponse.CostumeData[4] + }; + response.CostumeFlg1 = commonBaidResponse.CostumeFlagArrays[0]; + response.CostumeFlg2 = commonBaidResponse.CostumeFlagArrays[1]; + response.CostumeFlg3 = commonBaidResponse.CostumeFlagArrays[2]; + response.CostumeFlg4 = commonBaidResponse.CostumeFlagArrays[3]; + response.CostumeFlg5 = commonBaidResponse.CostumeFlagArrays[4]; + return response; + } +} \ No newline at end of file diff --git a/Server/Mappers/ChangePasswordCommandMapper.cs b/Server/Mappers/ChangePasswordCommandMapper.cs new file mode 100644 index 0000000..1964412 --- /dev/null +++ b/Server/Mappers/ChangePasswordCommandMapper.cs @@ -0,0 +1,11 @@ +using Application.Handlers.Api.Auth; +using Riok.Mapperly.Abstractions; +using Shared.Models.Requests; + +namespace Server.Mappers; + +[Mapper] +public static partial class ChangePasswordCommandMapper +{ + public static partial ChangePasswordCommand ToCommand(ChangePasswordRequest request); +} \ No newline at end of file diff --git a/Server/Mappers/DanDataMappers.cs b/Server/Mappers/DanDataMappers.cs new file mode 100644 index 0000000..5a80686 --- /dev/null +++ b/Server/Mappers/DanDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class DanDataMappers +{ + public static partial GetDanOdaiResponse.OdaiData To3906OdaiData(DanData data); + + public static partial Models.v3209.GetDanOdaiResponse.OdaiData To3209OdaiData(DanData data); +} \ No newline at end of file diff --git a/Server/Mappers/DanScoreMappers.cs b/Server/Mappers/DanScoreMappers.cs new file mode 100644 index 0000000..b9acc56 --- /dev/null +++ b/Server/Mappers/DanScoreMappers.cs @@ -0,0 +1,10 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class DanScoreMappers +{ + public static partial GetDanScoreResponse MapTo3906(CommonDanScoreDataResponse response); + public static partial Models.v3209.GetDanScoreResponse MapTo3209(CommonDanScoreDataResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/FolderDataMappers.cs b/Server/Mappers/FolderDataMappers.cs new file mode 100644 index 0000000..345ee2d --- /dev/null +++ b/Server/Mappers/FolderDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class FolderDataMappers +{ + public static partial GetfolderResponse MapTo3906(CommonGetFolderResponse response); + + public static partial Models.v3209.GetfolderResponse MapTo3209(CommonGetFolderResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/InitialDataMappers.cs b/Server/Mappers/InitialDataMappers.cs new file mode 100644 index 0000000..629a499 --- /dev/null +++ b/Server/Mappers/InitialDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class InitialDataMappers +{ + public static partial InitialdatacheckResponse MapTo3906(CommonInitialDataCheckResponse response); + + public static partial Models.v3209.InitialdatacheckResponse MapTo3209(CommonInitialDataCheckResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/MyDonEntryMappers.cs b/Server/Mappers/MyDonEntryMappers.cs new file mode 100644 index 0000000..6135783 --- /dev/null +++ b/Server/Mappers/MyDonEntryMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class MyDonEntryMappers +{ + public static partial MydonEntryResponse MapTo3906(CommonMyDonEntryResponse response); + + public static partial Models.v3209.MydonEntryResponse MapTo3209(CommonMyDonEntryResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/PlayResultMappers.cs b/Server/Mappers/PlayResultMappers.cs new file mode 100644 index 0000000..8a4b08b --- /dev/null +++ b/Server/Mappers/PlayResultMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class PlayResultMappers +{ + public static partial CommonPlayResultData Map(PlayResultDataRequest request); + + public static partial CommonPlayResultData Map(Models.v3209.PlayResultDataRequest request); +} \ No newline at end of file diff --git a/Server/Mappers/RegisterCommandMapper.cs b/Server/Mappers/RegisterCommandMapper.cs new file mode 100644 index 0000000..555843a --- /dev/null +++ b/Server/Mappers/RegisterCommandMapper.cs @@ -0,0 +1,11 @@ +using Application.Handlers.Api.Auth; +using Riok.Mapperly.Abstractions; +using Shared.Models.Requests; + +namespace Server.Mappers; + +[Mapper] +public static partial class RegisterCommandMapper +{ + public static partial RegisterCommand ToCommand(RegisterRequest request); +} \ No newline at end of file diff --git a/Server/Mappers/SelfBestMappers.cs b/Server/Mappers/SelfBestMappers.cs new file mode 100644 index 0000000..8b278b0 --- /dev/null +++ b/Server/Mappers/SelfBestMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class SelfBestMappers +{ + public static partial SelfBestResponse MapTo3906(CommonSelfBestResponse response); + + public static partial Models.v3209.SelfBestResponse MapTo3209(CommonSelfBestResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/ShopFolderDataMappers.cs b/Server/Mappers/ShopFolderDataMappers.cs new file mode 100644 index 0000000..ae5c98e --- /dev/null +++ b/Server/Mappers/ShopFolderDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class ShopFolderDataMappers +{ + public static partial GetShopFolderResponse MapTo3906(CommonGetShopFolderResponse response); + + public static partial Models.v3209.GetShopFolderResponse MapTo3209(CommonGetShopFolderResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/SongIntroductionDataMappers.cs b/Server/Mappers/SongIntroductionDataMappers.cs new file mode 100644 index 0000000..61d2227 --- /dev/null +++ b/Server/Mappers/SongIntroductionDataMappers.cs @@ -0,0 +1,12 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class SongIntroductionDataMappers +{ + public static partial GetSongIntroductionResponse MapTo3906(CommonGetSongIntroductionResponse response); + + public static partial Models.v3209.GetSongIntroductionResponse + MapTo3209(CommonGetSongIntroductionResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/SongPurchaseMappers.cs b/Server/Mappers/SongPurchaseMappers.cs new file mode 100644 index 0000000..11776b5 --- /dev/null +++ b/Server/Mappers/SongPurchaseMappers.cs @@ -0,0 +1,15 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class SongPurchaseMappers +{ + public static partial SongPurchaseResponse MapTo3906(CommonSongPurchaseResponse response); + + public static partial Models.v3209.SongPurchaseResponse MapTo3209(CommonSongPurchaseResponse response); + + public static partial PurchaseSongCommand MapToCommand(SongPurchaseRequest request); + + public static partial PurchaseSongCommandCN MapToCommand(Models.v3209.SongPurchaseRequest request); +} \ No newline at end of file diff --git a/Server/Mappers/TokenCountDataMappers.cs b/Server/Mappers/TokenCountDataMappers.cs new file mode 100644 index 0000000..17fc1e8 --- /dev/null +++ b/Server/Mappers/TokenCountDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class TokenCountDataMappers +{ + public static partial GetTokenCountResponse MapTo3906(CommonGetTokenCountResponse response); + + public static partial Models.v3209.GetTokenCountResponse MapTo3209(CommonGetTokenCountResponse response); +} \ No newline at end of file diff --git a/Server/Mappers/UserDataMappers.cs b/Server/Mappers/UserDataMappers.cs new file mode 100644 index 0000000..43833c8 --- /dev/null +++ b/Server/Mappers/UserDataMappers.cs @@ -0,0 +1,11 @@ +using Riok.Mapperly.Abstractions; + +namespace Server.Mappers; + +[Mapper] +public static partial class UserDataMappers +{ + public static partial UserDataResponse MapTo3906(CommonUserDataResponse response); + + public static partial Models.v3209.UserDataResponse MapTo3209(CommonUserDataResponse response); +} \ No newline at end of file diff --git a/Server/Middlewares/AllNetRequestMiddleware.cs b/Server/Middlewares/AllNetRequestMiddleware.cs new file mode 100644 index 0000000..fc2e023 --- /dev/null +++ b/Server/Middlewares/AllNetRequestMiddleware.cs @@ -0,0 +1,52 @@ +using System.Net; +using ICSharpCode.SharpZipLib.Zip.Compression.Streams; + +namespace Server.Middlewares; + +public class AllNetRequestMiddleware(RequestDelegate next) +{ + public async Task InvokeAsync(HttpContext context) + { + if (context.Request.Method != WebRequestMethods.Http.Post) + { + context.Response.StatusCode = StatusCodes.Status405MethodNotAllowed; + return; + } + + if (!context.Request.HasFormContentType) + { + await next(context); + return; + } + + context.Request.EnableBuffering(); + var bodyAsText = await new StreamReader(context.Request.Body).ReadToEndAsync(); + var compressed = Convert.FromBase64String(bodyAsText); + var decompressed = Decompress(compressed); + context.Request.Body.Position = 0; + context.Request.Body = decompressed; + context.Request.ContentLength = decompressed.Length; + + // Call the next delegate/middleware in the pipeline. + await next(context); + } + + private static Stream Decompress(byte[] data) + { + var outputStream = new MemoryStream(); + using var compressedStream = new MemoryStream(data); + using var inputStream = new InflaterInputStream(compressedStream); + inputStream.CopyTo(outputStream); + outputStream.Position = 0; + return outputStream; + } +} + +public static class AllNetMiddlewareExtensions +{ + public static IApplicationBuilder UseAllNetRequestMiddleware( + this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } +} \ No newline at end of file diff --git a/Server/Models/3209/Game.cs b/Server/Models/3209/Game.cs new file mode 100644 index 0000000..9a8f76e --- /dev/null +++ b/Server/Models/3209/Game.cs @@ -0,0 +1,3225 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: my.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Server.Models.v3209; +[global::ProtoBuf.ProtoContract()] +public partial class HeartBeatRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class HeartBeatResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"game_svr_stat", IsRequired = true)] + public uint GameSvrStat { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class BookKeepingRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"update_date", IsRequired = true)] + public string UpdateDate { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"credit_cost_1", IsRequired = true)] + public uint CreditCost1 { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"credit_cost_2", IsRequired = true)] + public uint CreditCost2 { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"credit_songs_1", IsRequired = true)] + public uint CreditSongs1 { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"credit_songs_2", IsRequired = true)] + public uint CreditSongs2 { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"all_play_cnt", IsRequired = true)] + public uint AllPlayCnt { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"service_sw_cnt", IsRequired = true)] + public uint ServiceSwCnt { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"free_play_cnt", IsRequired = true)] + public uint FreePlayCnt { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"error_log")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLog + { + get => __pbn__ErrorLog ?? ""; + set => __pbn__ErrorLog = value; + } + public bool ShouldSerializeErrorLog() => __pbn__ErrorLog != null; + public void ResetErrorLog() => __pbn__ErrorLog = null; + private string __pbn__ErrorLog; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class BookKeepingResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class InitialdatacheckRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"hdd_ver", IsRequired = true)] + public uint HddVer { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class InitialdatacheckResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"default_song_flg")] + public byte[] DefaultSongFlg + { + get => __pbn__DefaultSongFlg; + set => __pbn__DefaultSongFlg = value; + } + public bool ShouldSerializeDefaultSongFlg() => __pbn__DefaultSongFlg != null; + public void ResetDefaultSongFlg() => __pbn__DefaultSongFlg = null; + private byte[] __pbn__DefaultSongFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"achievement_song_bit")] + public byte[] AchievementSongBit + { + get => __pbn__AchievementSongBit; + set => __pbn__AchievementSongBit = value; + } + public bool ShouldSerializeAchievementSongBit() => __pbn__AchievementSongBit != null; + public void ResetAchievementSongBit() => __pbn__AchievementSongBit = null; + private byte[] __pbn__AchievementSongBit; + + [global::ProtoBuf.ProtoMember(4, Name = @"ura_release_bit")] + public byte[] UraReleaseBit + { + get => __pbn__UraReleaseBit; + set => __pbn__UraReleaseBit = value; + } + public bool ShouldSerializeUraReleaseBit() => __pbn__UraReleaseBit != null; + public void ResetUraReleaseBit() => __pbn__UraReleaseBit = null; + private byte[] __pbn__UraReleaseBit; + + [global::ProtoBuf.ProtoMember(5, Name = @"song_introduction_end_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string SongIntroductionEndDatetime + { + get => __pbn__SongIntroductionEndDatetime ?? ""; + set => __pbn__SongIntroductionEndDatetime = value; + } + public bool ShouldSerializeSongIntroductionEndDatetime() => __pbn__SongIntroductionEndDatetime != null; + public void ResetSongIntroductionEndDatetime() => __pbn__SongIntroductionEndDatetime = null; + private string __pbn__SongIntroductionEndDatetime; + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_movie_info")] + public global::System.Collections.Generic.List AryMovieInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_ai_event_data")] + public global::System.Collections.Generic.List AryAiEventDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_chassis_function_id")] + public uint[] AryChassisFunctionIds { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"ary_verup_no_data_1")] + public global::System.Collections.Generic.List AryVerupNoData1s { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"ary_verup_no_data_2")] + public global::System.Collections.Generic.List AryVerupNoData2s { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(11, Name = @"server_current_datetime")] + public ulong ServerCurrentDatetime + { + get => __pbn__ServerCurrentDatetime.GetValueOrDefault(); + set => __pbn__ServerCurrentDatetime = value; + } + public bool ShouldSerializeServerCurrentDatetime() => __pbn__ServerCurrentDatetime != null; + public void ResetServerCurrentDatetime() => __pbn__ServerCurrentDatetime = null; + private ulong? __pbn__ServerCurrentDatetime; + + [global::ProtoBuf.ProtoContract()] + public partial class MovieData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"movie_id", IsRequired = true)] + public uint MovieId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"enable_days", IsRequired = true)] + public uint EnableDays { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AiEventData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"ai_event_id", IsRequired = true)] + public uint AiEventId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_id")] + public uint TokenId + { + get => __pbn__TokenId.GetValueOrDefault(); + set => __pbn__TokenId = value; + } + public bool ShouldSerializeTokenId() => __pbn__TokenId != null; + public void ResetTokenId() => __pbn__TokenId = null; + private uint? __pbn__TokenId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupNoData1 : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupNoData2 : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_information_data")] + public global::System.Collections.Generic.List AryInformationDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class InformationData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"info_id", IsRequired = true)] + public uint InfoId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GettelopRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"telop_id", IsRequired = true)] + public uint TelopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GettelopResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"start_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string StartDatetime + { + get => __pbn__StartDatetime ?? ""; + set => __pbn__StartDatetime = value; + } + public bool ShouldSerializeStartDatetime() => __pbn__StartDatetime != null; + public void ResetStartDatetime() => __pbn__StartDatetime = null; + private string __pbn__StartDatetime; + + [global::ProtoBuf.ProtoMember(4, Name = @"end_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string EndDatetime + { + get => __pbn__EndDatetime ?? ""; + set => __pbn__EndDatetime = value; + } + public bool ShouldSerializeEndDatetime() => __pbn__EndDatetime != null; + public void ResetEndDatetime() => __pbn__EndDatetime = null; + private string __pbn__EndDatetime; + + [global::ProtoBuf.ProtoMember(5, Name = @"telop")] + [global::System.ComponentModel.DefaultValue("")] + public string Telop + { + get => __pbn__Telop ?? ""; + set => __pbn__Telop = value; + } + public bool ShouldSerializeTelop() => __pbn__Telop != null; + public void ResetTelop() => __pbn__Telop = null; + private string __pbn__Telop; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetfolderRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"folder_id")] + public uint[] FolderIds { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetfolderResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_eventfolder_data")] + public global::System.Collections.Generic.List AryEventfolderDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class EventfolderData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"folder_id", IsRequired = true)] + public uint FolderId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"priority", IsRequired = true)] + public uint Priority { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"song_no")] + public uint[] SongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"parent_folder_id", IsRequired = true)] + public uint ParentFolderId { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetShopFolderRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetShopFolderResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"token_id")] + public uint TokenId + { + get => __pbn__TokenId.GetValueOrDefault(); + set => __pbn__TokenId = value; + } + public bool ShouldSerializeTokenId() => __pbn__TokenId != null; + public void ResetTokenId() => __pbn__TokenId = null; + private uint? __pbn__TokenId; + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_shop_folder_data")] + public global::System.Collections.Generic.List AryShopFolderDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class ShopFolderData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"price", IsRequired = true)] + public uint Price { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetSongIntroductionRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"set_id")] + public uint[] SetIds { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetSongIntroductionResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_song_introduction_data")] + public global::System.Collections.Generic.List ArySongIntroductionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class SongIntroductionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"set_id", IsRequired = true)] + public uint SetId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"main_song_no")] + public uint MainSongNo + { + get => __pbn__MainSongNo.GetValueOrDefault(); + set => __pbn__MainSongNo = value; + } + public bool ShouldSerializeMainSongNo() => __pbn__MainSongNo != null; + public void ResetMainSongNo() => __pbn__MainSongNo = null; + private uint? __pbn__MainSongNo; + + [global::ProtoBuf.ProtoMember(4, Name = @"sub_song_no")] + public uint[] SubSongNoes { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class TournamentcheckRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"kit_id", IsRequired = true)] + public uint KitId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class TournamentcheckResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"rare_rate")] + public uint RareRate + { + get => __pbn__RareRate.GetValueOrDefault(); + set => __pbn__RareRate = value; + } + public bool ShouldSerializeRareRate() => __pbn__RareRate != null; + public void ResetRareRate() => __pbn__RareRate = null; + private uint? __pbn__RareRate; + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_gacha_song_data")] + public global::System.Collections.Generic.List AryGachaSongDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_gacha_tone_data")] + public global::System.Collections.Generic.List AryGachaToneDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_gacha_costume_1_data")] + public global::System.Collections.Generic.List AryGachaCostume1Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_gacha_costume_2_data")] + public global::System.Collections.Generic.List AryGachaCostume2Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_gacha_costume_3_data")] + public global::System.Collections.Generic.List AryGachaCostume3Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_gacha_costume_4_data")] + public global::System.Collections.Generic.List AryGachaCostume4Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(9, Name = @"ary_gacha_costume_5_data")] + public global::System.Collections.Generic.List AryGachaCostume5Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"ary_gacha_title_data")] + public global::System.Collections.Generic.List AryGachaTitleDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class GachainfoData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"normal_gacha_flg", IsRequired = true)] + public byte[] NormalGachaFlg { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"rare_gacha_flg", IsRequired = true)] + public byte[] RareGachaFlg { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetDanOdaiRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"dan_id")] + public uint[] DanIds { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetDanOdaiResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_odai_data")] + public global::System.Collections.Generic.List AryOdaiDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"dan_id", IsRequired = true)] + public uint DanId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"title", IsRequired = true)] + public string Title { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_odai_song")] + public global::System.Collections.Generic.List AryOdaiSongs { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_odai_border")] + public global::System.Collections.Generic.List AryOdaiBorders { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiSong : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"is_hidden_song_name", IsRequired = true)] + public bool IsHiddenSongName { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiBorder : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"odai_type", IsRequired = true)] + public uint OdaiType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"border_type", IsRequired = true)] + public uint BorderType { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"red_border_total")] + public uint RedBorderTotal + { + get => __pbn__RedBorderTotal.GetValueOrDefault(); + set => __pbn__RedBorderTotal = value; + } + public bool ShouldSerializeRedBorderTotal() => __pbn__RedBorderTotal != null; + public void ResetRedBorderTotal() => __pbn__RedBorderTotal = null; + private uint? __pbn__RedBorderTotal; + + [global::ProtoBuf.ProtoMember(4, Name = @"gold_border_total")] + public uint GoldBorderTotal + { + get => __pbn__GoldBorderTotal.GetValueOrDefault(); + set => __pbn__GoldBorderTotal = value; + } + public bool ShouldSerializeGoldBorderTotal() => __pbn__GoldBorderTotal != null; + public void ResetGoldBorderTotal() => __pbn__GoldBorderTotal = null; + private uint? __pbn__GoldBorderTotal; + + [global::ProtoBuf.ProtoMember(5, Name = @"red_border_1")] + public uint RedBorder1 + { + get => __pbn__RedBorder1.GetValueOrDefault(); + set => __pbn__RedBorder1 = value; + } + public bool ShouldSerializeRedBorder1() => __pbn__RedBorder1 != null; + public void ResetRedBorder1() => __pbn__RedBorder1 = null; + private uint? __pbn__RedBorder1; + + [global::ProtoBuf.ProtoMember(6, Name = @"gold_border_1")] + public uint GoldBorder1 + { + get => __pbn__GoldBorder1.GetValueOrDefault(); + set => __pbn__GoldBorder1 = value; + } + public bool ShouldSerializeGoldBorder1() => __pbn__GoldBorder1 != null; + public void ResetGoldBorder1() => __pbn__GoldBorder1 = null; + private uint? __pbn__GoldBorder1; + + [global::ProtoBuf.ProtoMember(7, Name = @"red_border_2")] + public uint RedBorder2 + { + get => __pbn__RedBorder2.GetValueOrDefault(); + set => __pbn__RedBorder2 = value; + } + public bool ShouldSerializeRedBorder2() => __pbn__RedBorder2 != null; + public void ResetRedBorder2() => __pbn__RedBorder2 = null; + private uint? __pbn__RedBorder2; + + [global::ProtoBuf.ProtoMember(8, Name = @"gold_border_2")] + public uint GoldBorder2 + { + get => __pbn__GoldBorder2.GetValueOrDefault(); + set => __pbn__GoldBorder2 = value; + } + public bool ShouldSerializeGoldBorder2() => __pbn__GoldBorder2 != null; + public void ResetGoldBorder2() => __pbn__GoldBorder2 = null; + private uint? __pbn__GoldBorder2; + + [global::ProtoBuf.ProtoMember(9, Name = @"red_border_3")] + public uint RedBorder3 + { + get => __pbn__RedBorder3.GetValueOrDefault(); + set => __pbn__RedBorder3 = value; + } + public bool ShouldSerializeRedBorder3() => __pbn__RedBorder3 != null; + public void ResetRedBorder3() => __pbn__RedBorder3 = null; + private uint? __pbn__RedBorder3; + + [global::ProtoBuf.ProtoMember(10, Name = @"gold_border_3")] + public uint GoldBorder3 + { + get => __pbn__GoldBorder3.GetValueOrDefault(); + set => __pbn__GoldBorder3 = value; + } + public bool ShouldSerializeGoldBorder3() => __pbn__GoldBorder3 != null; + public void ResetGoldBorder3() => __pbn__GoldBorder3 = null; + private uint? __pbn__GoldBorder3; + + } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class VerifyQrcodeRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_serial", IsRequired = true)] + public string QrcodeSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"is_new_card")] + public bool IsNewCard + { + get => __pbn__IsNewCard.GetValueOrDefault(); + set => __pbn__IsNewCard = value; + } + public bool ShouldSerializeIsNewCard() => __pbn__IsNewCard != null; + public void ResetIsNewCard() => __pbn__IsNewCard = null; + private bool? __pbn__IsNewCard; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class VerifyQrcodeResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"qrcode_id")] + public uint QrcodeId + { + get => __pbn__QrcodeId.GetValueOrDefault(); + set => __pbn__QrcodeId = value; + } + public bool ShouldSerializeQrcodeId() => __pbn__QrcodeId != null; + public void ResetQrcodeId() => __pbn__QrcodeId = null; + private uint? __pbn__QrcodeId; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class ExecuteQrcodeRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_serial", IsRequired = true)] + public string QrcodeSerial { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class ExecuteQrcodeResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"qrcode_id")] + public uint QrcodeId + { + get => __pbn__QrcodeId.GetValueOrDefault(); + set => __pbn__QrcodeId = value; + } + public bool ShouldSerializeQrcodeId() => __pbn__QrcodeId != null; + public void ResetQrcodeId() => __pbn__QrcodeId = null; + private uint? __pbn__QrcodeId; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetApplicationUrlRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_id", IsRequired = true)] + public uint QrcodeId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetApplicationUrlResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"application_url")] + [global::System.ComponentModel.DefaultValue("")] + public string ApplicationUrl + { + get => __pbn__ApplicationUrl ?? ""; + set => __pbn__ApplicationUrl = value; + } + public bool ShouldSerializeApplicationUrl() => __pbn__ApplicationUrl != null; + public void ResetApplicationUrl() => __pbn__ApplicationUrl = null; + private string __pbn__ApplicationUrl; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SetAnyStringRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"any_string", IsRequired = true)] + public string AnyString { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SetAnyStringResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetGenericMasterRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetGenericMasterResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"enable_id_bit")] + public byte[] EnableIdBit + { + get => __pbn__EnableIdBit; + set => __pbn__EnableIdBit = value; + } + public bool ShouldSerializeEnableIdBit() => __pbn__EnableIdBit != null; + public void ResetEnableIdBit() => __pbn__EnableIdBit = null; + private byte[] __pbn__EnableIdBit; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MusicUsbAuth1Request : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"usbmem_ver", IsRequired = true)] + public string UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_serial", IsRequired = true)] + public string UsbmemSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"usbmem_vid", IsRequired = true)] + public string UsbmemVid { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"usbmem_pid", IsRequired = true)] + public string UsbmemPid { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"app_ver", IsRequired = true)] + public uint AppVer { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MusicUsbAuth1Response : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"secret_key_1")] + [global::System.ComponentModel.DefaultValue("")] + public string SecretKey1 + { + get => __pbn__SecretKey1 ?? ""; + set => __pbn__SecretKey1 = value; + } + public bool ShouldSerializeSecretKey1() => __pbn__SecretKey1 != null; + public void ResetSecretKey1() => __pbn__SecretKey1 = null; + private string __pbn__SecretKey1; + + [global::ProtoBuf.ProtoMember(3, Name = @"secret_key_2")] + [global::System.ComponentModel.DefaultValue("")] + public string SecretKey2 + { + get => __pbn__SecretKey2 ?? ""; + set => __pbn__SecretKey2 = value; + } + public bool ShouldSerializeSecretKey2() => __pbn__SecretKey2 != null; + public void ResetSecretKey2() => __pbn__SecretKey2 = null; + private string __pbn__SecretKey2; + + [global::ProtoBuf.ProtoMember(4, Name = @"datafile_hash")] + [global::System.ComponentModel.DefaultValue("")] + public string DatafileHash + { + get => __pbn__DatafileHash ?? ""; + set => __pbn__DatafileHash = value; + } + public bool ShouldSerializeDatafileHash() => __pbn__DatafileHash != null; + public void ResetDatafileHash() => __pbn__DatafileHash = null; + private string __pbn__DatafileHash; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MusicUsbAuth2Request : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"usbmem_ver", IsRequired = true)] + public string UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_serial", IsRequired = true)] + public string UsbmemSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"usbmem_vid", IsRequired = true)] + public string UsbmemVid { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"usbmem_pid", IsRequired = true)] + public string UsbmemPid { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"app_ver", IsRequired = true)] + public uint AppVer { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"datafile_hash", IsRequired = true)] + public string DatafileHash { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MusicUsbAuth2Response : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class BAIDRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class BAIDResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"player_type")] + public uint PlayerType + { + get => __pbn__PlayerType.GetValueOrDefault(); + set => __pbn__PlayerType = value; + } + public bool ShouldSerializePlayerType() => __pbn__PlayerType != null; + public void ResetPlayerType() => __pbn__PlayerType = null; + private uint? __pbn__PlayerType; + + [global::ProtoBuf.ProtoMember(3, Name = @"baid")] + public ulong Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private ulong? __pbn__Baid; + + [global::ProtoBuf.ProtoMember(4, Name = @"mydon_name")] + [global::System.ComponentModel.DefaultValue("")] + public string MyDonName + { + get => __pbn__MydonName ?? ""; + set => __pbn__MydonName = value; + } + public bool ShouldSerializeMydonName() => __pbn__MydonName != null; + public void ResetMydonName() => __pbn__MydonName = null; + private string __pbn__MydonName; + + [global::ProtoBuf.ProtoMember(5, Name = @"mydon_name_language")] + public uint MyDonNameLanguage + { + get => __pbn__MydonNameLanguage.GetValueOrDefault(); + set => __pbn__MydonNameLanguage = value; + } + public bool ShouldSerializeMydonNameLanguage() => __pbn__MydonNameLanguage != null; + public void ResetMydonNameLanguage() => __pbn__MydonNameLanguage = null; + private uint? __pbn__MydonNameLanguage; + + [global::ProtoBuf.ProtoMember(6, Name = @"title")] + [global::System.ComponentModel.DefaultValue("")] + public string Title + { + get => __pbn__Title ?? ""; + set => __pbn__Title = value; + } + public bool ShouldSerializeTitle() => __pbn__Title != null; + public void ResetTitle() => __pbn__Title = null; + private string __pbn__Title; + + [global::ProtoBuf.ProtoMember(7, Name = @"titleplate_id")] + public uint TitlePlateId + { + get => __pbn__TitleplateId.GetValueOrDefault(); + set => __pbn__TitleplateId = value; + } + public bool ShouldSerializeTitleplateId() => __pbn__TitleplateId != null; + public void ResetTitleplateId() => __pbn__TitleplateId = null; + private uint? __pbn__TitleplateId; + + [global::ProtoBuf.ProtoMember(8, Name = @"color_face")] + public uint ColorFace + { + get => __pbn__ColorFace.GetValueOrDefault(); + set => __pbn__ColorFace = value; + } + public bool ShouldSerializeColorFace() => __pbn__ColorFace != null; + public void ResetColorFace() => __pbn__ColorFace = null; + private uint? __pbn__ColorFace; + + [global::ProtoBuf.ProtoMember(9, Name = @"color_body")] + public uint ColorBody + { + get => __pbn__ColorBody.GetValueOrDefault(); + set => __pbn__ColorBody = value; + } + public bool ShouldSerializeColorBody() => __pbn__ColorBody != null; + public void ResetColorBody() => __pbn__ColorBody = null; + private uint? __pbn__ColorBody; + + [global::ProtoBuf.ProtoMember(10, Name = @"color_limb")] + public uint ColorLimb + { + get => __pbn__ColorLimb.GetValueOrDefault(); + set => __pbn__ColorLimb = value; + } + public bool ShouldSerializeColorLimb() => __pbn__ColorLimb != null; + public void ResetColorLimb() => __pbn__ColorLimb = null; + private uint? __pbn__ColorLimb; + + [global::ProtoBuf.ProtoMember(11, Name = @"ary_costumedata")] + public CostumeData AryCostumedata { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"costume_flg_1")] + public byte[] CostumeFlg1 + { + get => __pbn__CostumeFlg1; + set => __pbn__CostumeFlg1 = value; + } + public bool ShouldSerializeCostumeFlg1() => __pbn__CostumeFlg1 != null; + public void ResetCostumeFlg1() => __pbn__CostumeFlg1 = null; + private byte[] __pbn__CostumeFlg1; + + [global::ProtoBuf.ProtoMember(13, Name = @"costume_flg_2")] + public byte[] CostumeFlg2 + { + get => __pbn__CostumeFlg2; + set => __pbn__CostumeFlg2 = value; + } + public bool ShouldSerializeCostumeFlg2() => __pbn__CostumeFlg2 != null; + public void ResetCostumeFlg2() => __pbn__CostumeFlg2 = null; + private byte[] __pbn__CostumeFlg2; + + [global::ProtoBuf.ProtoMember(14, Name = @"costume_flg_3")] + public byte[] CostumeFlg3 + { + get => __pbn__CostumeFlg3; + set => __pbn__CostumeFlg3 = value; + } + public bool ShouldSerializeCostumeFlg3() => __pbn__CostumeFlg3 != null; + public void ResetCostumeFlg3() => __pbn__CostumeFlg3 = null; + private byte[] __pbn__CostumeFlg3; + + [global::ProtoBuf.ProtoMember(15, Name = @"costume_flg_4")] + public byte[] CostumeFlg4 + { + get => __pbn__CostumeFlg4; + set => __pbn__CostumeFlg4 = value; + } + public bool ShouldSerializeCostumeFlg4() => __pbn__CostumeFlg4 != null; + public void ResetCostumeFlg4() => __pbn__CostumeFlg4 = null; + private byte[] __pbn__CostumeFlg4; + + [global::ProtoBuf.ProtoMember(16, Name = @"costume_flg_5")] + public byte[] CostumeFlg5 + { + get => __pbn__CostumeFlg5; + set => __pbn__CostumeFlg5 = value; + } + public bool ShouldSerializeCostumeFlg5() => __pbn__CostumeFlg5 != null; + public void ResetCostumeFlg5() => __pbn__CostumeFlg5 = null; + private byte[] __pbn__CostumeFlg5; + + [global::ProtoBuf.ProtoMember(17, Name = @"last_play_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string LastPlayDatetime + { + get => __pbn__LastPlayDatetime ?? ""; + set => __pbn__LastPlayDatetime = value; + } + public bool ShouldSerializeLastPlayDatetime() => __pbn__LastPlayDatetime != null; + public void ResetLastPlayDatetime() => __pbn__LastPlayDatetime = null; + private string __pbn__LastPlayDatetime; + + [global::ProtoBuf.ProtoMember(18, Name = @"is_disp_dan_on")] + public bool DisplayDan + { + get => __pbn__IsDispDanOn.GetValueOrDefault(); + set => __pbn__IsDispDanOn = value; + } + public bool ShouldSerializeIsDispDanOn() => __pbn__IsDispDanOn != null; + public void ResetIsDispDanOn() => __pbn__IsDispDanOn = null; + private bool? __pbn__IsDispDanOn; + + [global::ProtoBuf.ProtoMember(19, Name = @"got_dan_max")] + public uint GotDanMax + { + get => __pbn__GotDanMax.GetValueOrDefault(); + set => __pbn__GotDanMax = value; + } + public bool ShouldSerializeGotDanMax() => __pbn__GotDanMax != null; + public void ResetGotDanMax() => __pbn__GotDanMax = null; + private uint? __pbn__GotDanMax; + + [global::ProtoBuf.ProtoMember(20, Name = @"got_dan_flg")] + public byte[] GotDanFlg + { + get => __pbn__GotDanFlg; + set => __pbn__GotDanFlg = value; + } + public bool ShouldSerializeGotDanFlg() => __pbn__GotDanFlg != null; + public void ResetGotDanFlg() => __pbn__GotDanFlg = null; + private byte[] __pbn__GotDanFlg; + + [global::ProtoBuf.ProtoMember(21, Name = @"got_danextra_flg")] + public byte[] GotGaidenFlg + { + get => pbnGotGaidenFlg; + set => pbnGotGaidenFlg = value; + } + public bool ShouldSerializeGotDanextraFlg() => pbnGotGaidenFlg != null; + public void ResetGotDanextraFlg() => pbnGotGaidenFlg = null; + private byte[] pbnGotGaidenFlg; + + [global::ProtoBuf.ProtoMember(22, Name = @"default_tone_setting")] + public uint SelectedToneId + { + get => __pbn__DefaultToneSetting.GetValueOrDefault(); + set => __pbn__DefaultToneSetting = value; + } + public bool ShouldSerializeDefaultToneSetting() => __pbn__DefaultToneSetting != null; + public void ResetDefaultToneSetting() => __pbn__DefaultToneSetting = null; + private uint? __pbn__DefaultToneSetting; + + [global::ProtoBuf.ProtoMember(23, Name = @"generic_info_flg")] + public byte[] GenericInfoFlg + { + get => __pbn__GenericInfoFlg; + set => __pbn__GenericInfoFlg = value; + } + public bool ShouldSerializeGenericInfoFlg() => __pbn__GenericInfoFlg != null; + public void ResetGenericInfoFlg() => __pbn__GenericInfoFlg = null; + private byte[] __pbn__GenericInfoFlg; + + [global::ProtoBuf.ProtoMember(24, Name = @"ary_crown_count")] + public uint[] AryCrownCounts { get; set; } + + [global::ProtoBuf.ProtoMember(25, Name = @"ary_score_rank_count")] + public uint[] AryScoreRankCounts { get; set; } + + [global::ProtoBuf.ProtoMember(26, Name = @"is_disp_achievement_on")] + public bool IsDispAchievementOn + { + get => __pbn__IsDispAchievementOn.GetValueOrDefault(); + set => __pbn__IsDispAchievementOn = value; + } + public bool ShouldSerializeIsDispAchievementOn() => __pbn__IsDispAchievementOn != null; + public void ResetIsDispAchievementOn() => __pbn__IsDispAchievementOn = null; + private bool? __pbn__IsDispAchievementOn; + + [global::ProtoBuf.ProtoMember(27, Name = @"disp_achievement_type")] + public uint DispAchievementType + { + get => __pbn__DispAchievementType.GetValueOrDefault(); + set => __pbn__DispAchievementType = value; + } + public bool ShouldSerializeDispAchievementType() => __pbn__DispAchievementType != null; + public void ResetDispAchievementType() => __pbn__DispAchievementType = null; + private uint? __pbn__DispAchievementType; + + [global::ProtoBuf.ProtoMember(28, Name = @"is_disp_achievement_type_set")] + public bool IsDispAchievementTypeSet + { + get => __pbn__IsDispAchievementTypeSet.GetValueOrDefault(); + set => __pbn__IsDispAchievementTypeSet = value; + } + public bool ShouldSerializeIsDispAchievementTypeSet() => __pbn__IsDispAchievementTypeSet != null; + public void ResetIsDispAchievementTypeSet() => __pbn__IsDispAchievementTypeSet = null; + private bool? __pbn__IsDispAchievementTypeSet; + + [global::ProtoBuf.ProtoMember(29, Name = @"last_play_mode")] + public uint LastPlayMode + { + get => __pbn__LastPlayMode.GetValueOrDefault(); + set => __pbn__LastPlayMode = value; + } + public bool ShouldSerializeLastPlayMode() => __pbn__LastPlayMode != null; + public void ResetLastPlayMode() => __pbn__LastPlayMode = null; + private uint? __pbn__LastPlayMode; + + [global::ProtoBuf.ProtoMember(30, Name = @"is_disp_souuchi_on")] + public bool IsDispSouuchiOn + { + get => __pbn__IsDispSouuchiOn.GetValueOrDefault(); + set => __pbn__IsDispSouuchiOn = value; + } + public bool ShouldSerializeIsDispSouuchiOn() => __pbn__IsDispSouuchiOn != null; + public void ResetIsDispSouuchiOn() => __pbn__IsDispSouuchiOn = null; + private bool? __pbn__IsDispSouuchiOn; + + [global::ProtoBuf.ProtoContract()] + public partial class CostumeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"costume_1")] + public uint Costume1 + { + get => __pbn__Costume1.GetValueOrDefault(); + set => __pbn__Costume1 = value; + } + public bool ShouldSerializeCostume1() => __pbn__Costume1 != null; + public void ResetCostume1() => __pbn__Costume1 = null; + private uint? __pbn__Costume1; + + [global::ProtoBuf.ProtoMember(2, Name = @"costume_2")] + public uint Costume2 + { + get => __pbn__Costume2.GetValueOrDefault(); + set => __pbn__Costume2 = value; + } + public bool ShouldSerializeCostume2() => __pbn__Costume2 != null; + public void ResetCostume2() => __pbn__Costume2 = null; + private uint? __pbn__Costume2; + + [global::ProtoBuf.ProtoMember(3, Name = @"costume_3")] + public uint Costume3 + { + get => __pbn__Costume3.GetValueOrDefault(); + set => __pbn__Costume3 = value; + } + public bool ShouldSerializeCostume3() => __pbn__Costume3 != null; + public void ResetCostume3() => __pbn__Costume3 = null; + private uint? __pbn__Costume3; + + [global::ProtoBuf.ProtoMember(4, Name = @"costume_4")] + public uint Costume4 + { + get => __pbn__Costume4.GetValueOrDefault(); + set => __pbn__Costume4 = value; + } + public bool ShouldSerializeCostume4() => __pbn__Costume4 != null; + public void ResetCostume4() => __pbn__Costume4 = null; + private uint? __pbn__Costume4; + + [global::ProtoBuf.ProtoMember(5, Name = @"costume_5")] + public uint Costume5 + { + get => __pbn__Costume5.GetValueOrDefault(); + set => __pbn__Costume5 = value; + } + public bool ShouldSerializeCostume5() => __pbn__Costume5 != null; + public void ResetCostume5() => __pbn__Costume5 = null; + private uint? __pbn__Costume5; + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MydonEntryRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"mydon_name", IsRequired = true)] + public string MydonName { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"mydon_name_language", IsRequired = true)] + public uint MydonNameLanguage { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class MydonEntryResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid")] + public ulong Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private ulong? __pbn__Baid; + + [global::ProtoBuf.ProtoMember(3, Name = @"mydon_name")] + [global::System.ComponentModel.DefaultValue("")] + public string MydonName + { + get => __pbn__MydonName ?? ""; + set => __pbn__MydonName = value; + } + public bool ShouldSerializeMydonName() => __pbn__MydonName != null; + public void ResetMydonName() => __pbn__MydonName = null; + private string __pbn__MydonName; + + [global::ProtoBuf.ProtoMember(4, Name = @"mydon_name_language")] + public uint MydonNameLanguage + { + get => __pbn__MydonNameLanguage.GetValueOrDefault(); + set => __pbn__MydonNameLanguage = value; + } + public bool ShouldSerializeMydonNameLanguage() => __pbn__MydonNameLanguage != null; + public void ResetMydonNameLanguage() => __pbn__MydonNameLanguage = null; + private uint? __pbn__MydonNameLanguage; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class UserDataRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class UserDataResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"tone_flg")] + public byte[] ToneFlg + { + get => __pbn__ToneFlg; + set => __pbn__ToneFlg = value; + } + public bool ShouldSerializeToneFlg() => __pbn__ToneFlg != null; + public void ResetToneFlg() => __pbn__ToneFlg = null; + private byte[] __pbn__ToneFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"title_flg")] + public byte[] TitleFlg + { + get => __pbn__TitleFlg; + set => __pbn__TitleFlg = value; + } + public bool ShouldSerializeTitleFlg() => __pbn__TitleFlg != null; + public void ResetTitleFlg() => __pbn__TitleFlg = null; + private byte[] __pbn__TitleFlg; + + [global::ProtoBuf.ProtoMember(4, Name = @"release_song_flg")] + public byte[] ReleaseSongFlg + { + get => __pbn__ReleaseSongFlg; + set => __pbn__ReleaseSongFlg = value; + } + public bool ShouldSerializeReleaseSongFlg() => __pbn__ReleaseSongFlg != null; + public void ResetReleaseSongFlg() => __pbn__ReleaseSongFlg = null; + private byte[] __pbn__ReleaseSongFlg; + + [global::ProtoBuf.ProtoMember(5, Name = @"ura_release_song_flg")] + public byte[] UraReleaseSongFlg + { + get => __pbn__UraReleaseSongFlg; + set => __pbn__UraReleaseSongFlg = value; + } + public bool ShouldSerializeUraReleaseSongFlg() => __pbn__UraReleaseSongFlg != null; + public void ResetUraReleaseSongFlg() => __pbn__UraReleaseSongFlg = null; + private byte[] __pbn__UraReleaseSongFlg; + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_favorite_song_no")] + public uint[] AryFavoriteSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_recent_song_no")] + public uint[] AryRecentSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"disp_score_type")] + public uint DispScoreType + { + get => __pbn__DispScoreType.GetValueOrDefault(); + set => __pbn__DispScoreType = value; + } + public bool ShouldSerializeDispScoreType() => __pbn__DispScoreType != null; + public void ResetDispScoreType() => __pbn__DispScoreType = null; + private uint? __pbn__DispScoreType; + + [global::ProtoBuf.ProtoMember(9, Name = @"disp_level_chassis")] + public uint DispLevelChassis + { + get => __pbn__DispLevelChassis.GetValueOrDefault(); + set => __pbn__DispLevelChassis = value; + } + public bool ShouldSerializeDispLevelChassis() => __pbn__DispLevelChassis != null; + public void ResetDispLevelChassis() => __pbn__DispLevelChassis = null; + private uint? __pbn__DispLevelChassis; + + [global::ProtoBuf.ProtoMember(10, Name = @"disp_level_self")] + public uint DispLevelSelf + { + get => __pbn__DispLevelSelf.GetValueOrDefault(); + set => __pbn__DispLevelSelf = value; + } + public bool ShouldSerializeDispLevelSelf() => __pbn__DispLevelSelf != null; + public void ResetDispLevelSelf() => __pbn__DispLevelSelf = null; + private uint? __pbn__DispLevelSelf; + + [global::ProtoBuf.ProtoMember(11, Name = @"is_disp_tojiru_on")] + public bool IsDispTojiruOn + { + get => __pbn__IsDispTojiruOn.GetValueOrDefault(); + set => __pbn__IsDispTojiruOn = value; + } + public bool ShouldSerializeIsDispTojiruOn() => __pbn__IsDispTojiruOn != null; + public void ResetIsDispTojiruOn() => __pbn__IsDispTojiruOn = null; + private bool? __pbn__IsDispTojiruOn; + + [global::ProtoBuf.ProtoMember(12, Name = @"default_option_setting")] + public byte[] DefaultOptionSetting + { + get => __pbn__DefaultOptionSetting; + set => __pbn__DefaultOptionSetting = value; + } + public bool ShouldSerializeDefaultOptionSetting() => __pbn__DefaultOptionSetting != null; + public void ResetDefaultOptionSetting() => __pbn__DefaultOptionSetting = null; + private byte[] __pbn__DefaultOptionSetting; + + [global::ProtoBuf.ProtoMember(13, Name = @"notes_position", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int NotesPosition + { + get => __pbn__NotesPosition.GetValueOrDefault(); + set => __pbn__NotesPosition = value; + } + public bool ShouldSerializeNotesPosition() => __pbn__NotesPosition != null; + public void ResetNotesPosition() => __pbn__NotesPosition = null; + private int? __pbn__NotesPosition; + + [global::ProtoBuf.ProtoMember(14, Name = @"is_voice_on")] + public bool IsVoiceOn + { + get => __pbn__IsVoiceOn.GetValueOrDefault(); + set => __pbn__IsVoiceOn = value; + } + public bool ShouldSerializeIsVoiceOn() => __pbn__IsVoiceOn != null; + public void ResetIsVoiceOn() => __pbn__IsVoiceOn = null; + private bool? __pbn__IsVoiceOn; + + [global::ProtoBuf.ProtoMember(15, Name = @"is_skip_on")] + public bool IsSkipOn + { + get => __pbn__IsSkipOn.GetValueOrDefault(); + set => __pbn__IsSkipOn = value; + } + public bool ShouldSerializeIsSkipOn() => __pbn__IsSkipOn != null; + public void ResetIsSkipOn() => __pbn__IsSkipOn = null; + private bool? __pbn__IsSkipOn; + + [global::ProtoBuf.ProtoMember(16, Name = @"difficulty_setting_course")] + public uint DifficultySettingCourse + { + get => __pbn__DifficultySettingCourse.GetValueOrDefault(); + set => __pbn__DifficultySettingCourse = value; + } + public bool ShouldSerializeDifficultySettingCourse() => __pbn__DifficultySettingCourse != null; + public void ResetDifficultySettingCourse() => __pbn__DifficultySettingCourse = null; + private uint? __pbn__DifficultySettingCourse; + + [global::ProtoBuf.ProtoMember(17, Name = @"difficulty_setting_star")] + public uint DifficultySettingStar + { + get => __pbn__DifficultySettingStar.GetValueOrDefault(); + set => __pbn__DifficultySettingStar = value; + } + public bool ShouldSerializeDifficultySettingStar() => __pbn__DifficultySettingStar != null; + public void ResetDifficultySettingStar() => __pbn__DifficultySettingStar = null; + private uint? __pbn__DifficultySettingStar; + + [global::ProtoBuf.ProtoMember(18, Name = @"difficulty_setting_sort")] + public uint DifficultySettingSort + { + get => __pbn__DifficultySettingSort.GetValueOrDefault(); + set => __pbn__DifficultySettingSort = value; + } + public bool ShouldSerializeDifficultySettingSort() => __pbn__DifficultySettingSort != null; + public void ResetDifficultySettingSort() => __pbn__DifficultySettingSort = null; + private uint? __pbn__DifficultySettingSort; + + [global::ProtoBuf.ProtoMember(19, Name = @"difficulty_played_course")] + public uint DifficultyPlayedCourse + { + get => __pbn__DifficultyPlayedCourse.GetValueOrDefault(); + set => __pbn__DifficultyPlayedCourse = value; + } + public bool ShouldSerializeDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse != null; + public void ResetDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse = null; + private uint? __pbn__DifficultyPlayedCourse; + + [global::ProtoBuf.ProtoMember(20, Name = @"difficulty_played_star")] + public uint DifficultyPlayedStar + { + get => __pbn__DifficultyPlayedStar.GetValueOrDefault(); + set => __pbn__DifficultyPlayedStar = value; + } + public bool ShouldSerializeDifficultyPlayedStar() => __pbn__DifficultyPlayedStar != null; + public void ResetDifficultyPlayedStar() => __pbn__DifficultyPlayedStar = null; + private uint? __pbn__DifficultyPlayedStar; + + [global::ProtoBuf.ProtoMember(21, Name = @"difficulty_played_sort")] + public uint DifficultyPlayedSort + { + get => __pbn__DifficultyPlayedSort.GetValueOrDefault(); + set => __pbn__DifficultyPlayedSort = value; + } + public bool ShouldSerializeDifficultyPlayedSort() => __pbn__DifficultyPlayedSort != null; + public void ResetDifficultyPlayedSort() => __pbn__DifficultyPlayedSort = null; + private uint? __pbn__DifficultyPlayedSort; + + [global::ProtoBuf.ProtoMember(22, Name = @"total_credit_cnt")] + public uint TotalCreditCnt + { + get => __pbn__TotalCreditCnt.GetValueOrDefault(); + set => __pbn__TotalCreditCnt = value; + } + public bool ShouldSerializeTotalCreditCnt() => __pbn__TotalCreditCnt != null; + public void ResetTotalCreditCnt() => __pbn__TotalCreditCnt = null; + private uint? __pbn__TotalCreditCnt; + + [global::ProtoBuf.ProtoMember(23, Name = @"song_recent_cnt")] + public uint SongRecentCnt + { + get => __pbn__SongRecentCnt.GetValueOrDefault(); + set => __pbn__SongRecentCnt = value; + } + public bool ShouldSerializeSongRecentCnt() => __pbn__SongRecentCnt != null; + public void ResetSongRecentCnt() => __pbn__SongRecentCnt = null; + private uint? __pbn__SongRecentCnt; + + [global::ProtoBuf.ProtoMember(24, Name = @"is_challengecompe")] + public bool IsChallengecompe + { + get => __pbn__IsChallengecompe.GetValueOrDefault(); + set => __pbn__IsChallengecompe = value; + } + public bool ShouldSerializeIsChallengecompe() => __pbn__IsChallengecompe != null; + public void ResetIsChallengecompe() => __pbn__IsChallengecompe = null; + private bool? __pbn__IsChallengecompe; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class PlayResultRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid_conf", IsRequired = true)] + public ulong BaidConf { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id_conf", IsRequired = true)] + public string ChassisIdConf { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id_conf", IsRequired = true)] + public string ShopIdConf { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"play_datetime_conf", IsRequired = true)] + public string PlayDatetimeConf { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"playresult_data", IsRequired = true)] + public byte[] PlayresultData { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class PlayResultResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class PlayResultDataRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"play_datetime", IsRequired = true)] + public string PlayDatetime { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"is_right", IsRequired = true)] + public bool IsRight { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"card_type", IsRequired = true)] + public uint CardType { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"is_two_players", IsRequired = true)] + public bool IsTwoPlayers { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"ary_stage_info")] + public global::System.Collections.Generic.List AryStageInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"ura_release_song_no")] + public uint[] UraReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(14, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(15, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(16, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(17, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(18, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + + [global::ProtoBuf.ProtoMember(19, Name = @"get_generic_info_no")] + public uint[] GetGenericInfoNoes { get; set; } + + [global::ProtoBuf.ProtoMember(20, Name = @"ary_play_costume", IsRequired = true)] + public CostumeData AryPlayCostume { get; set; } + + [global::ProtoBuf.ProtoMember(21, Name = @"ary_current_costume", IsRequired = true)] + public CostumeData AryCurrentCostume { get; set; } + + [global::ProtoBuf.ProtoMember(22, Name = @"title")] + [global::System.ComponentModel.DefaultValue("")] + public string Title + { + get => __pbn__Title ?? ""; + set => __pbn__Title = value; + } + public bool ShouldSerializeTitle() => __pbn__Title != null; + public void ResetTitle() => __pbn__Title = null; + private string __pbn__Title; + + [global::ProtoBuf.ProtoMember(23, Name = @"titleplate_id")] + public uint TitleplateId + { + get => __pbn__TitleplateId.GetValueOrDefault(); + set => __pbn__TitleplateId = value; + } + public bool ShouldSerializeTitleplateId() => __pbn__TitleplateId != null; + public void ResetTitleplateId() => __pbn__TitleplateId = null; + private uint? __pbn__TitleplateId; + + [global::ProtoBuf.ProtoMember(24, Name = @"play_mode", IsRequired = true)] + public uint PlayMode { get; set; } + + [global::ProtoBuf.ProtoMember(25, Name = @"collaboration_id")] + public uint CollaborationId + { + get => __pbn__CollaborationId.GetValueOrDefault(); + set => __pbn__CollaborationId = value; + } + public bool ShouldSerializeCollaborationId() => __pbn__CollaborationId != null; + public void ResetCollaborationId() => __pbn__CollaborationId = null; + private uint? __pbn__CollaborationId; + + [global::ProtoBuf.ProtoMember(26, Name = @"dan_id")] + public uint DanId + { + get => __pbn__DanId.GetValueOrDefault(); + set => __pbn__DanId = value; + } + public bool ShouldSerializeDanId() => __pbn__DanId != null; + public void ResetDanId() => __pbn__DanId = null; + private uint? __pbn__DanId; + + [global::ProtoBuf.ProtoMember(27, Name = @"dan_result")] + public uint DanResult + { + get => __pbn__DanResult.GetValueOrDefault(); + set => __pbn__DanResult = value; + } + public bool ShouldSerializeDanResult() => __pbn__DanResult != null; + public void ResetDanResult() => __pbn__DanResult = null; + private uint? __pbn__DanResult; + + [global::ProtoBuf.ProtoMember(28, Name = @"soul_gauge_total")] + public uint SoulGaugeTotal + { + get => __pbn__SoulGaugeTotal.GetValueOrDefault(); + set => __pbn__SoulGaugeTotal = value; + } + public bool ShouldSerializeSoulGaugeTotal() => __pbn__SoulGaugeTotal != null; + public void ResetSoulGaugeTotal() => __pbn__SoulGaugeTotal = null; + private uint? __pbn__SoulGaugeTotal; + + [global::ProtoBuf.ProtoMember(29, Name = @"combo_cnt_total")] + public uint ComboCntTotal + { + get => __pbn__ComboCntTotal.GetValueOrDefault(); + set => __pbn__ComboCntTotal = value; + } + public bool ShouldSerializeComboCntTotal() => __pbn__ComboCntTotal != null; + public void ResetComboCntTotal() => __pbn__ComboCntTotal = null; + private uint? __pbn__ComboCntTotal; + + [global::ProtoBuf.ProtoMember(30, Name = @"is_not_recorded_dan")] + public bool IsNotRecordedDan + { + get => __pbn__IsNotRecordedDan.GetValueOrDefault(); + set => __pbn__IsNotRecordedDan = value; + } + public bool ShouldSerializeIsNotRecordedDan() => __pbn__IsNotRecordedDan != null; + public void ResetIsNotRecordedDan() => __pbn__IsNotRecordedDan = null; + private bool? __pbn__IsNotRecordedDan; + + [global::ProtoBuf.ProtoMember(31, Name = @"area_code", IsRequired = true)] + public uint AreaCode { get; set; } + + [global::ProtoBuf.ProtoMember(32, Name = @"reserved", IsRequired = true)] + public byte[] Reserved { get; set; } + + [global::ProtoBuf.ProtoMember(33, Name = @"tournament_mode")] + public uint TournamentMode + { + get => __pbn__TournamentMode.GetValueOrDefault(); + set => __pbn__TournamentMode = value; + } + public bool ShouldSerializeTournamentMode() => __pbn__TournamentMode != null; + public void ResetTournamentMode() => __pbn__TournamentMode = null; + private uint? __pbn__TournamentMode; + + [global::ProtoBuf.ProtoMember(34, Name = @"difficulty_played_course")] + public uint DifficultyPlayedCourse + { + get => __pbn__DifficultyPlayedCourse.GetValueOrDefault(); + set => __pbn__DifficultyPlayedCourse = value; + } + public bool ShouldSerializeDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse != null; + public void ResetDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse = null; + private uint? __pbn__DifficultyPlayedCourse; + + [global::ProtoBuf.ProtoMember(35, Name = @"difficulty_played_star")] + public uint DifficultyPlayedStar + { + get => __pbn__DifficultyPlayedStar.GetValueOrDefault(); + set => __pbn__DifficultyPlayedStar = value; + } + public bool ShouldSerializeDifficultyPlayedStar() => __pbn__DifficultyPlayedStar != null; + public void ResetDifficultyPlayedStar() => __pbn__DifficultyPlayedStar = null; + private uint? __pbn__DifficultyPlayedStar; + + [global::ProtoBuf.ProtoMember(36, Name = @"difficulty_played_sort")] + public uint DifficultyPlayedSort + { + get => __pbn__DifficultyPlayedSort.GetValueOrDefault(); + set => __pbn__DifficultyPlayedSort = value; + } + public bool ShouldSerializeDifficultyPlayedSort() => __pbn__DifficultyPlayedSort != null; + public void ResetDifficultyPlayedSort() => __pbn__DifficultyPlayedSort = null; + private uint? __pbn__DifficultyPlayedSort; + + [global::ProtoBuf.ProtoMember(37, Name = @"is_random_use_play")] + public uint IsRandomUsePlay + { + get => __pbn__IsRandomUsePlay.GetValueOrDefault(); + set => __pbn__IsRandomUsePlay = value; + } + public bool ShouldSerializeIsRandomUsePlay() => __pbn__IsRandomUsePlay != null; + public void ResetIsRandomUsePlay() => __pbn__IsRandomUsePlay = null; + private uint? __pbn__IsRandomUsePlay; + + [global::ProtoBuf.ProtoMember(38, Name = @"input_median")] + [global::System.ComponentModel.DefaultValue("")] + public string InputMedian + { + get => __pbn__InputMedian ?? ""; + set => __pbn__InputMedian = value; + } + public bool ShouldSerializeInputMedian() => __pbn__InputMedian != null; + public void ResetInputMedian() => __pbn__InputMedian = null; + private string __pbn__InputMedian; + + [global::ProtoBuf.ProtoMember(39, Name = @"input_variance")] + [global::System.ComponentModel.DefaultValue("")] + public string InputVariance + { + get => __pbn__InputVariance ?? ""; + set => __pbn__InputVariance = value; + } + public bool ShouldSerializeInputVariance() => __pbn__InputVariance != null; + public void ResetInputVariance() => __pbn__InputVariance = null; + private string __pbn__InputVariance; + + [global::ProtoBuf.ProtoContract()] + public partial class StageData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"stage_mode", IsRequired = true)] + public uint StageMode { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"play_result", IsRequired = true)] + public uint PlayResult { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"play_score", IsRequired = true)] + public uint PlayScore { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"score_rate", IsRequired = true)] + public uint ScoreRate { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"score_rank", IsRequired = true)] + public uint ScoreRank { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"combo_cnt", IsRequired = true)] + public uint ComboCnt { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"hit_cnt")] + public uint HitCnt + { + get => __pbn__HitCnt.GetValueOrDefault(); + set => __pbn__HitCnt = value; + } + public bool ShouldSerializeHitCnt() => __pbn__HitCnt != null; + public void ResetHitCnt() => __pbn__HitCnt = null; + private uint? __pbn__HitCnt; + + [global::ProtoBuf.ProtoMember(14, Name = @"option_flg", IsRequired = true)] + public byte[] OptionFlg { get; set; } + + [global::ProtoBuf.ProtoMember(15, Name = @"tone_flg", IsRequired = true)] + public byte[] ToneFlg { get; set; } + + [global::ProtoBuf.ProtoMember(16, Name = @"notes_position", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int NotesPosition { get; set; } + + [global::ProtoBuf.ProtoMember(17, Name = @"is_voice_on", IsRequired = true)] + public bool IsVoiceOn { get; set; } + + [global::ProtoBuf.ProtoMember(18, Name = @"is_skip_on", IsRequired = true)] + public bool IsSkipOn { get; set; } + + [global::ProtoBuf.ProtoMember(19, Name = @"is_skip_use", IsRequired = true)] + public bool IsSkipUse { get; set; } + + [global::ProtoBuf.ProtoMember(20, Name = @"ary_challenge_id")] + public global::System.Collections.Generic.List AryChallengeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(21, Name = @"ary_user_compe_id")] + public global::System.Collections.Generic.List AryUserCompeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(22, Name = @"ary_bng_compe_id")] + public global::System.Collections.Generic.List AryBngCompeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(23, Name = @"music_categ", IsRequired = true)] + public uint MusicCateg { get; set; } + + [global::ProtoBuf.ProtoMember(24, Name = @"is_favorite", IsRequired = true)] + public bool IsFavorite { get; set; } + + [global::ProtoBuf.ProtoMember(25, Name = @"is_recent", IsRequired = true)] + public bool IsRecent { get; set; } + + [global::ProtoBuf.ProtoMember(26, Name = @"selected_folder_id", IsRequired = true)] + public uint SelectedFolderId { get; set; } + + [global::ProtoBuf.ProtoMember(27, Name = @"is_random_use_stage")] + public uint IsRandomUseStage + { + get => __pbn__IsRandomUseStage.GetValueOrDefault(); + set => __pbn__IsRandomUseStage = value; + } + public bool ShouldSerializeIsRandomUseStage() => __pbn__IsRandomUseStage != null; + public void ResetIsRandomUseStage() => __pbn__IsRandomUseStage = null; + private uint? __pbn__IsRandomUseStage; + + [global::ProtoBuf.ProtoMember(28, Name = @"is_papamama", IsRequired = true)] + public bool IsPapamama { get; set; } + + [global::ProtoBuf.ProtoMember(29, Name = @"star_level", IsRequired = true)] + public uint StarLevel { get; set; } + + [global::ProtoBuf.ProtoMember(30, Name = @"is_win")] + public bool IsWin + { + get => __pbn__IsWin.GetValueOrDefault(); + set => __pbn__IsWin = value; + } + public bool ShouldSerializeIsWin() => __pbn__IsWin != null; + public void ResetIsWin() => __pbn__IsWin = null; + private bool? __pbn__IsWin; + + [global::ProtoBuf.ProtoMember(31, Name = @"ary_section_data")] + public global::System.Collections.Generic.List ArySectionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class ResultcompeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"compe_id", IsRequired = true)] + public uint CompeId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"track_no", IsRequired = true)] + public uint TrackNo { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AiStageSectionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"is_win", IsRequired = true)] + public bool IsWin { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown", IsRequired = true)] + public uint Crown { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"score", IsRequired = true)] + public uint Score { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class CostumeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"costume_1")] + public uint Costume1 + { + get => __pbn__Costume1.GetValueOrDefault(); + set => __pbn__Costume1 = value; + } + public bool ShouldSerializeCostume1() => __pbn__Costume1 != null; + public void ResetCostume1() => __pbn__Costume1 = null; + private uint? __pbn__Costume1; + + [global::ProtoBuf.ProtoMember(2, Name = @"costume_2")] + public uint Costume2 + { + get => __pbn__Costume2.GetValueOrDefault(); + set => __pbn__Costume2 = value; + } + public bool ShouldSerializeCostume2() => __pbn__Costume2 != null; + public void ResetCostume2() => __pbn__Costume2 = null; + private uint? __pbn__Costume2; + + [global::ProtoBuf.ProtoMember(3, Name = @"costume_3")] + public uint Costume3 + { + get => __pbn__Costume3.GetValueOrDefault(); + set => __pbn__Costume3 = value; + } + public bool ShouldSerializeCostume3() => __pbn__Costume3 != null; + public void ResetCostume3() => __pbn__Costume3 = null; + private uint? __pbn__Costume3; + + [global::ProtoBuf.ProtoMember(4, Name = @"costume_4")] + public uint Costume4 + { + get => __pbn__Costume4.GetValueOrDefault(); + set => __pbn__Costume4 = value; + } + public bool ShouldSerializeCostume4() => __pbn__Costume4 != null; + public void ResetCostume4() => __pbn__Costume4 = null; + private uint? __pbn__Costume4; + + [global::ProtoBuf.ProtoMember(5, Name = @"costume_5")] + public uint Costume5 + { + get => __pbn__Costume5.GetValueOrDefault(); + set => __pbn__Costume5 = value; + } + public bool ShouldSerializeCostume5() => __pbn__Costume5 != null; + public void ResetCostume5() => __pbn__Costume5 = null; + private uint? __pbn__Costume5; + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SelfBestRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"level")] + public uint Level + { + get => __pbn__Level.GetValueOrDefault(); + set => __pbn__Level = value; + } + public bool ShouldSerializeLevel() => __pbn__Level != null; + public void ResetLevel() => __pbn__Level = null; + private uint? __pbn__Level; + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_song_no")] + public uint[] ArySongNoes { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SelfBestResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level")] + public uint Level + { + get => __pbn__Level.GetValueOrDefault(); + set => __pbn__Level = value; + } + public bool ShouldSerializeLevel() => __pbn__Level != null; + public void ResetLevel() => __pbn__Level = null; + private uint? __pbn__Level; + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_selfbest_score")] + public global::System.Collections.Generic.List ArySelfbestScores { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class SelfBestData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"self_best_score", IsRequired = true)] + public uint SelfBestScore { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"self_best_score_rate", IsRequired = true)] + public uint SelfBestScoreRate { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ura_best_score", IsRequired = true)] + public uint UraBestScore { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ura_best_score_rate", IsRequired = true)] + public uint UraBestScoreRate { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class CrownsDataRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class CrownsDataResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown_flg")] + public byte[] CrownFlg + { + get => __pbn__CrownFlg; + set => __pbn__CrownFlg = value; + } + public bool ShouldSerializeCrownFlg() => __pbn__CrownFlg != null; + public void ResetCrownFlg() => __pbn__CrownFlg = null; + private byte[] __pbn__CrownFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"dondaful_crown_flg")] + public byte[] DondafulCrownFlg + { + get => __pbn__DondafulCrownFlg; + set => __pbn__DondafulCrownFlg = value; + } + public bool ShouldSerializeDondafulCrownFlg() => __pbn__DondafulCrownFlg != null; + public void ResetDondafulCrownFlg() => __pbn__DondafulCrownFlg = null; + private byte[] __pbn__DondafulCrownFlg; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class ChallengeCompeRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class ChallengeCompeResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_challenge_stat")] + public global::System.Collections.Generic.List AryChallengeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_user_compe_stat")] + public global::System.Collections.Generic.List AryUserCompeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_bng_compe_stat")] + public global::System.Collections.Generic.List AryBngCompeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class CompeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"compe_id", IsRequired = true)] + public uint CompeId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_track_stat")] + public global::System.Collections.Generic.List AryTrackStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class TracksData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"option_flg", IsRequired = true)] + public byte[] OptionFlg { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"high_score", IsRequired = true)] + public uint HighScore { get; set; } + + } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetAiDataRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetAiDataResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"total_winnings")] + public uint TotalWinnings + { + get => __pbn__TotalWinnings.GetValueOrDefault(); + set => __pbn__TotalWinnings = value; + } + public bool ShouldSerializeTotalWinnings() => __pbn__TotalWinnings != null; + public void ResetTotalWinnings() => __pbn__TotalWinnings = null; + private uint? __pbn__TotalWinnings; + + [global::ProtoBuf.ProtoMember(3, Name = @"input_median")] + [global::System.ComponentModel.DefaultValue("")] + public string InputMedian + { + get => __pbn__InputMedian ?? ""; + set => __pbn__InputMedian = value; + } + public bool ShouldSerializeInputMedian() => __pbn__InputMedian != null; + public void ResetInputMedian() => __pbn__InputMedian = null; + private string __pbn__InputMedian; + + [global::ProtoBuf.ProtoMember(4, Name = @"input_variance")] + [global::System.ComponentModel.DefaultValue("")] + public string InputVariance + { + get => __pbn__InputVariance ?? ""; + set => __pbn__InputVariance = value; + } + public bool ShouldSerializeInputVariance() => __pbn__InputVariance != null; + public void ResetInputVariance() => __pbn__InputVariance = null; + private string __pbn__InputVariance; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetAiScoreRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetAiScoreResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_best_section_data")] + public global::System.Collections.Generic.List AryBestSectionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class AiBestSectionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"section_no", IsRequired = true)] + public uint SectionIndex { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown")] + public uint Crown + { + get => __pbn__Crown.GetValueOrDefault(); + set => __pbn__Crown = value; + } + public bool ShouldSerializeCrown() => __pbn__Crown != null; + public void ResetCrown() => __pbn__Crown = null; + private uint? __pbn__Crown; + + [global::ProtoBuf.ProtoMember(3, Name = @"score")] + public uint Score + { + get => __pbn__Score.GetValueOrDefault(); + set => __pbn__Score = value; + } + public bool ShouldSerializeScore() => __pbn__Score != null; + public void ResetScore() => __pbn__Score = null; + private uint? __pbn__Score; + + [global::ProtoBuf.ProtoMember(4, Name = @"good_cnt", IsRequired = true)] + public uint GoodCount { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ok_cnt", IsRequired = true)] + public uint OkCount { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"ng_cnt", IsRequired = true)] + public uint MissCount { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"pound_cnt", IsRequired = true)] + public uint DrumrollCount { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetTokenCountRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetTokenCountResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_token_count_data")] + public global::System.Collections.Generic.List AryTokenCountDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class TokenCountData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int TokenCount { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class AddTokenCountRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_add_token_count_data")] + public global::System.Collections.Generic.List AryAddTokenCountDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class AddTokenCountData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"add_token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int AddTokenCount { get; set; } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class AddTokenCountResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SongPurchaseRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"price", IsRequired = true)] + public uint Price { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class SongPurchaseResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int TokenCount + { + get => __pbn__TokenCount.GetValueOrDefault(); + set => __pbn__TokenCount = value; + } + public bool ShouldSerializeTokenCount() => __pbn__TokenCount != null; + public void ResetTokenCount() => __pbn__TokenCount = null; + private int? __pbn__TokenCount; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class HeadClerk2Request : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_play_info")] + public global::System.Collections.Generic.List AryPlayInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class PlayData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"played_at", IsRequired = true)] + public string PlayedAt { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"is_right", IsRequired = true)] + public bool IsRight { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"type")] + public uint Type + { + get => __pbn__Type.GetValueOrDefault(); + set => __pbn__Type = value; + } + public bool ShouldSerializeType() => __pbn__Type != null; + public void ResetType() => __pbn__Type = null; + private uint? __pbn__Type; + + [global::ProtoBuf.ProtoMember(5, Name = @"amount")] + public uint Amount + { + get => __pbn__Amount.GetValueOrDefault(); + set => __pbn__Amount = value; + } + public bool ShouldSerializeAmount() => __pbn__Amount != null; + public void ResetAmount() => __pbn__Amount = null; + private uint? __pbn__Amount; + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class HeadClerk2Response : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardcardcheckRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardcardcheckResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid")] + public ulong Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private ulong? __pbn__Baid; + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardexecutionRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardexecutionResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetDanScoreRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"dan_id")] + public uint[] DanIds { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetDanScoreResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_dan_score_data")] + public global::System.Collections.Generic.List AryDanScoreDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class DanScoreData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"dan_id", IsRequired = true)] + public uint DanId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"arrival_song_cnt", IsRequired = true)] + public uint ArrivalSongCnt { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"soul_gauge_total", IsRequired = true)] + public uint SoulGaugeTotal { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"combo_cnt_total", IsRequired = true)] + public uint ComboCntTotal { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_dan_score_data_stage")] + public global::System.Collections.Generic.List AryDanScoreDataStages { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class DanScoreDataStage : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"play_score", IsRequired = true)] + public uint PlayScore { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"hit_cnt", IsRequired = true)] + public uint HitCnt { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"combo_cnt", IsRequired = true)] + public uint ComboCnt { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"high_score")] + public uint HighScore + { + get => __pbn__HighScore.GetValueOrDefault(); + set => __pbn__HighScore = value; + } + public bool ShouldSerializeHighScore() => __pbn__HighScore != null; + public void ResetHighScore() => __pbn__HighScore = null; + private uint? __pbn__HighScore; + + } + + } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardItemRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"ura_release_song_no")] + public uint[] UraReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class RewardItemResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetScoreRankRequest : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"wechat_qr_str", IsRequired = true)] + public string WechatQrStr { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid", IsRequired = true)] + public ulong Baid { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + +} + +[global::ProtoBuf.ProtoContract()] +public partial class GetScoreRankResponse : global::ProtoBuf.IExtensible +{ + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"iki_score_rank_flg")] + public byte[] IkiScoreRankFlg + { + get => __pbn__IkiScoreRankFlg; + set => __pbn__IkiScoreRankFlg = value; + } + public bool ShouldSerializeIkiScoreRankFlg() => __pbn__IkiScoreRankFlg != null; + public void ResetIkiScoreRankFlg() => __pbn__IkiScoreRankFlg = null; + private byte[] __pbn__IkiScoreRankFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"miyabi_score_rank_flg")] + public byte[] MiyabiScoreRankFlg + { + get => __pbn__MiyabiScoreRankFlg; + set => __pbn__MiyabiScoreRankFlg = value; + } + public bool ShouldSerializeMiyabiScoreRankFlg() => __pbn__MiyabiScoreRankFlg != null; + public void ResetMiyabiScoreRankFlg() => __pbn__MiyabiScoreRankFlg = null; + private byte[] __pbn__MiyabiScoreRankFlg; + + [global::ProtoBuf.ProtoMember(4, Name = @"kiwami_score_rank_flg")] + public byte[] KiwamiScoreRankFlg + { + get => __pbn__KiwamiScoreRankFlg; + set => __pbn__KiwamiScoreRankFlg = value; + } + public bool ShouldSerializeKiwamiScoreRankFlg() => __pbn__KiwamiScoreRankFlg != null; + public void ResetKiwamiScoreRankFlg() => __pbn__KiwamiScoreRankFlg = null; + private byte[] __pbn__KiwamiScoreRankFlg; + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/Game.cs b/Server/Models/3906/Game.cs new file mode 100644 index 0000000..0a6e213 --- /dev/null +++ b/Server/Models/3906/Game.cs @@ -0,0 +1,3381 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: my.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Server.Models.v3906 +{ + [global::ProtoBuf.ProtoContract()] + public partial class HeartBeatRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class HeartBeatResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"com_svr_stat", IsRequired = true)] + public uint ComSvrStat { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"game_svr_stat", IsRequired = true)] + public uint GameSvrStat { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class BookKeepingRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"update_date", IsRequired = true)] + public string UpdateDate { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"credit_cost_1", IsRequired = true)] + public uint CreditCost1 { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"credit_cost_2", IsRequired = true)] + public uint CreditCost2 { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"credit_songs_1", IsRequired = true)] + public uint CreditSongs1 { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"credit_songs_2", IsRequired = true)] + public uint CreditSongs2 { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"all_play_cnt", IsRequired = true)] + public uint AllPlayCnt { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"service_sw_cnt", IsRequired = true)] + public uint ServiceSwCnt { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"free_play_cnt", IsRequired = true)] + public uint FreePlayCnt { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"error_log")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLog + { + get => __pbn__ErrorLog ?? ""; + set => __pbn__ErrorLog = value; + } + public bool ShouldSerializeErrorLog() => __pbn__ErrorLog != null; + public void ResetErrorLog() => __pbn__ErrorLog = null; + private string __pbn__ErrorLog; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class BookKeepingResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class InitialdatacheckRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class InitialdatacheckResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"default_song_flg")] + public byte[] DefaultSongFlg + { + get => __pbn__DefaultSongFlg; + set => __pbn__DefaultSongFlg = value; + } + public bool ShouldSerializeDefaultSongFlg() => __pbn__DefaultSongFlg != null; + public void ResetDefaultSongFlg() => __pbn__DefaultSongFlg = null; + private byte[] __pbn__DefaultSongFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"achievement_song_bit")] + public byte[] AchievementSongBit + { + get => __pbn__AchievementSongBit; + set => __pbn__AchievementSongBit = value; + } + public bool ShouldSerializeAchievementSongBit() => __pbn__AchievementSongBit != null; + public void ResetAchievementSongBit() => __pbn__AchievementSongBit = null; + private byte[] __pbn__AchievementSongBit; + + [global::ProtoBuf.ProtoMember(4, Name = @"ura_release_bit")] + public byte[] UraReleaseBit + { + get => __pbn__UraReleaseBit; + set => __pbn__UraReleaseBit = value; + } + public bool ShouldSerializeUraReleaseBit() => __pbn__UraReleaseBit != null; + public void ResetUraReleaseBit() => __pbn__UraReleaseBit = null; + private byte[] __pbn__UraReleaseBit; + + [global::ProtoBuf.ProtoMember(5, Name = @"song_introduction_end_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string SongIntroductionEndDatetime + { + get => __pbn__SongIntroductionEndDatetime ?? ""; + set => __pbn__SongIntroductionEndDatetime = value; + } + public bool ShouldSerializeSongIntroductionEndDatetime() => __pbn__SongIntroductionEndDatetime != null; + public void ResetSongIntroductionEndDatetime() => __pbn__SongIntroductionEndDatetime = null; + private string __pbn__SongIntroductionEndDatetime; + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_movie_info")] + public global::System.Collections.Generic.List AryMovieInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_ai_event_data")] + public global::System.Collections.Generic.List AryAiEventDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_chassis_function_id")] + public uint[] AryChassisFunctionIds { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"ary_verup_no_data_1")] + public global::System.Collections.Generic.List AryVerupNoData1s { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"ary_verup_no_data_2")] + public global::System.Collections.Generic.List AryVerupNoData2s { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class MovieData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"movie_id", IsRequired = true)] + public uint MovieId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"enable_days", IsRequired = true)] + public uint EnableDays { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AiEventData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"ai_event_id", IsRequired = true)] + public uint AiEventId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_id")] + public uint TokenId + { + get => __pbn__TokenId.GetValueOrDefault(); + set => __pbn__TokenId = value; + } + public bool ShouldSerializeTokenId() => __pbn__TokenId != null; + public void ResetTokenId() => __pbn__TokenId = null; + private uint? __pbn__TokenId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupNoData1 : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupNoData2 : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_information_data")] + public global::System.Collections.Generic.List AryInformationDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class InformationData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"info_id", IsRequired = true)] + public uint InfoId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GettelopRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"telop_id", IsRequired = true)] + public uint TelopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GettelopResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"start_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string StartDatetime + { + get => __pbn__StartDatetime ?? ""; + set => __pbn__StartDatetime = value; + } + public bool ShouldSerializeStartDatetime() => __pbn__StartDatetime != null; + public void ResetStartDatetime() => __pbn__StartDatetime = null; + private string __pbn__StartDatetime; + + [global::ProtoBuf.ProtoMember(4, Name = @"end_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string EndDatetime + { + get => __pbn__EndDatetime ?? ""; + set => __pbn__EndDatetime = value; + } + public bool ShouldSerializeEndDatetime() => __pbn__EndDatetime != null; + public void ResetEndDatetime() => __pbn__EndDatetime = null; + private string __pbn__EndDatetime; + + [global::ProtoBuf.ProtoMember(5, Name = @"telop")] + [global::System.ComponentModel.DefaultValue("")] + public string Telop + { + get => __pbn__Telop ?? ""; + set => __pbn__Telop = value; + } + public bool ShouldSerializeTelop() => __pbn__Telop != null; + public void ResetTelop() => __pbn__Telop = null; + private string __pbn__Telop; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetfolderRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"folder_id")] + public uint[] FolderIds { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetfolderResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_eventfolder_data")] + public global::System.Collections.Generic.List AryEventfolderDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class EventfolderData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"folder_id", IsRequired = true)] + public uint FolderId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"priority", IsRequired = true)] + public uint Priority { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"song_no")] + public uint[] SongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"parent_folder_id", IsRequired = true)] + public uint ParentFolderId { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetShopFolderRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetShopFolderResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"token_id")] + public uint TokenId + { + get => __pbn__TokenId.GetValueOrDefault(); + set => __pbn__TokenId = value; + } + public bool ShouldSerializeTokenId() => __pbn__TokenId != null; + public void ResetTokenId() => __pbn__TokenId = null; + private uint? __pbn__TokenId; + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_shop_folder_data")] + public global::System.Collections.Generic.List AryShopFolderDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class ShopFolderData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"price", IsRequired = true)] + public uint Price { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSongIntroductionRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"set_id")] + public uint[] SetIds { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSongIntroductionResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_song_introduction_data")] + public global::System.Collections.Generic.List ArySongIntroductionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class SongIntroductionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"set_id", IsRequired = true)] + public uint SetId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"main_song_no")] + public uint MainSongNo + { + get => __pbn__MainSongNo.GetValueOrDefault(); + set => __pbn__MainSongNo = value; + } + public bool ShouldSerializeMainSongNo() => __pbn__MainSongNo != null; + public void ResetMainSongNo() => __pbn__MainSongNo = null; + private uint? __pbn__MainSongNo; + + [global::ProtoBuf.ProtoMember(4, Name = @"sub_song_no")] + public uint[] SubSongNoes { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class TournamentcheckRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"kit_id", IsRequired = true)] + public uint KitId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class TournamentcheckResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"rare_rate")] + public uint RareRate + { + get => __pbn__RareRate.GetValueOrDefault(); + set => __pbn__RareRate = value; + } + public bool ShouldSerializeRareRate() => __pbn__RareRate != null; + public void ResetRareRate() => __pbn__RareRate = null; + private uint? __pbn__RareRate; + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_gacha_song_data")] + public global::System.Collections.Generic.List AryGachaSongDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_gacha_tone_data")] + public global::System.Collections.Generic.List AryGachaToneDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_gacha_costume_1_data")] + public global::System.Collections.Generic.List AryGachaCostume1Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_gacha_costume_2_data")] + public global::System.Collections.Generic.List AryGachaCostume2Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_gacha_costume_3_data")] + public global::System.Collections.Generic.List AryGachaCostume3Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_gacha_costume_4_data")] + public global::System.Collections.Generic.List AryGachaCostume4Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(9, Name = @"ary_gacha_costume_5_data")] + public global::System.Collections.Generic.List AryGachaCostume5Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"ary_gacha_title_data")] + public global::System.Collections.Generic.List AryGachaTitleDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class GachainfoData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"normal_gacha_flg", IsRequired = true)] + public byte[] NormalGachaFlg { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"rare_gacha_flg", IsRequired = true)] + public byte[] RareGachaFlg { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetDanOdaiRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"dan_id")] + public uint[] DanIds { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetDanOdaiResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_odai_data")] + public global::System.Collections.Generic.List AryOdaiDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"dan_id", IsRequired = true)] + public uint DanId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no", IsRequired = true)] + public uint VerupNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"title", IsRequired = true)] + public string Title { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_odai_song")] + public global::System.Collections.Generic.List OdaiSongList { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_odai_border")] + public global::System.Collections.Generic.List OdaiBorderList { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiSong : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"is_hidden_song_name", IsRequired = true)] + public bool IsHiddenSongName { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class OdaiBorder : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"odai_type", IsRequired = true)] + public uint OdaiType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"border_type", IsRequired = true)] + public uint BorderType { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"red_border_total")] + public uint RedBorderTotal + { + get => __pbn__RedBorderTotal.GetValueOrDefault(); + set => __pbn__RedBorderTotal = value; + } + public bool ShouldSerializeRedBorderTotal() => __pbn__RedBorderTotal != null; + public void ResetRedBorderTotal() => __pbn__RedBorderTotal = null; + private uint? __pbn__RedBorderTotal; + + [global::ProtoBuf.ProtoMember(4, Name = @"gold_border_total")] + public uint GoldBorderTotal + { + get => __pbn__GoldBorderTotal.GetValueOrDefault(); + set => __pbn__GoldBorderTotal = value; + } + public bool ShouldSerializeGoldBorderTotal() => __pbn__GoldBorderTotal != null; + public void ResetGoldBorderTotal() => __pbn__GoldBorderTotal = null; + private uint? __pbn__GoldBorderTotal; + + [global::ProtoBuf.ProtoMember(5, Name = @"red_border_1")] + public uint RedBorder1 + { + get => __pbn__RedBorder1.GetValueOrDefault(); + set => __pbn__RedBorder1 = value; + } + public bool ShouldSerializeRedBorder1() => __pbn__RedBorder1 != null; + public void ResetRedBorder1() => __pbn__RedBorder1 = null; + private uint? __pbn__RedBorder1; + + [global::ProtoBuf.ProtoMember(6, Name = @"gold_border_1")] + public uint GoldBorder1 + { + get => __pbn__GoldBorder1.GetValueOrDefault(); + set => __pbn__GoldBorder1 = value; + } + public bool ShouldSerializeGoldBorder1() => __pbn__GoldBorder1 != null; + public void ResetGoldBorder1() => __pbn__GoldBorder1 = null; + private uint? __pbn__GoldBorder1; + + [global::ProtoBuf.ProtoMember(7, Name = @"red_border_2")] + public uint RedBorder2 + { + get => __pbn__RedBorder2.GetValueOrDefault(); + set => __pbn__RedBorder2 = value; + } + public bool ShouldSerializeRedBorder2() => __pbn__RedBorder2 != null; + public void ResetRedBorder2() => __pbn__RedBorder2 = null; + private uint? __pbn__RedBorder2; + + [global::ProtoBuf.ProtoMember(8, Name = @"gold_border_2")] + public uint GoldBorder2 + { + get => __pbn__GoldBorder2.GetValueOrDefault(); + set => __pbn__GoldBorder2 = value; + } + public bool ShouldSerializeGoldBorder2() => __pbn__GoldBorder2 != null; + public void ResetGoldBorder2() => __pbn__GoldBorder2 = null; + private uint? __pbn__GoldBorder2; + + [global::ProtoBuf.ProtoMember(9, Name = @"red_border_3")] + public uint RedBorder3 + { + get => __pbn__RedBorder3.GetValueOrDefault(); + set => __pbn__RedBorder3 = value; + } + public bool ShouldSerializeRedBorder3() => __pbn__RedBorder3 != null; + public void ResetRedBorder3() => __pbn__RedBorder3 = null; + private uint? __pbn__RedBorder3; + + [global::ProtoBuf.ProtoMember(10, Name = @"gold_border_3")] + public uint GoldBorder3 + { + get => __pbn__GoldBorder3.GetValueOrDefault(); + set => __pbn__GoldBorder3 = value; + } + public bool ShouldSerializeGoldBorder3() => __pbn__GoldBorder3 != null; + public void ResetGoldBorder3() => __pbn__GoldBorder3 = null; + private uint? __pbn__GoldBorder3; + + } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerifyQrcodeRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_serial", IsRequired = true)] + public string QrcodeSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"is_new_card")] + public bool IsNewCard + { + get => __pbn__IsNewCard.GetValueOrDefault(); + set => __pbn__IsNewCard = value; + } + public bool ShouldSerializeIsNewCard() => __pbn__IsNewCard != null; + public void ResetIsNewCard() => __pbn__IsNewCard = null; + private bool? __pbn__IsNewCard; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerifyQrcodeResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"qrcode_id")] + public uint QrcodeId + { + get => __pbn__QrcodeId.GetValueOrDefault(); + set => __pbn__QrcodeId = value; + } + public bool ShouldSerializeQrcodeId() => __pbn__QrcodeId != null; + public void ResetQrcodeId() => __pbn__QrcodeId = null; + private uint? __pbn__QrcodeId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ExecuteQrcodeRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_serial", IsRequired = true)] + public string QrcodeSerial { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ExecuteQrcodeResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"qrcode_id")] + public uint QrcodeId + { + get => __pbn__QrcodeId.GetValueOrDefault(); + set => __pbn__QrcodeId = value; + } + public bool ShouldSerializeQrcodeId() => __pbn__QrcodeId != null; + public void ResetQrcodeId() => __pbn__QrcodeId = null; + private uint? __pbn__QrcodeId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetApplicationUrlRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"qrcode_id", IsRequired = true)] + public uint QrcodeId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetApplicationUrlResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"application_url")] + [global::System.ComponentModel.DefaultValue("")] + public string ApplicationUrl + { + get => __pbn__ApplicationUrl ?? ""; + set => __pbn__ApplicationUrl = value; + } + public bool ShouldSerializeApplicationUrl() => __pbn__ApplicationUrl != null; + public void ResetApplicationUrl() => __pbn__ApplicationUrl = null; + private string __pbn__ApplicationUrl; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SetAnyStringRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"any_string", IsRequired = true)] + public string AnyString { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SetAnyStringResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetGenericMasterRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"master_type", IsRequired = true)] + public uint MasterType { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetGenericMasterResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"verup_no")] + public uint VerupNo + { + get => __pbn__VerupNo.GetValueOrDefault(); + set => __pbn__VerupNo = value; + } + public bool ShouldSerializeVerupNo() => __pbn__VerupNo != null; + public void ResetVerupNo() => __pbn__VerupNo = null; + private uint? __pbn__VerupNo; + + [global::ProtoBuf.ProtoMember(3, Name = @"enable_id_bit")] + public byte[] EnableIdBit + { + get => __pbn__EnableIdBit; + set => __pbn__EnableIdBit = value; + } + public bool ShouldSerializeEnableIdBit() => __pbn__EnableIdBit != null; + public void ResetEnableIdBit() => __pbn__EnableIdBit = null; + private byte[] __pbn__EnableIdBit; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MusicUsbAuth1Request : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"usbmem_ver", IsRequired = true)] + public string UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_serial", IsRequired = true)] + public string UsbmemSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"usbmem_vid", IsRequired = true)] + public string UsbmemVid { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"usbmem_pid", IsRequired = true)] + public string UsbmemPid { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"app_ver", IsRequired = true)] + public uint AppVer { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MusicUsbAuth1Response : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"secret_key_1")] + [global::System.ComponentModel.DefaultValue("")] + public string SecretKey1 + { + get => __pbn__SecretKey1 ?? ""; + set => __pbn__SecretKey1 = value; + } + public bool ShouldSerializeSecretKey1() => __pbn__SecretKey1 != null; + public void ResetSecretKey1() => __pbn__SecretKey1 = null; + private string __pbn__SecretKey1; + + [global::ProtoBuf.ProtoMember(3, Name = @"secret_key_2")] + [global::System.ComponentModel.DefaultValue("")] + public string SecretKey2 + { + get => __pbn__SecretKey2 ?? ""; + set => __pbn__SecretKey2 = value; + } + public bool ShouldSerializeSecretKey2() => __pbn__SecretKey2 != null; + public void ResetSecretKey2() => __pbn__SecretKey2 = null; + private string __pbn__SecretKey2; + + [global::ProtoBuf.ProtoMember(4, Name = @"datafile_hash")] + [global::System.ComponentModel.DefaultValue("")] + public string DatafileHash + { + get => __pbn__DatafileHash ?? ""; + set => __pbn__DatafileHash = value; + } + public bool ShouldSerializeDatafileHash() => __pbn__DatafileHash != null; + public void ResetDatafileHash() => __pbn__DatafileHash = null; + private string __pbn__DatafileHash; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MusicUsbAuth2Request : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"usbmem_ver", IsRequired = true)] + public string UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_serial", IsRequired = true)] + public string UsbmemSerial { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"usbmem_vid", IsRequired = true)] + public string UsbmemVid { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"usbmem_pid", IsRequired = true)] + public string UsbmemPid { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"app_ver", IsRequired = true)] + public uint AppVer { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"datafile_hash", IsRequired = true)] + public string DatafileHash { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MusicUsbAuth2Response : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class BAIDRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_type", IsRequired = true)] + public uint DeviceType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"access_code", IsRequired = true)] + public string AccessCode { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chip_id", IsRequired = true)] + public string ChipId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class BAIDResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"player_type")] + public uint PlayerType + { + get => __pbn__PlayerType.GetValueOrDefault(); + set => __pbn__PlayerType = value; + } + public bool ShouldSerializePlayerType() => __pbn__PlayerType != null; + public void ResetPlayerType() => __pbn__PlayerType = null; + private uint? __pbn__PlayerType; + + [global::ProtoBuf.ProtoMember(3, Name = @"com_svr_result")] + public uint ComSvrResult + { + get => __pbn__ComSvrResult.GetValueOrDefault(); + set => __pbn__ComSvrResult = value; + } + public bool ShouldSerializeComSvrResult() => __pbn__ComSvrResult != null; + public void ResetComSvrResult() => __pbn__ComSvrResult = null; + private uint? __pbn__ComSvrResult; + + [global::ProtoBuf.ProtoMember(4, Name = @"mb_id")] + public uint MbId + { + get => __pbn__MbId.GetValueOrDefault(); + set => __pbn__MbId = value; + } + public bool ShouldSerializeMbId() => __pbn__MbId != null; + public void ResetMbId() => __pbn__MbId = null; + private uint? __pbn__MbId; + + [global::ProtoBuf.ProtoMember(5, Name = @"baid")] + public uint Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private uint? __pbn__Baid; + + [global::ProtoBuf.ProtoMember(6, Name = @"access_code")] + [global::System.ComponentModel.DefaultValue("")] + public string AccessCode + { + get => __pbn__AccessCode ?? ""; + set => __pbn__AccessCode = value; + } + public bool ShouldSerializeAccessCode() => __pbn__AccessCode != null; + public void ResetAccessCode() => __pbn__AccessCode = null; + private string __pbn__AccessCode; + + [global::ProtoBuf.ProtoMember(7, Name = @"is_publish")] + public bool IsPublish + { + get => __pbn__IsPublish.GetValueOrDefault(); + set => __pbn__IsPublish = value; + } + public bool ShouldSerializeIsPublish() => __pbn__IsPublish != null; + public void ResetIsPublish() => __pbn__IsPublish = null; + private bool? __pbn__IsPublish; + + [global::ProtoBuf.ProtoMember(8, Name = @"card_own_num")] + public uint CardOwnNum + { + get => __pbn__CardOwnNum.GetValueOrDefault(); + set => __pbn__CardOwnNum = value; + } + public bool ShouldSerializeCardOwnNum() => __pbn__CardOwnNum != null; + public void ResetCardOwnNum() => __pbn__CardOwnNum = null; + private uint? __pbn__CardOwnNum; + + [global::ProtoBuf.ProtoMember(9, Name = @"reg_country_id")] + [global::System.ComponentModel.DefaultValue("")] + public string RegCountryId + { + get => __pbn__RegCountryId ?? ""; + set => __pbn__RegCountryId = value; + } + public bool ShouldSerializeRegCountryId() => __pbn__RegCountryId != null; + public void ResetRegCountryId() => __pbn__RegCountryId = null; + private string __pbn__RegCountryId; + + [global::ProtoBuf.ProtoMember(10, Name = @"purpose_id")] + public uint PurposeId + { + get => __pbn__PurposeId.GetValueOrDefault(); + set => __pbn__PurposeId = value; + } + public bool ShouldSerializePurposeId() => __pbn__PurposeId != null; + public void ResetPurposeId() => __pbn__PurposeId = null; + private uint? __pbn__PurposeId; + + [global::ProtoBuf.ProtoMember(11, Name = @"region_id")] + public uint RegionId + { + get => __pbn__RegionId.GetValueOrDefault(); + set => __pbn__RegionId = value; + } + public bool ShouldSerializeRegionId() => __pbn__RegionId != null; + public void ResetRegionId() => __pbn__RegionId = null; + private uint? __pbn__RegionId; + + [global::ProtoBuf.ProtoMember(12, Name = @"mydon_name")] + [global::System.ComponentModel.DefaultValue("")] + public string MyDonName + { + get => __pbn__MydonName ?? ""; + set => __pbn__MydonName = value; + } + public bool ShouldSerializeMydonName() => __pbn__MydonName != null; + public void ResetMydonName() => __pbn__MydonName = null; + private string __pbn__MydonName; + + [global::ProtoBuf.ProtoMember(13, Name = @"mydon_name_language")] + public uint MyDonNameLanguage + { + get => __pbn__MydonNameLanguage.GetValueOrDefault(); + set => __pbn__MydonNameLanguage = value; + } + public bool ShouldSerializeMydonNameLanguage() => __pbn__MydonNameLanguage != null; + public void ResetMydonNameLanguage() => __pbn__MydonNameLanguage = null; + private uint? __pbn__MydonNameLanguage; + + [global::ProtoBuf.ProtoMember(14, Name = @"title")] + [global::System.ComponentModel.DefaultValue("")] + public string Title + { + get => __pbn__Title ?? ""; + set => __pbn__Title = value; + } + public bool ShouldSerializeTitle() => __pbn__Title != null; + public void ResetTitle() => __pbn__Title = null; + private string __pbn__Title; + + [global::ProtoBuf.ProtoMember(15, Name = @"titleplate_id")] + public uint TitlePlateId + { + get => __pbn__TitleplateId.GetValueOrDefault(); + set => __pbn__TitleplateId = value; + } + public bool ShouldSerializeTitleplateId() => __pbn__TitleplateId != null; + public void ResetTitleplateId() => __pbn__TitleplateId = null; + private uint? __pbn__TitleplateId; + + [global::ProtoBuf.ProtoMember(16, Name = @"color_face")] + public uint ColorFace + { + get => __pbn__ColorFace.GetValueOrDefault(); + set => __pbn__ColorFace = value; + } + public bool ShouldSerializeColorFace() => __pbn__ColorFace != null; + public void ResetColorFace() => __pbn__ColorFace = null; + private uint? __pbn__ColorFace; + + [global::ProtoBuf.ProtoMember(17, Name = @"color_body")] + public uint ColorBody + { + get => __pbn__ColorBody.GetValueOrDefault(); + set => __pbn__ColorBody = value; + } + public bool ShouldSerializeColorBody() => __pbn__ColorBody != null; + public void ResetColorBody() => __pbn__ColorBody = null; + private uint? __pbn__ColorBody; + + [global::ProtoBuf.ProtoMember(18, Name = @"color_limb")] + public uint ColorLimb + { + get => __pbn__ColorLimb.GetValueOrDefault(); + set => __pbn__ColorLimb = value; + } + public bool ShouldSerializeColorLimb() => __pbn__ColorLimb != null; + public void ResetColorLimb() => __pbn__ColorLimb = null; + private uint? __pbn__ColorLimb; + + [global::ProtoBuf.ProtoMember(19, Name = @"ary_costumedata")] + public CostumeData AryCostumedata { get; set; } + + [global::ProtoBuf.ProtoMember(20, Name = @"costume_flg_1")] + public byte[] CostumeFlg1 + { + get => __pbn__CostumeFlg1; + set => __pbn__CostumeFlg1 = value; + } + public bool ShouldSerializeCostumeFlg1() => __pbn__CostumeFlg1 != null; + public void ResetCostumeFlg1() => __pbn__CostumeFlg1 = null; + private byte[] __pbn__CostumeFlg1; + + [global::ProtoBuf.ProtoMember(21, Name = @"costume_flg_2")] + public byte[] CostumeFlg2 + { + get => __pbn__CostumeFlg2; + set => __pbn__CostumeFlg2 = value; + } + public bool ShouldSerializeCostumeFlg2() => __pbn__CostumeFlg2 != null; + public void ResetCostumeFlg2() => __pbn__CostumeFlg2 = null; + private byte[] __pbn__CostumeFlg2; + + [global::ProtoBuf.ProtoMember(22, Name = @"costume_flg_3")] + public byte[] CostumeFlg3 + { + get => __pbn__CostumeFlg3; + set => __pbn__CostumeFlg3 = value; + } + public bool ShouldSerializeCostumeFlg3() => __pbn__CostumeFlg3 != null; + public void ResetCostumeFlg3() => __pbn__CostumeFlg3 = null; + private byte[] __pbn__CostumeFlg3; + + [global::ProtoBuf.ProtoMember(23, Name = @"costume_flg_4")] + public byte[] CostumeFlg4 + { + get => __pbn__CostumeFlg4; + set => __pbn__CostumeFlg4 = value; + } + public bool ShouldSerializeCostumeFlg4() => __pbn__CostumeFlg4 != null; + public void ResetCostumeFlg4() => __pbn__CostumeFlg4 = null; + private byte[] __pbn__CostumeFlg4; + + [global::ProtoBuf.ProtoMember(24, Name = @"costume_flg_5")] + public byte[] CostumeFlg5 + { + get => __pbn__CostumeFlg5; + set => __pbn__CostumeFlg5 = value; + } + public bool ShouldSerializeCostumeFlg5() => __pbn__CostumeFlg5 != null; + public void ResetCostumeFlg5() => __pbn__CostumeFlg5 = null; + private byte[] __pbn__CostumeFlg5; + + [global::ProtoBuf.ProtoMember(25, Name = @"last_play_datetime")] + [global::System.ComponentModel.DefaultValue("")] + public string LastPlayDatetime + { + get => __pbn__LastPlayDatetime ?? ""; + set => __pbn__LastPlayDatetime = value; + } + public bool ShouldSerializeLastPlayDatetime() => __pbn__LastPlayDatetime != null; + public void ResetLastPlayDatetime() => __pbn__LastPlayDatetime = null; + private string __pbn__LastPlayDatetime; + + [global::ProtoBuf.ProtoMember(26, Name = @"is_disp_dan_on")] + public bool DisplayDan + { + get => __pbn__IsDispDanOn.GetValueOrDefault(); + set => __pbn__IsDispDanOn = value; + } + public bool ShouldSerializeIsDispDanOn() => __pbn__IsDispDanOn != null; + public void ResetIsDispDanOn() => __pbn__IsDispDanOn = null; + private bool? __pbn__IsDispDanOn; + + [global::ProtoBuf.ProtoMember(27, Name = @"got_dan_max")] + public uint GotDanMax + { + get => __pbn__GotDanMax.GetValueOrDefault(); + set => __pbn__GotDanMax = value; + } + public bool ShouldSerializeGotDanMax() => __pbn__GotDanMax != null; + public void ResetGotDanMax() => __pbn__GotDanMax = null; + private uint? __pbn__GotDanMax; + + [global::ProtoBuf.ProtoMember(28, Name = @"got_dan_flg")] + public byte[] GotDanFlg + { + get => __pbn__GotDanFlg; + set => __pbn__GotDanFlg = value; + } + public bool ShouldSerializeGotDanFlg() => __pbn__GotDanFlg != null; + public void ResetGotDanFlg() => __pbn__GotDanFlg = null; + private byte[] __pbn__GotDanFlg; + + [global::ProtoBuf.ProtoMember(29, Name = @"got_danextra_flg")] + public byte[] GotGaidenFlg + { + get => pbnGotGaidenFlg; + set => pbnGotGaidenFlg = value; + } + public bool ShouldSerializeGotDanextraFlg() => pbnGotGaidenFlg != null; + public void ResetGotDanextraFlg() => pbnGotGaidenFlg = null; + private byte[] pbnGotGaidenFlg; + + [global::ProtoBuf.ProtoMember(30, Name = @"default_tone_setting")] + public uint SelectedToneId + { + get => __pbn__DefaultToneSetting.GetValueOrDefault(); + set => __pbn__DefaultToneSetting = value; + } + public bool ShouldSerializeDefaultToneSetting() => __pbn__DefaultToneSetting != null; + public void ResetDefaultToneSetting() => __pbn__DefaultToneSetting = null; + private uint? __pbn__DefaultToneSetting; + + [global::ProtoBuf.ProtoMember(31, Name = @"generic_info_flg")] + public byte[] GenericInfoFlg + { + get => __pbn__GenericInfoFlg; + set => __pbn__GenericInfoFlg = value; + } + public bool ShouldSerializeGenericInfoFlg() => __pbn__GenericInfoFlg != null; + public void ResetGenericInfoFlg() => __pbn__GenericInfoFlg = null; + private byte[] __pbn__GenericInfoFlg; + + [global::ProtoBuf.ProtoMember(32, Name = @"ary_crown_count")] + public uint[] AryCrownCounts { get; set; } + + [global::ProtoBuf.ProtoMember(33, Name = @"ary_score_rank_count")] + public uint[] AryScoreRankCounts { get; set; } + + [global::ProtoBuf.ProtoMember(34, Name = @"is_disp_achievement_on")] + public bool IsDispAchievementOn + { + get => __pbn__IsDispAchievementOn.GetValueOrDefault(); + set => __pbn__IsDispAchievementOn = value; + } + public bool ShouldSerializeIsDispAchievementOn() => __pbn__IsDispAchievementOn != null; + public void ResetIsDispAchievementOn() => __pbn__IsDispAchievementOn = null; + private bool? __pbn__IsDispAchievementOn; + + [global::ProtoBuf.ProtoMember(35, Name = @"disp_achievement_type")] + public uint DispAchievementType + { + get => __pbn__DispAchievementType.GetValueOrDefault(); + set => __pbn__DispAchievementType = value; + } + public bool ShouldSerializeDispAchievementType() => __pbn__DispAchievementType != null; + public void ResetDispAchievementType() => __pbn__DispAchievementType = null; + private uint? __pbn__DispAchievementType; + + [global::ProtoBuf.ProtoMember(36, Name = @"is_disp_achievement_type_set")] + public bool IsDispAchievementTypeSet + { + get => __pbn__IsDispAchievementTypeSet.GetValueOrDefault(); + set => __pbn__IsDispAchievementTypeSet = value; + } + public bool ShouldSerializeIsDispAchievementTypeSet() => __pbn__IsDispAchievementTypeSet != null; + public void ResetIsDispAchievementTypeSet() => __pbn__IsDispAchievementTypeSet = null; + private bool? __pbn__IsDispAchievementTypeSet; + + [global::ProtoBuf.ProtoMember(37, Name = @"last_play_mode")] + public uint LastPlayMode + { + get => __pbn__LastPlayMode.GetValueOrDefault(); + set => __pbn__LastPlayMode = value; + } + public bool ShouldSerializeLastPlayMode() => __pbn__LastPlayMode != null; + public void ResetLastPlayMode() => __pbn__LastPlayMode = null; + private uint? __pbn__LastPlayMode; + + [global::ProtoBuf.ProtoMember(38, Name = @"is_disp_souuchi_on")] + public bool IsDispSouuchiOn + { + get => __pbn__IsDispSouuchiOn.GetValueOrDefault(); + set => __pbn__IsDispSouuchiOn = value; + } + public bool ShouldSerializeIsDispSouuchiOn() => __pbn__IsDispSouuchiOn != null; + public void ResetIsDispSouuchiOn() => __pbn__IsDispSouuchiOn = null; + private bool? __pbn__IsDispSouuchiOn; + + [global::ProtoBuf.ProtoMember(39, Name = @"ai_rank")] + public uint AiRank + { + get => __pbn__AiRank.GetValueOrDefault(); + set => __pbn__AiRank = value; + } + public bool ShouldSerializeAiRank() => __pbn__AiRank != null; + public void ResetAiRank() => __pbn__AiRank = null; + private uint? __pbn__AiRank; + + [global::ProtoBuf.ProtoMember(40, Name = @"ai_total_win")] + public uint AiTotalWin + { + get => __pbn__AiTotalWin.GetValueOrDefault(); + set => __pbn__AiTotalWin = value; + } + public bool ShouldSerializeAiTotalWin() => __pbn__AiTotalWin != null; + public void ResetAiTotalWin() => __pbn__AiTotalWin = null; + private uint? __pbn__AiTotalWin; + + [global::ProtoBuf.ProtoMember(41, Name = @"accesstoken")] + [global::System.ComponentModel.DefaultValue("")] + public string Accesstoken + { + get => __pbn__Accesstoken ?? ""; + set => __pbn__Accesstoken = value; + } + public bool ShouldSerializeAccesstoken() => __pbn__Accesstoken != null; + public void ResetAccesstoken() => __pbn__Accesstoken = null; + private string __pbn__Accesstoken; + + [global::ProtoBuf.ProtoMember(42, Name = @"content_info")] + public byte[] ContentInfo + { + get => __pbn__ContentInfo; + set => __pbn__ContentInfo = value; + } + public bool ShouldSerializeContentInfo() => __pbn__ContentInfo != null; + public void ResetContentInfo() => __pbn__ContentInfo = null; + private byte[] __pbn__ContentInfo; + + [global::ProtoBuf.ProtoContract()] + public partial class CostumeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"costume_1")] + public uint Costume1 + { + get => __pbn__Costume1.GetValueOrDefault(); + set => __pbn__Costume1 = value; + } + public bool ShouldSerializeCostume1() => __pbn__Costume1 != null; + public void ResetCostume1() => __pbn__Costume1 = null; + private uint? __pbn__Costume1; + + [global::ProtoBuf.ProtoMember(2, Name = @"costume_2")] + public uint Costume2 + { + get => __pbn__Costume2.GetValueOrDefault(); + set => __pbn__Costume2 = value; + } + public bool ShouldSerializeCostume2() => __pbn__Costume2 != null; + public void ResetCostume2() => __pbn__Costume2 = null; + private uint? __pbn__Costume2; + + [global::ProtoBuf.ProtoMember(3, Name = @"costume_3")] + public uint Costume3 + { + get => __pbn__Costume3.GetValueOrDefault(); + set => __pbn__Costume3 = value; + } + public bool ShouldSerializeCostume3() => __pbn__Costume3 != null; + public void ResetCostume3() => __pbn__Costume3 = null; + private uint? __pbn__Costume3; + + [global::ProtoBuf.ProtoMember(4, Name = @"costume_4")] + public uint Costume4 + { + get => __pbn__Costume4.GetValueOrDefault(); + set => __pbn__Costume4 = value; + } + public bool ShouldSerializeCostume4() => __pbn__Costume4 != null; + public void ResetCostume4() => __pbn__Costume4 = null; + private uint? __pbn__Costume4; + + [global::ProtoBuf.ProtoMember(5, Name = @"costume_5")] + public uint Costume5 + { + get => __pbn__Costume5.GetValueOrDefault(); + set => __pbn__Costume5 = value; + } + public bool ShouldSerializeCostume5() => __pbn__Costume5 != null; + public void ResetCostume5() => __pbn__Costume5 = null; + private uint? __pbn__Costume5; + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MydonEntryRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_type", IsRequired = true)] + public uint DeviceType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"access_code", IsRequired = true)] + public string AccessCode { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chip_id", IsRequired = true)] + public string ChipId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"mydon_name", IsRequired = true)] + public string MydonName { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"mydon_name_language", IsRequired = true)] + public uint MydonNameLanguage { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MydonEntryResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"com_svr_result")] + public uint ComSvrResult + { + get => __pbn__ComSvrResult.GetValueOrDefault(); + set => __pbn__ComSvrResult = value; + } + public bool ShouldSerializeComSvrResult() => __pbn__ComSvrResult != null; + public void ResetComSvrResult() => __pbn__ComSvrResult = null; + private uint? __pbn__ComSvrResult; + + [global::ProtoBuf.ProtoMember(3, Name = @"mb_id")] + public uint MbId + { + get => __pbn__MbId.GetValueOrDefault(); + set => __pbn__MbId = value; + } + public bool ShouldSerializeMbId() => __pbn__MbId != null; + public void ResetMbId() => __pbn__MbId = null; + private uint? __pbn__MbId; + + [global::ProtoBuf.ProtoMember(4, Name = @"baid")] + public uint Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private uint? __pbn__Baid; + + [global::ProtoBuf.ProtoMember(5, Name = @"access_code")] + [global::System.ComponentModel.DefaultValue("")] + public string AccessCode + { + get => __pbn__AccessCode ?? ""; + set => __pbn__AccessCode = value; + } + public bool ShouldSerializeAccessCode() => __pbn__AccessCode != null; + public void ResetAccessCode() => __pbn__AccessCode = null; + private string __pbn__AccessCode; + + [global::ProtoBuf.ProtoMember(6, Name = @"is_publish")] + public bool IsPublish + { + get => __pbn__IsPublish.GetValueOrDefault(); + set => __pbn__IsPublish = value; + } + public bool ShouldSerializeIsPublish() => __pbn__IsPublish != null; + public void ResetIsPublish() => __pbn__IsPublish = null; + private bool? __pbn__IsPublish; + + [global::ProtoBuf.ProtoMember(7, Name = @"card_own_num")] + public uint CardOwnNum + { + get => __pbn__CardOwnNum.GetValueOrDefault(); + set => __pbn__CardOwnNum = value; + } + public bool ShouldSerializeCardOwnNum() => __pbn__CardOwnNum != null; + public void ResetCardOwnNum() => __pbn__CardOwnNum = null; + private uint? __pbn__CardOwnNum; + + [global::ProtoBuf.ProtoMember(8, Name = @"reg_country_id")] + [global::System.ComponentModel.DefaultValue("")] + public string RegCountryId + { + get => __pbn__RegCountryId ?? ""; + set => __pbn__RegCountryId = value; + } + public bool ShouldSerializeRegCountryId() => __pbn__RegCountryId != null; + public void ResetRegCountryId() => __pbn__RegCountryId = null; + private string __pbn__RegCountryId; + + [global::ProtoBuf.ProtoMember(9, Name = @"purpose_id")] + public uint PurposeId + { + get => __pbn__PurposeId.GetValueOrDefault(); + set => __pbn__PurposeId = value; + } + public bool ShouldSerializePurposeId() => __pbn__PurposeId != null; + public void ResetPurposeId() => __pbn__PurposeId = null; + private uint? __pbn__PurposeId; + + [global::ProtoBuf.ProtoMember(10, Name = @"region_id")] + public uint RegionId + { + get => __pbn__RegionId.GetValueOrDefault(); + set => __pbn__RegionId = value; + } + public bool ShouldSerializeRegionId() => __pbn__RegionId != null; + public void ResetRegionId() => __pbn__RegionId = null; + private uint? __pbn__RegionId; + + [global::ProtoBuf.ProtoMember(11, Name = @"mydon_name")] + [global::System.ComponentModel.DefaultValue("")] + public string MydonName + { + get => __pbn__MydonName ?? ""; + set => __pbn__MydonName = value; + } + public bool ShouldSerializeMydonName() => __pbn__MydonName != null; + public void ResetMydonName() => __pbn__MydonName = null; + private string __pbn__MydonName; + + [global::ProtoBuf.ProtoMember(12, Name = @"mydon_name_language")] + public uint MydonNameLanguage + { + get => __pbn__MydonNameLanguage.GetValueOrDefault(); + set => __pbn__MydonNameLanguage = value; + } + public bool ShouldSerializeMydonNameLanguage() => __pbn__MydonNameLanguage != null; + public void ResetMydonNameLanguage() => __pbn__MydonNameLanguage = null; + private uint? __pbn__MydonNameLanguage; + + [global::ProtoBuf.ProtoMember(13, Name = @"accesstoken")] + [global::System.ComponentModel.DefaultValue("")] + public string Accesstoken + { + get => __pbn__Accesstoken ?? ""; + set => __pbn__Accesstoken = value; + } + public bool ShouldSerializeAccesstoken() => __pbn__Accesstoken != null; + public void ResetAccesstoken() => __pbn__Accesstoken = null; + private string __pbn__Accesstoken; + + [global::ProtoBuf.ProtoMember(14, Name = @"content_info")] + public byte[] ContentInfo + { + get => __pbn__ContentInfo; + set => __pbn__ContentInfo = value; + } + public bool ShouldSerializeContentInfo() => __pbn__ContentInfo != null; + public void ResetContentInfo() => __pbn__ContentInfo = null; + private byte[] __pbn__ContentInfo; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UserDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UserDataResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"tone_flg")] + public byte[] ToneFlg + { + get => __pbn__ToneFlg; + set => __pbn__ToneFlg = value; + } + public bool ShouldSerializeToneFlg() => __pbn__ToneFlg != null; + public void ResetToneFlg() => __pbn__ToneFlg = null; + private byte[] __pbn__ToneFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"title_flg")] + public byte[] TitleFlg + { + get => __pbn__TitleFlg; + set => __pbn__TitleFlg = value; + } + public bool ShouldSerializeTitleFlg() => __pbn__TitleFlg != null; + public void ResetTitleFlg() => __pbn__TitleFlg = null; + private byte[] __pbn__TitleFlg; + + [global::ProtoBuf.ProtoMember(4, Name = @"release_song_flg")] + public byte[] ReleaseSongFlg + { + get => __pbn__ReleaseSongFlg; + set => __pbn__ReleaseSongFlg = value; + } + public bool ShouldSerializeReleaseSongFlg() => __pbn__ReleaseSongFlg != null; + public void ResetReleaseSongFlg() => __pbn__ReleaseSongFlg = null; + private byte[] __pbn__ReleaseSongFlg; + + [global::ProtoBuf.ProtoMember(5, Name = @"ura_release_song_flg")] + public byte[] UraReleaseSongFlg + { + get => __pbn__UraReleaseSongFlg; + set => __pbn__UraReleaseSongFlg = value; + } + public bool ShouldSerializeUraReleaseSongFlg() => __pbn__UraReleaseSongFlg != null; + public void ResetUraReleaseSongFlg() => __pbn__UraReleaseSongFlg = null; + private byte[] __pbn__UraReleaseSongFlg; + + [global::ProtoBuf.ProtoMember(6, Name = @"ary_favorite_song_no")] + public uint[] AryFavoriteSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"ary_recent_song_no")] + public uint[] AryRecentSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"disp_score_type")] + public uint DispScoreType + { + get => __pbn__DispScoreType.GetValueOrDefault(); + set => __pbn__DispScoreType = value; + } + public bool ShouldSerializeDispScoreType() => __pbn__DispScoreType != null; + public void ResetDispScoreType() => __pbn__DispScoreType = null; + private uint? __pbn__DispScoreType; + + [global::ProtoBuf.ProtoMember(9, Name = @"disp_level_chassis")] + public uint DispLevelChassis + { + get => __pbn__DispLevelChassis.GetValueOrDefault(); + set => __pbn__DispLevelChassis = value; + } + public bool ShouldSerializeDispLevelChassis() => __pbn__DispLevelChassis != null; + public void ResetDispLevelChassis() => __pbn__DispLevelChassis = null; + private uint? __pbn__DispLevelChassis; + + [global::ProtoBuf.ProtoMember(10, Name = @"disp_level_self")] + public uint DispLevelSelf + { + get => __pbn__DispLevelSelf.GetValueOrDefault(); + set => __pbn__DispLevelSelf = value; + } + public bool ShouldSerializeDispLevelSelf() => __pbn__DispLevelSelf != null; + public void ResetDispLevelSelf() => __pbn__DispLevelSelf = null; + private uint? __pbn__DispLevelSelf; + + [global::ProtoBuf.ProtoMember(11, Name = @"is_disp_tojiru_on")] + public bool IsDispTojiruOn + { + get => __pbn__IsDispTojiruOn.GetValueOrDefault(); + set => __pbn__IsDispTojiruOn = value; + } + public bool ShouldSerializeIsDispTojiruOn() => __pbn__IsDispTojiruOn != null; + public void ResetIsDispTojiruOn() => __pbn__IsDispTojiruOn = null; + private bool? __pbn__IsDispTojiruOn; + + [global::ProtoBuf.ProtoMember(12, Name = @"default_option_setting")] + public byte[] DefaultOptionSetting + { + get => __pbn__DefaultOptionSetting; + set => __pbn__DefaultOptionSetting = value; + } + public bool ShouldSerializeDefaultOptionSetting() => __pbn__DefaultOptionSetting != null; + public void ResetDefaultOptionSetting() => __pbn__DefaultOptionSetting = null; + private byte[] __pbn__DefaultOptionSetting; + + [global::ProtoBuf.ProtoMember(13, Name = @"notes_position", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int NotesPosition + { + get => __pbn__NotesPosition.GetValueOrDefault(); + set => __pbn__NotesPosition = value; + } + public bool ShouldSerializeNotesPosition() => __pbn__NotesPosition != null; + public void ResetNotesPosition() => __pbn__NotesPosition = null; + private int? __pbn__NotesPosition; + + [global::ProtoBuf.ProtoMember(14, Name = @"is_voice_on")] + public bool IsVoiceOn + { + get => __pbn__IsVoiceOn.GetValueOrDefault(); + set => __pbn__IsVoiceOn = value; + } + public bool ShouldSerializeIsVoiceOn() => __pbn__IsVoiceOn != null; + public void ResetIsVoiceOn() => __pbn__IsVoiceOn = null; + private bool? __pbn__IsVoiceOn; + + [global::ProtoBuf.ProtoMember(15, Name = @"is_skip_on")] + public bool IsSkipOn + { + get => __pbn__IsSkipOn.GetValueOrDefault(); + set => __pbn__IsSkipOn = value; + } + public bool ShouldSerializeIsSkipOn() => __pbn__IsSkipOn != null; + public void ResetIsSkipOn() => __pbn__IsSkipOn = null; + private bool? __pbn__IsSkipOn; + + [global::ProtoBuf.ProtoMember(16, Name = @"difficulty_setting_course")] + public uint DifficultySettingCourse + { + get => __pbn__DifficultySettingCourse.GetValueOrDefault(); + set => __pbn__DifficultySettingCourse = value; + } + public bool ShouldSerializeDifficultySettingCourse() => __pbn__DifficultySettingCourse != null; + public void ResetDifficultySettingCourse() => __pbn__DifficultySettingCourse = null; + private uint? __pbn__DifficultySettingCourse; + + [global::ProtoBuf.ProtoMember(17, Name = @"difficulty_setting_star")] + public uint DifficultySettingStar + { + get => __pbn__DifficultySettingStar.GetValueOrDefault(); + set => __pbn__DifficultySettingStar = value; + } + public bool ShouldSerializeDifficultySettingStar() => __pbn__DifficultySettingStar != null; + public void ResetDifficultySettingStar() => __pbn__DifficultySettingStar = null; + private uint? __pbn__DifficultySettingStar; + + [global::ProtoBuf.ProtoMember(18, Name = @"difficulty_setting_sort")] + public uint DifficultySettingSort + { + get => __pbn__DifficultySettingSort.GetValueOrDefault(); + set => __pbn__DifficultySettingSort = value; + } + public bool ShouldSerializeDifficultySettingSort() => __pbn__DifficultySettingSort != null; + public void ResetDifficultySettingSort() => __pbn__DifficultySettingSort = null; + private uint? __pbn__DifficultySettingSort; + + [global::ProtoBuf.ProtoMember(19, Name = @"difficulty_played_course")] + public uint DifficultyPlayedCourse + { + get => __pbn__DifficultyPlayedCourse.GetValueOrDefault(); + set => __pbn__DifficultyPlayedCourse = value; + } + public bool ShouldSerializeDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse != null; + public void ResetDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse = null; + private uint? __pbn__DifficultyPlayedCourse; + + [global::ProtoBuf.ProtoMember(20, Name = @"difficulty_played_star")] + public uint DifficultyPlayedStar + { + get => __pbn__DifficultyPlayedStar.GetValueOrDefault(); + set => __pbn__DifficultyPlayedStar = value; + } + public bool ShouldSerializeDifficultyPlayedStar() => __pbn__DifficultyPlayedStar != null; + public void ResetDifficultyPlayedStar() => __pbn__DifficultyPlayedStar = null; + private uint? __pbn__DifficultyPlayedStar; + + [global::ProtoBuf.ProtoMember(21, Name = @"difficulty_played_sort")] + public uint DifficultyPlayedSort + { + get => __pbn__DifficultyPlayedSort.GetValueOrDefault(); + set => __pbn__DifficultyPlayedSort = value; + } + public bool ShouldSerializeDifficultyPlayedSort() => __pbn__DifficultyPlayedSort != null; + public void ResetDifficultyPlayedSort() => __pbn__DifficultyPlayedSort = null; + private uint? __pbn__DifficultyPlayedSort; + + [global::ProtoBuf.ProtoMember(22, Name = @"total_credit_cnt")] + public uint TotalCreditCnt + { + get => __pbn__TotalCreditCnt.GetValueOrDefault(); + set => __pbn__TotalCreditCnt = value; + } + public bool ShouldSerializeTotalCreditCnt() => __pbn__TotalCreditCnt != null; + public void ResetTotalCreditCnt() => __pbn__TotalCreditCnt = null; + private uint? __pbn__TotalCreditCnt; + + [global::ProtoBuf.ProtoMember(23, Name = @"song_recent_cnt")] + public uint SongRecentCnt + { + get => __pbn__SongRecentCnt.GetValueOrDefault(); + set => __pbn__SongRecentCnt = value; + } + public bool ShouldSerializeSongRecentCnt() => __pbn__SongRecentCnt != null; + public void ResetSongRecentCnt() => __pbn__SongRecentCnt = null; + private uint? __pbn__SongRecentCnt; + + [global::ProtoBuf.ProtoMember(24, Name = @"is_challengecompe")] + public bool IsChallengecompe + { + get => __pbn__IsChallengecompe.GetValueOrDefault(); + set => __pbn__IsChallengecompe = value; + } + public bool ShouldSerializeIsChallengecompe() => __pbn__IsChallengecompe != null; + public void ResetIsChallengecompe() => __pbn__IsChallengecompe = null; + private bool? __pbn__IsChallengecompe; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class PlayResultRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid_conf", IsRequired = true)] + public uint BaidConf { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id_conf", IsRequired = true)] + public string ChassisIdConf { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id_conf", IsRequired = true)] + public string ShopIdConf { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"play_datetime_conf", IsRequired = true)] + public string PlayDatetimeConf { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"playresult_data", IsRequired = true)] + public byte[] PlayresultData { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class PlayResultResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class PlayResultDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"play_datetime", IsRequired = true)] + public string PlayDatetime { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"is_right", IsRequired = true)] + public bool IsRight { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"card_type", IsRequired = true)] + public uint CardType { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"is_two_players", IsRequired = true)] + public bool IsTwoPlayers { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_stage_info")] + public global::System.Collections.Generic.List AryStageInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(9, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"ura_release_song_no")] + public uint[] UraReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(14, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(15, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(16, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(17, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + + [global::ProtoBuf.ProtoMember(18, Name = @"get_generic_info_no")] + public uint[] GetGenericInfoNoes { get; set; } + + [global::ProtoBuf.ProtoMember(19, Name = @"ary_play_costume", IsRequired = true)] + public CostumeData AryPlayCostume { get; set; } + + [global::ProtoBuf.ProtoMember(20, Name = @"ary_current_costume", IsRequired = true)] + public CostumeData AryCurrentCostume { get; set; } + + [global::ProtoBuf.ProtoMember(21, Name = @"title")] + [global::System.ComponentModel.DefaultValue("")] + public string Title + { + get => __pbn__Title ?? ""; + set => __pbn__Title = value; + } + public bool ShouldSerializeTitle() => __pbn__Title != null; + public void ResetTitle() => __pbn__Title = null; + private string __pbn__Title; + + [global::ProtoBuf.ProtoMember(22, Name = @"titleplate_id")] + public uint TitleplateId + { + get => __pbn__TitleplateId.GetValueOrDefault(); + set => __pbn__TitleplateId = value; + } + public bool ShouldSerializeTitleplateId() => __pbn__TitleplateId != null; + public void ResetTitleplateId() => __pbn__TitleplateId = null; + private uint? __pbn__TitleplateId; + + [global::ProtoBuf.ProtoMember(23, Name = @"play_mode", IsRequired = true)] + public uint PlayMode { get; set; } + + [global::ProtoBuf.ProtoMember(24, Name = @"collaboration_id")] + public uint CollaborationId + { + get => __pbn__CollaborationId.GetValueOrDefault(); + set => __pbn__CollaborationId = value; + } + public bool ShouldSerializeCollaborationId() => __pbn__CollaborationId != null; + public void ResetCollaborationId() => __pbn__CollaborationId = null; + private uint? __pbn__CollaborationId; + + [global::ProtoBuf.ProtoMember(25, Name = @"dan_id")] + public uint DanId + { + get => __pbn__DanId.GetValueOrDefault(); + set => __pbn__DanId = value; + } + public bool ShouldSerializeDanId() => __pbn__DanId != null; + public void ResetDanId() => __pbn__DanId = null; + private uint? __pbn__DanId; + + [global::ProtoBuf.ProtoMember(26, Name = @"dan_result")] + public uint DanResult + { + get => __pbn__DanResult.GetValueOrDefault(); + set => __pbn__DanResult = value; + } + public bool ShouldSerializeDanResult() => __pbn__DanResult != null; + public void ResetDanResult() => __pbn__DanResult = null; + private uint? __pbn__DanResult; + + [global::ProtoBuf.ProtoMember(27, Name = @"soul_gauge_total")] + public uint SoulGaugeTotal + { + get => __pbn__SoulGaugeTotal.GetValueOrDefault(); + set => __pbn__SoulGaugeTotal = value; + } + public bool ShouldSerializeSoulGaugeTotal() => __pbn__SoulGaugeTotal != null; + public void ResetSoulGaugeTotal() => __pbn__SoulGaugeTotal = null; + private uint? __pbn__SoulGaugeTotal; + + [global::ProtoBuf.ProtoMember(28, Name = @"combo_cnt_total")] + public uint ComboCntTotal + { + get => __pbn__ComboCntTotal.GetValueOrDefault(); + set => __pbn__ComboCntTotal = value; + } + public bool ShouldSerializeComboCntTotal() => __pbn__ComboCntTotal != null; + public void ResetComboCntTotal() => __pbn__ComboCntTotal = null; + private uint? __pbn__ComboCntTotal; + + [global::ProtoBuf.ProtoMember(29, Name = @"is_not_recorded_dan")] + public bool IsNotRecordedDan + { + get => __pbn__IsNotRecordedDan.GetValueOrDefault(); + set => __pbn__IsNotRecordedDan = value; + } + public bool ShouldSerializeIsNotRecordedDan() => __pbn__IsNotRecordedDan != null; + public void ResetIsNotRecordedDan() => __pbn__IsNotRecordedDan = null; + private bool? __pbn__IsNotRecordedDan; + + [global::ProtoBuf.ProtoMember(30, Name = @"area_code", IsRequired = true)] + public uint AreaCode { get; set; } + + [global::ProtoBuf.ProtoMember(31, Name = @"reserved", IsRequired = true)] + public byte[] Reserved { get; set; } + + [global::ProtoBuf.ProtoMember(32, Name = @"tournament_mode")] + public uint TournamentMode + { + get => __pbn__TournamentMode.GetValueOrDefault(); + set => __pbn__TournamentMode = value; + } + public bool ShouldSerializeTournamentMode() => __pbn__TournamentMode != null; + public void ResetTournamentMode() => __pbn__TournamentMode = null; + private uint? __pbn__TournamentMode; + + [global::ProtoBuf.ProtoMember(33, Name = @"accesstoken")] + [global::System.ComponentModel.DefaultValue("")] + public string Accesstoken + { + get => __pbn__Accesstoken ?? ""; + set => __pbn__Accesstoken = value; + } + public bool ShouldSerializeAccesstoken() => __pbn__Accesstoken != null; + public void ResetAccesstoken() => __pbn__Accesstoken = null; + private string __pbn__Accesstoken; + + [global::ProtoBuf.ProtoMember(34, Name = @"content_info")] + public byte[] ContentInfo + { + get => __pbn__ContentInfo; + set => __pbn__ContentInfo = value; + } + public bool ShouldSerializeContentInfo() => __pbn__ContentInfo != null; + public void ResetContentInfo() => __pbn__ContentInfo = null; + private byte[] __pbn__ContentInfo; + + [global::ProtoBuf.ProtoMember(35, Name = @"difficulty_played_course")] + public uint DifficultyPlayedCourse + { + get => __pbn__DifficultyPlayedCourse.GetValueOrDefault(); + set => __pbn__DifficultyPlayedCourse = value; + } + public bool ShouldSerializeDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse != null; + public void ResetDifficultyPlayedCourse() => __pbn__DifficultyPlayedCourse = null; + private uint? __pbn__DifficultyPlayedCourse; + + [global::ProtoBuf.ProtoMember(36, Name = @"difficulty_played_star")] + public uint DifficultyPlayedStar + { + get => __pbn__DifficultyPlayedStar.GetValueOrDefault(); + set => __pbn__DifficultyPlayedStar = value; + } + public bool ShouldSerializeDifficultyPlayedStar() => __pbn__DifficultyPlayedStar != null; + public void ResetDifficultyPlayedStar() => __pbn__DifficultyPlayedStar = null; + private uint? __pbn__DifficultyPlayedStar; + + [global::ProtoBuf.ProtoMember(37, Name = @"difficulty_played_sort")] + public uint DifficultyPlayedSort + { + get => __pbn__DifficultyPlayedSort.GetValueOrDefault(); + set => __pbn__DifficultyPlayedSort = value; + } + public bool ShouldSerializeDifficultyPlayedSort() => __pbn__DifficultyPlayedSort != null; + public void ResetDifficultyPlayedSort() => __pbn__DifficultyPlayedSort = null; + private uint? __pbn__DifficultyPlayedSort; + + [global::ProtoBuf.ProtoMember(38, Name = @"is_random_use_play")] + public uint IsRandomUsePlay + { + get => __pbn__IsRandomUsePlay.GetValueOrDefault(); + set => __pbn__IsRandomUsePlay = value; + } + public bool ShouldSerializeIsRandomUsePlay() => __pbn__IsRandomUsePlay != null; + public void ResetIsRandomUsePlay() => __pbn__IsRandomUsePlay = null; + private uint? __pbn__IsRandomUsePlay; + + [global::ProtoBuf.ProtoMember(39, Name = @"input_median")] + [global::System.ComponentModel.DefaultValue("")] + public string InputMedian + { + get => __pbn__InputMedian ?? ""; + set => __pbn__InputMedian = value; + } + public bool ShouldSerializeInputMedian() => __pbn__InputMedian != null; + public void ResetInputMedian() => __pbn__InputMedian = null; + private string __pbn__InputMedian; + + [global::ProtoBuf.ProtoMember(40, Name = @"input_variance")] + [global::System.ComponentModel.DefaultValue("")] + public string InputVariance + { + get => __pbn__InputVariance ?? ""; + set => __pbn__InputVariance = value; + } + public bool ShouldSerializeInputVariance() => __pbn__InputVariance != null; + public void ResetInputVariance() => __pbn__InputVariance = null; + private string __pbn__InputVariance; + + [global::ProtoBuf.ProtoContract()] + public partial class StageData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"stage_mode", IsRequired = true)] + public uint StageMode { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"play_result", IsRequired = true)] + public uint PlayResult { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"play_score", IsRequired = true)] + public uint PlayScore { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"score_rate", IsRequired = true)] + public uint ScoreRate { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"score_rank", IsRequired = true)] + public uint ScoreRank { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"combo_cnt", IsRequired = true)] + public uint ComboCnt { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"hit_cnt")] + public uint HitCnt + { + get => __pbn__HitCnt.GetValueOrDefault(); + set => __pbn__HitCnt = value; + } + public bool ShouldSerializeHitCnt() => __pbn__HitCnt != null; + public void ResetHitCnt() => __pbn__HitCnt = null; + private uint? __pbn__HitCnt; + + [global::ProtoBuf.ProtoMember(14, Name = @"option_flg", IsRequired = true)] + public byte[] OptionFlg { get; set; } + + [global::ProtoBuf.ProtoMember(15, Name = @"tone_flg", IsRequired = true)] + public byte[] ToneFlg { get; set; } + + [global::ProtoBuf.ProtoMember(16, Name = @"notes_position", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int NotesPosition { get; set; } + + [global::ProtoBuf.ProtoMember(17, Name = @"is_voice_on", IsRequired = true)] + public bool IsVoiceOn { get; set; } + + [global::ProtoBuf.ProtoMember(18, Name = @"is_skip_on", IsRequired = true)] + public bool IsSkipOn { get; set; } + + [global::ProtoBuf.ProtoMember(19, Name = @"is_skip_use", IsRequired = true)] + public bool IsSkipUse { get; set; } + + [global::ProtoBuf.ProtoMember(20, Name = @"support_level", IsRequired = true)] + public uint SupportLevel { get; set; } + + [global::ProtoBuf.ProtoMember(21, Name = @"ary_challenge_id")] + public global::System.Collections.Generic.List AryChallengeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(22, Name = @"ary_user_compe_id")] + public global::System.Collections.Generic.List AryUserCompeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(23, Name = @"ary_bng_compe_id")] + public global::System.Collections.Generic.List AryBngCompeIds { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(24, Name = @"music_categ", IsRequired = true)] + public uint MusicCateg { get; set; } + + [global::ProtoBuf.ProtoMember(25, Name = @"is_favorite", IsRequired = true)] + public bool IsFavorite { get; set; } + + [global::ProtoBuf.ProtoMember(26, Name = @"is_recent", IsRequired = true)] + public bool IsRecent { get; set; } + + [global::ProtoBuf.ProtoMember(27, Name = @"selected_folder_id", IsRequired = true)] + public uint SelectedFolderId { get; set; } + + [global::ProtoBuf.ProtoMember(28, Name = @"is_random_use_stage")] + public uint IsRandomUseStage + { + get => __pbn__IsRandomUseStage.GetValueOrDefault(); + set => __pbn__IsRandomUseStage = value; + } + public bool ShouldSerializeIsRandomUseStage() => __pbn__IsRandomUseStage != null; + public void ResetIsRandomUseStage() => __pbn__IsRandomUseStage = null; + private uint? __pbn__IsRandomUseStage; + + [global::ProtoBuf.ProtoMember(29, Name = @"is_papamama", IsRequired = true)] + public bool IsPapamama { get; set; } + + [global::ProtoBuf.ProtoMember(30, Name = @"star_level", IsRequired = true)] + public uint StarLevel { get; set; } + + [global::ProtoBuf.ProtoMember(31, Name = @"is_win")] + public bool IsWin + { + get => __pbn__IsWin.GetValueOrDefault(); + set => __pbn__IsWin = value; + } + public bool ShouldSerializeIsWin() => __pbn__IsWin != null; + public void ResetIsWin() => __pbn__IsWin = null; + private bool? __pbn__IsWin; + + [global::ProtoBuf.ProtoMember(32, Name = @"ary_section_data")] + public global::System.Collections.Generic.List ArySectionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class ResultcompeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"compe_id", IsRequired = true)] + public uint CompeId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"track_no", IsRequired = true)] + public uint TrackNo { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AiStageSectionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"is_win", IsRequired = true)] + public bool IsWin { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown", IsRequired = true)] + public uint Crown { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"score", IsRequired = true)] + public uint Score { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class CostumeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"costume_1")] + public uint Costume1 + { + get => __pbn__Costume1.GetValueOrDefault(); + set => __pbn__Costume1 = value; + } + public bool ShouldSerializeCostume1() => __pbn__Costume1 != null; + public void ResetCostume1() => __pbn__Costume1 = null; + private uint? __pbn__Costume1; + + [global::ProtoBuf.ProtoMember(2, Name = @"costume_2")] + public uint Costume2 + { + get => __pbn__Costume2.GetValueOrDefault(); + set => __pbn__Costume2 = value; + } + public bool ShouldSerializeCostume2() => __pbn__Costume2 != null; + public void ResetCostume2() => __pbn__Costume2 = null; + private uint? __pbn__Costume2; + + [global::ProtoBuf.ProtoMember(3, Name = @"costume_3")] + public uint Costume3 + { + get => __pbn__Costume3.GetValueOrDefault(); + set => __pbn__Costume3 = value; + } + public bool ShouldSerializeCostume3() => __pbn__Costume3 != null; + public void ResetCostume3() => __pbn__Costume3 = null; + private uint? __pbn__Costume3; + + [global::ProtoBuf.ProtoMember(4, Name = @"costume_4")] + public uint Costume4 + { + get => __pbn__Costume4.GetValueOrDefault(); + set => __pbn__Costume4 = value; + } + public bool ShouldSerializeCostume4() => __pbn__Costume4 != null; + public void ResetCostume4() => __pbn__Costume4 = null; + private uint? __pbn__Costume4; + + [global::ProtoBuf.ProtoMember(5, Name = @"costume_5")] + public uint Costume5 + { + get => __pbn__Costume5.GetValueOrDefault(); + set => __pbn__Costume5 = value; + } + public bool ShouldSerializeCostume5() => __pbn__Costume5 != null; + public void ResetCostume5() => __pbn__Costume5 = null; + private uint? __pbn__Costume5; + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SelfBestRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"level")] + public uint Level + { + get => __pbn__Level.GetValueOrDefault(); + set => __pbn__Level = value; + } + public bool ShouldSerializeLevel() => __pbn__Level != null; + public void ResetLevel() => __pbn__Level = null; + private uint? __pbn__Level; + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_song_no")] + public uint[] ArySongNoes { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SelfBestResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level")] + public uint Level + { + get => __pbn__Level.GetValueOrDefault(); + set => __pbn__Level = value; + } + public bool ShouldSerializeLevel() => __pbn__Level != null; + public void ResetLevel() => __pbn__Level = null; + private uint? __pbn__Level; + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_selfbest_score")] + public global::System.Collections.Generic.List ArySelfbestScores { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class SelfBestData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"self_best_score", IsRequired = true)] + public uint SelfBestScore { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"self_best_score_rate", IsRequired = true)] + public uint SelfBestScoreRate { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ura_best_score", IsRequired = true)] + public uint UraBestScore { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ura_best_score_rate", IsRequired = true)] + public uint UraBestScoreRate { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class CrownsDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class CrownsDataResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown_flg")] + public byte[] CrownFlg + { + get => __pbn__CrownFlg; + set => __pbn__CrownFlg = value; + } + public bool ShouldSerializeCrownFlg() => __pbn__CrownFlg != null; + public void ResetCrownFlg() => __pbn__CrownFlg = null; + private byte[] __pbn__CrownFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"dondaful_crown_flg")] + public byte[] DondafulCrownFlg + { + get => __pbn__DondafulCrownFlg; + set => __pbn__DondafulCrownFlg = value; + } + public bool ShouldSerializeDondafulCrownFlg() => __pbn__DondafulCrownFlg != null; + public void ResetDondafulCrownFlg() => __pbn__DondafulCrownFlg = null; + private byte[] __pbn__DondafulCrownFlg; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ChallengeCompeRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ChallengeCompeResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_challenge_stat")] + public global::System.Collections.Generic.List AryChallengeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_user_compe_stat")] + public global::System.Collections.Generic.List AryUserCompeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_bng_compe_stat")] + public global::System.Collections.Generic.List AryBngCompeStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class CompeData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"compe_id", IsRequired = true)] + public uint CompeId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_track_stat")] + public global::System.Collections.Generic.List AryTrackStats { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class TracksData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"option_flg", IsRequired = true)] + public byte[] OptionFlg { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"high_score", IsRequired = true)] + public uint HighScore { get; set; } + + } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetAiDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetAiDataResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"total_winnings")] + public uint TotalWinnings + { + get => __pbn__TotalWinnings.GetValueOrDefault(); + set => __pbn__TotalWinnings = value; + } + public bool ShouldSerializeTotalWinnings() => __pbn__TotalWinnings != null; + public void ResetTotalWinnings() => __pbn__TotalWinnings = null; + private uint? __pbn__TotalWinnings; + + [global::ProtoBuf.ProtoMember(3, Name = @"input_median")] + [global::System.ComponentModel.DefaultValue("")] + public string InputMedian + { + get => __pbn__InputMedian ?? ""; + set => __pbn__InputMedian = value; + } + public bool ShouldSerializeInputMedian() => __pbn__InputMedian != null; + public void ResetInputMedian() => __pbn__InputMedian = null; + private string __pbn__InputMedian; + + [global::ProtoBuf.ProtoMember(4, Name = @"input_variance")] + [global::System.ComponentModel.DefaultValue("")] + public string InputVariance + { + get => __pbn__InputVariance ?? ""; + set => __pbn__InputVariance = value; + } + public bool ShouldSerializeInputVariance() => __pbn__InputVariance != null; + public void ResetInputVariance() => __pbn__InputVariance = null; + private string __pbn__InputVariance; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetAiScoreRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"level", IsRequired = true)] + public uint Level { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetAiScoreResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_best_section_data")] + public global::System.Collections.Generic.List AryBestSectionDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class AiBestSectionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"section_no", IsRequired = true)] + public uint SectionIndex { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"crown")] + public uint Crown + { + get => __pbn__Crown.GetValueOrDefault(); + set => __pbn__Crown = value; + } + public bool ShouldSerializeCrown() => __pbn__Crown != null; + public void ResetCrown() => __pbn__Crown = null; + private uint? __pbn__Crown; + + [global::ProtoBuf.ProtoMember(3, Name = @"score")] + public uint Score + { + get => __pbn__Score.GetValueOrDefault(); + set => __pbn__Score = value; + } + public bool ShouldSerializeScore() => __pbn__Score != null; + public void ResetScore() => __pbn__Score = null; + private uint? __pbn__Score; + + [global::ProtoBuf.ProtoMember(4, Name = @"good_cnt", IsRequired = true)] + public uint GoodCount { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ok_cnt", IsRequired = true)] + public uint OkCount { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"ng_cnt", IsRequired = true)] + public uint MissCount { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"pound_cnt", IsRequired = true)] + public uint DrumrollCount { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetTokenCountRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetTokenCountResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_token_count_data")] + public global::System.Collections.Generic.List AryTokenCountDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class TokenCountData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int TokenCount { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AddTokenCountRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ary_add_token_count_data")] + public global::System.Collections.Generic.List AryAddTokenCountDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class AddTokenCountData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"add_token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag, IsRequired = true)] + public int AddTokenCount { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AddTokenCountResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SongPurchaseRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"song_no", IsRequired = true)] + public uint SongNo { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"token_id", IsRequired = true)] + public uint TokenId { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"price", IsRequired = true)] + public uint Price { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SongPurchaseResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"token_count", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int TokenCount + { + get => __pbn__TokenCount.GetValueOrDefault(); + set => __pbn__TokenCount = value; + } + public bool ShouldSerializeTokenCount() => __pbn__TokenCount != null; + public void ResetTokenCount() => __pbn__TokenCount = null; + private int? __pbn__TokenCount; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardcardcheckRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_type", IsRequired = true)] + public uint DeviceType { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"access_code", IsRequired = true)] + public string AccessCode { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"chip_id", IsRequired = true)] + public string ChipId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"country_id", IsRequired = true)] + public string CountryId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardcardcheckResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"baid")] + public uint Baid + { + get => __pbn__Baid.GetValueOrDefault(); + set => __pbn__Baid = value; + } + public bool ShouldSerializeBaid() => __pbn__Baid != null; + public void ResetBaid() => __pbn__Baid = null; + private uint? __pbn__Baid; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardexecutionRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardexecutionResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetDanScoreRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"type", IsRequired = true)] + public uint Type { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"dan_id")] + public uint[] DanIds { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetDanScoreResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_dan_score_data")] + public global::System.Collections.Generic.List AryDanScoreDatas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class DanScoreData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"dan_id", IsRequired = true)] + public uint DanId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"arrival_song_cnt", IsRequired = true)] + public uint ArrivalSongCnt { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"soul_gauge_total", IsRequired = true)] + public uint SoulGaugeTotal { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"combo_cnt_total", IsRequired = true)] + public uint ComboCntTotal { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ary_dan_score_data_stage")] + public global::System.Collections.Generic.List AryDanScoreDataStages { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class DanScoreDataStage : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"play_score", IsRequired = true)] + public uint PlayScore { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"good_cnt", IsRequired = true)] + public uint GoodCnt { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"ok_cnt", IsRequired = true)] + public uint OkCnt { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"ng_cnt", IsRequired = true)] + public uint NgCnt { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"pound_cnt", IsRequired = true)] + public uint PoundCnt { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"hit_cnt", IsRequired = true)] + public uint HitCnt { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"combo_cnt", IsRequired = true)] + public uint ComboCnt { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"high_score")] + public uint HighScore + { + get => __pbn__HighScore.GetValueOrDefault(); + set => __pbn__HighScore = value; + } + public bool ShouldSerializeHighScore() => __pbn__HighScore != null; + public void ResetHighScore() => __pbn__HighScore = null; + private uint? __pbn__HighScore; + + } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardItemRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"release_song_no")] + public uint[] ReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"ura_release_song_no")] + public uint[] UraReleaseSongNoes { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"get_tone_no")] + public uint[] GetToneNoes { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"get_costume_no_1")] + public uint[] GetCostumeNo1s { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"get_costume_no_2")] + public uint[] GetCostumeNo2s { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"get_costume_no_3")] + public uint[] GetCostumeNo3s { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"get_costume_no_4")] + public uint[] GetCostumeNo4s { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"get_costume_no_5")] + public uint[] GetCostumeNo5s { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"get_title_no")] + public uint[] GetTitleNoes { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RewardItemResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetScoreRankRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"baid", IsRequired = true)] + public uint Baid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetScoreRankResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"iki_score_rank_flg")] + public byte[] IkiScoreRankFlg + { + get => __pbn__IkiScoreRankFlg; + set => __pbn__IkiScoreRankFlg = value; + } + public bool ShouldSerializeIkiScoreRankFlg() => __pbn__IkiScoreRankFlg != null; + public void ResetIkiScoreRankFlg() => __pbn__IkiScoreRankFlg = null; + private byte[] __pbn__IkiScoreRankFlg; + + [global::ProtoBuf.ProtoMember(3, Name = @"miyabi_score_rank_flg")] + public byte[] MiyabiScoreRankFlg + { + get => __pbn__MiyabiScoreRankFlg; + set => __pbn__MiyabiScoreRankFlg = value; + } + public bool ShouldSerializeMiyabiScoreRankFlg() => __pbn__MiyabiScoreRankFlg != null; + public void ResetMiyabiScoreRankFlg() => __pbn__MiyabiScoreRankFlg = null; + private byte[] __pbn__MiyabiScoreRankFlg; + + [global::ProtoBuf.ProtoMember(4, Name = @"kiwami_score_rank_flg")] + public byte[] KiwamiScoreRankFlg + { + get => __pbn__KiwamiScoreRankFlg; + set => __pbn__KiwamiScoreRankFlg = value; + } + public bool ShouldSerializeKiwamiScoreRankFlg() => __pbn__KiwamiScoreRankFlg != null; + public void ResetKiwamiScoreRankFlg() => __pbn__KiwamiScoreRankFlg = null; + private byte[] __pbn__KiwamiScoreRankFlg; + + } +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/VsInterface.cs b/Server/Models/3906/VsInterface.cs new file mode 100644 index 0000000..bdda2c9 --- /dev/null +++ b/Server/Models/3906/VsInterface.cs @@ -0,0 +1,257 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: my.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace taiko.vsinterface +{ + [global::ProtoBuf.ProtoContract()] + public partial class StartupAuthRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"usbmem_key")] + [global::System.ComponentModel.DefaultValue("")] + public string UsbmemKey + { + get => __pbn__UsbmemKey ?? ""; + set => __pbn__UsbmemKey = value; + } + public bool ShouldSerializeUsbmemKey() => __pbn__UsbmemKey != null; + public void ResetUsbmemKey() => __pbn__UsbmemKey = null; + private string __pbn__UsbmemKey; + + [global::ProtoBuf.ProtoMember(3, Name = @"hdd_ver", IsRequired = true)] + public uint HddVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_ver")] + public uint UsbmemVer + { + get => __pbn__UsbmemVer.GetValueOrDefault(); + set => __pbn__UsbmemVer = value; + } + public bool ShouldSerializeUsbmemVer() => __pbn__UsbmemVer != null; + public void ResetUsbmemVer() => __pbn__UsbmemVer = null; + private uint? __pbn__UsbmemVer; + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"rack_id")] + [global::System.ComponentModel.DefaultValue("")] + public string RackId + { + get => __pbn__RackId ?? ""; + set => __pbn__RackId = value; + } + public bool ShouldSerializeRackId() => __pbn__RackId != null; + public void ResetRackId() => __pbn__RackId = null; + private string __pbn__RackId; + + [global::ProtoBuf.ProtoMember(7, Name = @"country_id")] + [global::System.ComponentModel.DefaultValue("")] + public string CountryId + { + get => __pbn__CountryId ?? ""; + set => __pbn__CountryId = value; + } + public bool ShouldSerializeCountryId() => __pbn__CountryId != null; + public void ResetCountryId() => __pbn__CountryId = null; + private string __pbn__CountryId; + + [global::ProtoBuf.ProtoMember(8, Name = @"ary_operation_info")] + public global::System.Collections.Generic.List AryOperationInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class OperationData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"key_data", IsRequired = true)] + public uint KeyData { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"value_data", IsRequired = true)] + public byte[] ValueData { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class StartupAuthResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"ary_movie_info")] + public global::System.Collections.Generic.List AryMovieInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"ary_operation_info")] + public global::System.Collections.Generic.List AryOperationInfoes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class MovieData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"movie_id", IsRequired = true)] + public uint MovieId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"enable_days", IsRequired = true)] + public uint EnableDays { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class OperationData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"key_data", IsRequired = true)] + public uint KeyData { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"value_data", IsRequired = true)] + public byte[] ValueData { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupAuthRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"usbmem_key", IsRequired = true)] + public string UsbmemKey { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"hdd_ver", IsRequired = true)] + public uint HddVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_ver", IsRequired = true)] + public uint UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"rack_id")] + [global::System.ComponentModel.DefaultValue("")] + public string RackId + { + get => __pbn__RackId ?? ""; + set => __pbn__RackId = value; + } + public bool ShouldSerializeRackId() => __pbn__RackId != null; + public void ResetRackId() => __pbn__RackId = null; + private string __pbn__RackId; + + [global::ProtoBuf.ProtoMember(7, Name = @"country_id")] + [global::System.ComponentModel.DefaultValue("")] + public string CountryId + { + get => __pbn__CountryId ?? ""; + set => __pbn__CountryId = value; + } + public bool ShouldSerializeCountryId() => __pbn__CountryId != null; + public void ResetCountryId() => __pbn__CountryId = null; + private string __pbn__CountryId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupAuthResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupCompleteRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"chassis_id", IsRequired = true)] + public string ChassisId { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"usbmem_key", IsRequired = true)] + public string UsbmemKey { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"hdd_ver", IsRequired = true)] + public uint HddVer { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"usbmem_ver", IsRequired = true)] + public uint UsbmemVer { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"shop_id", IsRequired = true)] + public string ShopId { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"rack_id")] + [global::System.ComponentModel.DefaultValue("")] + public string RackId + { + get => __pbn__RackId ?? ""; + set => __pbn__RackId = value; + } + public bool ShouldSerializeRackId() => __pbn__RackId != null; + public void ResetRackId() => __pbn__RackId = null; + private string __pbn__RackId; + + [global::ProtoBuf.ProtoMember(7, Name = @"country_id")] + [global::System.ComponentModel.DefaultValue("")] + public string CountryId + { + get => __pbn__CountryId ?? ""; + set => __pbn__CountryId = value; + } + public bool ShouldSerializeCountryId() => __pbn__CountryId != null; + public void ResetCountryId() => __pbn__CountryId = null; + private string __pbn__CountryId; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class VerupCompleteResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"result", IsRequired = true)] + public uint Result { get; set; } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/any.cs b/Server/Models/3906/any.cs new file mode 100644 index 0000000..a68099a --- /dev/null +++ b/Server/Models/3906/any.cs @@ -0,0 +1,31 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: any.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Google.Protobuf.WellKnownTypes +{ + + [global::ProtoBuf.ProtoContract()] + public partial class Any : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"type_url")] + [global::System.ComponentModel.DefaultValue("")] + public string TypeUrl { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"value")] + public byte[] Value { get; set; } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/date.cs b/Server/Models/3906/date.cs new file mode 100644 index 0000000..2b60950 --- /dev/null +++ b/Server/Models/3906/date.cs @@ -0,0 +1,33 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: date.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace google.type +{ + + [global::ProtoBuf.ProtoContract()] + public partial class Date : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"year")] + public int Year { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"month")] + public int Month { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"day")] + public int Day { get; set; } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/descriptor.cs b/Server/Models/3906/descriptor.cs new file mode 100644 index 0000000..0e6eef1 --- /dev/null +++ b/Server/Models/3906/descriptor.cs @@ -0,0 +1,1326 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: descriptor.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Google.Protobuf.Reflection +{ + + [global::ProtoBuf.ProtoContract()] + public partial class FileDescriptorSet : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"file")] + public global::System.Collections.Generic.List Files { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class FileDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"package")] + [global::System.ComponentModel.DefaultValue("")] + public string Package + { + get => __pbn__Package ?? ""; + set => __pbn__Package = value; + } + public bool ShouldSerializePackage() => __pbn__Package != null; + public void ResetPackage() => __pbn__Package = null; + private string __pbn__Package; + + [global::ProtoBuf.ProtoMember(3, Name = @"dependency")] + public global::System.Collections.Generic.List Dependencies { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"public_dependency")] + public int[] PublicDependencies { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"weak_dependency")] + public int[] WeakDependencies { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"message_type")] + public global::System.Collections.Generic.List MessageTypes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"enum_type")] + public global::System.Collections.Generic.List EnumTypes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(6, Name = @"service")] + public global::System.Collections.Generic.List Services { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"extension")] + public global::System.Collections.Generic.List Extensions { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"options")] + public FileOptions Options { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"source_code_info")] + public SourceCodeInfo SourceCodeInfo { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"syntax")] + [global::System.ComponentModel.DefaultValue("")] + public string Syntax + { + get => __pbn__Syntax ?? ""; + set => __pbn__Syntax = value; + } + public bool ShouldSerializeSyntax() => __pbn__Syntax != null; + public void ResetSyntax() => __pbn__Syntax = null; + private string __pbn__Syntax; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class DescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"field")] + public global::System.Collections.Generic.List Fields { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(6, Name = @"extension")] + public global::System.Collections.Generic.List Extensions { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"nested_type")] + public global::System.Collections.Generic.List NestedTypes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(4, Name = @"enum_type")] + public global::System.Collections.Generic.List EnumTypes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"extension_range")] + public global::System.Collections.Generic.List ExtensionRanges { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(8, Name = @"oneof_decl")] + public global::System.Collections.Generic.List OneofDecls { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(7, Name = @"options")] + public MessageOptions Options { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"reserved_range")] + public global::System.Collections.Generic.List ReservedRanges { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(10, Name = @"reserved_name")] + public global::System.Collections.Generic.List ReservedNames { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class ExtensionRange : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start")] + public int Start + { + get => __pbn__Start.GetValueOrDefault(); + set => __pbn__Start = value; + } + public bool ShouldSerializeStart() => __pbn__Start != null; + public void ResetStart() => __pbn__Start = null; + private int? __pbn__Start; + + [global::ProtoBuf.ProtoMember(2, Name = @"end")] + public int End + { + get => __pbn__End.GetValueOrDefault(); + set => __pbn__End = value; + } + public bool ShouldSerializeEnd() => __pbn__End != null; + public void ResetEnd() => __pbn__End = null; + private int? __pbn__End; + + [global::ProtoBuf.ProtoMember(3, Name = @"options")] + public ExtensionRangeOptions Options { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ReservedRange : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start")] + public int Start + { + get => __pbn__Start.GetValueOrDefault(); + set => __pbn__Start = value; + } + public bool ShouldSerializeStart() => __pbn__Start != null; + public void ResetStart() => __pbn__Start = null; + private int? __pbn__Start; + + [global::ProtoBuf.ProtoMember(2, Name = @"end")] + public int End + { + get => __pbn__End.GetValueOrDefault(); + set => __pbn__End = value; + } + public bool ShouldSerializeEnd() => __pbn__End != null; + public void ResetEnd() => __pbn__End = null; + private int? __pbn__End; + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ExtensionRangeOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class FieldDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(3, Name = @"number")] + public int Number + { + get => __pbn__Number.GetValueOrDefault(); + set => __pbn__Number = value; + } + public bool ShouldSerializeNumber() => __pbn__Number != null; + public void ResetNumber() => __pbn__Number = null; + private int? __pbn__Number; + + [global::ProtoBuf.ProtoMember(4)] + [global::System.ComponentModel.DefaultValue(Label.LabelOptional)] + public Label label + { + get => __pbn__label ?? Label.LabelOptional; + set => __pbn__label = value; + } + public bool ShouldSerializelabel() => __pbn__label != null; + public void Resetlabel() => __pbn__label = null; + private Label? __pbn__label; + + [global::ProtoBuf.ProtoMember(5)] + [global::System.ComponentModel.DefaultValue(Type.TypeDouble)] + public Type type + { + get => __pbn__type ?? Type.TypeDouble; + set => __pbn__type = value; + } + public bool ShouldSerializetype() => __pbn__type != null; + public void Resettype() => __pbn__type = null; + private Type? __pbn__type; + + [global::ProtoBuf.ProtoMember(6, Name = @"type_name")] + [global::System.ComponentModel.DefaultValue("")] + public string TypeName + { + get => __pbn__TypeName ?? ""; + set => __pbn__TypeName = value; + } + public bool ShouldSerializeTypeName() => __pbn__TypeName != null; + public void ResetTypeName() => __pbn__TypeName = null; + private string __pbn__TypeName; + + [global::ProtoBuf.ProtoMember(2, Name = @"extendee")] + [global::System.ComponentModel.DefaultValue("")] + public string Extendee + { + get => __pbn__Extendee ?? ""; + set => __pbn__Extendee = value; + } + public bool ShouldSerializeExtendee() => __pbn__Extendee != null; + public void ResetExtendee() => __pbn__Extendee = null; + private string __pbn__Extendee; + + [global::ProtoBuf.ProtoMember(7, Name = @"default_value")] + [global::System.ComponentModel.DefaultValue("")] + public string DefaultValue + { + get => __pbn__DefaultValue ?? ""; + set => __pbn__DefaultValue = value; + } + public bool ShouldSerializeDefaultValue() => __pbn__DefaultValue != null; + public void ResetDefaultValue() => __pbn__DefaultValue = null; + private string __pbn__DefaultValue; + + [global::ProtoBuf.ProtoMember(9, Name = @"oneof_index")] + public int OneofIndex + { + get => __pbn__OneofIndex.GetValueOrDefault(); + set => __pbn__OneofIndex = value; + } + public bool ShouldSerializeOneofIndex() => __pbn__OneofIndex != null; + public void ResetOneofIndex() => __pbn__OneofIndex = null; + private int? __pbn__OneofIndex; + + [global::ProtoBuf.ProtoMember(10, Name = @"json_name")] + [global::System.ComponentModel.DefaultValue("")] + public string JsonName + { + get => __pbn__JsonName ?? ""; + set => __pbn__JsonName = value; + } + public bool ShouldSerializeJsonName() => __pbn__JsonName != null; + public void ResetJsonName() => __pbn__JsonName = null; + private string __pbn__JsonName; + + [global::ProtoBuf.ProtoMember(8, Name = @"options")] + public FieldOptions Options { get; set; } + + [global::ProtoBuf.ProtoMember(17, Name = @"proto3_optional")] + public bool Proto3Optional + { + get => __pbn__Proto3Optional.GetValueOrDefault(); + set => __pbn__Proto3Optional = value; + } + public bool ShouldSerializeProto3Optional() => __pbn__Proto3Optional != null; + public void ResetProto3Optional() => __pbn__Proto3Optional = null; + private bool? __pbn__Proto3Optional; + + [global::ProtoBuf.ProtoContract()] + public enum Label + { + [global::ProtoBuf.ProtoEnum(Name = @"LABEL_OPTIONAL")] + LabelOptional = 1, + [global::ProtoBuf.ProtoEnum(Name = @"LABEL_REQUIRED")] + LabelRequired = 2, + [global::ProtoBuf.ProtoEnum(Name = @"LABEL_REPEATED")] + LabelRepeated = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum Type + { + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_DOUBLE")] + TypeDouble = 1, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_FLOAT")] + TypeFloat = 2, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_INT64")] + TypeInt64 = 3, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_UINT64")] + TypeUint64 = 4, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_INT32")] + TypeInt32 = 5, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_FIXED64")] + TypeFixed64 = 6, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_FIXED32")] + TypeFixed32 = 7, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_BOOL")] + TypeBool = 8, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_STRING")] + TypeString = 9, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_GROUP")] + TypeGroup = 10, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_MESSAGE")] + TypeMessage = 11, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_BYTES")] + TypeBytes = 12, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_UINT32")] + TypeUint32 = 13, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_ENUM")] + TypeEnum = 14, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_SFIXED32")] + TypeSfixed32 = 15, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_SFIXED64")] + TypeSfixed64 = 16, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_SINT32")] + TypeSint32 = 17, + [global::ProtoBuf.ProtoEnum(Name = @"TYPE_SINT64")] + TypeSint64 = 18, + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class OneofDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"options")] + public OneofOptions Options { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class EnumDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"value")] + public global::System.Collections.Generic.List Values { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"options")] + public EnumOptions Options { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"reserved_range")] + public global::System.Collections.Generic.List ReservedRanges { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"reserved_name")] + public global::System.Collections.Generic.List ReservedNames { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class EnumReservedRange : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start")] + public int Start + { + get => __pbn__Start.GetValueOrDefault(); + set => __pbn__Start = value; + } + public bool ShouldSerializeStart() => __pbn__Start != null; + public void ResetStart() => __pbn__Start = null; + private int? __pbn__Start; + + [global::ProtoBuf.ProtoMember(2, Name = @"end")] + public int End + { + get => __pbn__End.GetValueOrDefault(); + set => __pbn__End = value; + } + public bool ShouldSerializeEnd() => __pbn__End != null; + public void ResetEnd() => __pbn__End = null; + private int? __pbn__End; + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class EnumValueDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"number")] + public int Number + { + get => __pbn__Number.GetValueOrDefault(); + set => __pbn__Number = value; + } + public bool ShouldSerializeNumber() => __pbn__Number != null; + public void ResetNumber() => __pbn__Number = null; + private int? __pbn__Number; + + [global::ProtoBuf.ProtoMember(3, Name = @"options")] + public EnumValueOptions Options { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ServiceDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"method")] + public global::System.Collections.Generic.List Methods { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"options")] + public ServiceOptions Options { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MethodDescriptorProto : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"name")] + [global::System.ComponentModel.DefaultValue("")] + public string Name + { + get => __pbn__Name ?? ""; + set => __pbn__Name = value; + } + public bool ShouldSerializeName() => __pbn__Name != null; + public void ResetName() => __pbn__Name = null; + private string __pbn__Name; + + [global::ProtoBuf.ProtoMember(2, Name = @"input_type")] + [global::System.ComponentModel.DefaultValue("")] + public string InputType + { + get => __pbn__InputType ?? ""; + set => __pbn__InputType = value; + } + public bool ShouldSerializeInputType() => __pbn__InputType != null; + public void ResetInputType() => __pbn__InputType = null; + private string __pbn__InputType; + + [global::ProtoBuf.ProtoMember(3, Name = @"output_type")] + [global::System.ComponentModel.DefaultValue("")] + public string OutputType + { + get => __pbn__OutputType ?? ""; + set => __pbn__OutputType = value; + } + public bool ShouldSerializeOutputType() => __pbn__OutputType != null; + public void ResetOutputType() => __pbn__OutputType = null; + private string __pbn__OutputType; + + [global::ProtoBuf.ProtoMember(4, Name = @"options")] + public MethodOptions Options { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"client_streaming")] + [global::System.ComponentModel.DefaultValue(false)] + public bool ClientStreaming + { + get => __pbn__ClientStreaming ?? false; + set => __pbn__ClientStreaming = value; + } + public bool ShouldSerializeClientStreaming() => __pbn__ClientStreaming != null; + public void ResetClientStreaming() => __pbn__ClientStreaming = null; + private bool? __pbn__ClientStreaming; + + [global::ProtoBuf.ProtoMember(6, Name = @"server_streaming")] + [global::System.ComponentModel.DefaultValue(false)] + public bool ServerStreaming + { + get => __pbn__ServerStreaming ?? false; + set => __pbn__ServerStreaming = value; + } + public bool ShouldSerializeServerStreaming() => __pbn__ServerStreaming != null; + public void ResetServerStreaming() => __pbn__ServerStreaming = null; + private bool? __pbn__ServerStreaming; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class FileOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"java_package")] + [global::System.ComponentModel.DefaultValue("")] + public string JavaPackage + { + get => __pbn__JavaPackage ?? ""; + set => __pbn__JavaPackage = value; + } + public bool ShouldSerializeJavaPackage() => __pbn__JavaPackage != null; + public void ResetJavaPackage() => __pbn__JavaPackage = null; + private string __pbn__JavaPackage; + + [global::ProtoBuf.ProtoMember(8, Name = @"java_outer_classname")] + [global::System.ComponentModel.DefaultValue("")] + public string JavaOuterClassname + { + get => __pbn__JavaOuterClassname ?? ""; + set => __pbn__JavaOuterClassname = value; + } + public bool ShouldSerializeJavaOuterClassname() => __pbn__JavaOuterClassname != null; + public void ResetJavaOuterClassname() => __pbn__JavaOuterClassname = null; + private string __pbn__JavaOuterClassname; + + [global::ProtoBuf.ProtoMember(10, Name = @"java_multiple_files")] + [global::System.ComponentModel.DefaultValue(false)] + public bool JavaMultipleFiles + { + get => __pbn__JavaMultipleFiles ?? false; + set => __pbn__JavaMultipleFiles = value; + } + public bool ShouldSerializeJavaMultipleFiles() => __pbn__JavaMultipleFiles != null; + public void ResetJavaMultipleFiles() => __pbn__JavaMultipleFiles = null; + private bool? __pbn__JavaMultipleFiles; + + [global::ProtoBuf.ProtoMember(20, Name = @"java_generate_equals_and_hash")] + [global::System.Obsolete] + public bool JavaGenerateEqualsAndHash + { + get => __pbn__JavaGenerateEqualsAndHash.GetValueOrDefault(); + set => __pbn__JavaGenerateEqualsAndHash = value; + } + public bool ShouldSerializeJavaGenerateEqualsAndHash() => __pbn__JavaGenerateEqualsAndHash != null; + public void ResetJavaGenerateEqualsAndHash() => __pbn__JavaGenerateEqualsAndHash = null; + private bool? __pbn__JavaGenerateEqualsAndHash; + + [global::ProtoBuf.ProtoMember(27, Name = @"java_string_check_utf8")] + [global::System.ComponentModel.DefaultValue(false)] + public bool JavaStringCheckUtf8 + { + get => __pbn__JavaStringCheckUtf8 ?? false; + set => __pbn__JavaStringCheckUtf8 = value; + } + public bool ShouldSerializeJavaStringCheckUtf8() => __pbn__JavaStringCheckUtf8 != null; + public void ResetJavaStringCheckUtf8() => __pbn__JavaStringCheckUtf8 = null; + private bool? __pbn__JavaStringCheckUtf8; + + [global::ProtoBuf.ProtoMember(9, Name = @"optimize_for")] + [global::System.ComponentModel.DefaultValue(OptimizeMode.Speed)] + public OptimizeMode OptimizeFor + { + get => __pbn__OptimizeFor ?? OptimizeMode.Speed; + set => __pbn__OptimizeFor = value; + } + public bool ShouldSerializeOptimizeFor() => __pbn__OptimizeFor != null; + public void ResetOptimizeFor() => __pbn__OptimizeFor = null; + private OptimizeMode? __pbn__OptimizeFor; + + [global::ProtoBuf.ProtoMember(11, Name = @"go_package")] + [global::System.ComponentModel.DefaultValue("")] + public string GoPackage + { + get => __pbn__GoPackage ?? ""; + set => __pbn__GoPackage = value; + } + public bool ShouldSerializeGoPackage() => __pbn__GoPackage != null; + public void ResetGoPackage() => __pbn__GoPackage = null; + private string __pbn__GoPackage; + + [global::ProtoBuf.ProtoMember(16, Name = @"cc_generic_services")] + [global::System.ComponentModel.DefaultValue(false)] + public bool CcGenericServices + { + get => __pbn__CcGenericServices ?? false; + set => __pbn__CcGenericServices = value; + } + public bool ShouldSerializeCcGenericServices() => __pbn__CcGenericServices != null; + public void ResetCcGenericServices() => __pbn__CcGenericServices = null; + private bool? __pbn__CcGenericServices; + + [global::ProtoBuf.ProtoMember(17, Name = @"java_generic_services")] + [global::System.ComponentModel.DefaultValue(false)] + public bool JavaGenericServices + { + get => __pbn__JavaGenericServices ?? false; + set => __pbn__JavaGenericServices = value; + } + public bool ShouldSerializeJavaGenericServices() => __pbn__JavaGenericServices != null; + public void ResetJavaGenericServices() => __pbn__JavaGenericServices = null; + private bool? __pbn__JavaGenericServices; + + [global::ProtoBuf.ProtoMember(18, Name = @"py_generic_services")] + [global::System.ComponentModel.DefaultValue(false)] + public bool PyGenericServices + { + get => __pbn__PyGenericServices ?? false; + set => __pbn__PyGenericServices = value; + } + public bool ShouldSerializePyGenericServices() => __pbn__PyGenericServices != null; + public void ResetPyGenericServices() => __pbn__PyGenericServices = null; + private bool? __pbn__PyGenericServices; + + [global::ProtoBuf.ProtoMember(42, Name = @"php_generic_services")] + [global::System.ComponentModel.DefaultValue(false)] + public bool PhpGenericServices + { + get => __pbn__PhpGenericServices ?? false; + set => __pbn__PhpGenericServices = value; + } + public bool ShouldSerializePhpGenericServices() => __pbn__PhpGenericServices != null; + public void ResetPhpGenericServices() => __pbn__PhpGenericServices = null; + private bool? __pbn__PhpGenericServices; + + [global::ProtoBuf.ProtoMember(23, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(31, Name = @"cc_enable_arenas")] + [global::System.ComponentModel.DefaultValue(true)] + public bool CcEnableArenas + { + get => __pbn__CcEnableArenas ?? true; + set => __pbn__CcEnableArenas = value; + } + public bool ShouldSerializeCcEnableArenas() => __pbn__CcEnableArenas != null; + public void ResetCcEnableArenas() => __pbn__CcEnableArenas = null; + private bool? __pbn__CcEnableArenas; + + [global::ProtoBuf.ProtoMember(36, Name = @"objc_class_prefix")] + [global::System.ComponentModel.DefaultValue("")] + public string ObjcClassPrefix + { + get => __pbn__ObjcClassPrefix ?? ""; + set => __pbn__ObjcClassPrefix = value; + } + public bool ShouldSerializeObjcClassPrefix() => __pbn__ObjcClassPrefix != null; + public void ResetObjcClassPrefix() => __pbn__ObjcClassPrefix = null; + private string __pbn__ObjcClassPrefix; + + [global::ProtoBuf.ProtoMember(37, Name = @"csharp_namespace")] + [global::System.ComponentModel.DefaultValue("")] + public string CsharpNamespace + { + get => __pbn__CsharpNamespace ?? ""; + set => __pbn__CsharpNamespace = value; + } + public bool ShouldSerializeCsharpNamespace() => __pbn__CsharpNamespace != null; + public void ResetCsharpNamespace() => __pbn__CsharpNamespace = null; + private string __pbn__CsharpNamespace; + + [global::ProtoBuf.ProtoMember(39, Name = @"swift_prefix")] + [global::System.ComponentModel.DefaultValue("")] + public string SwiftPrefix + { + get => __pbn__SwiftPrefix ?? ""; + set => __pbn__SwiftPrefix = value; + } + public bool ShouldSerializeSwiftPrefix() => __pbn__SwiftPrefix != null; + public void ResetSwiftPrefix() => __pbn__SwiftPrefix = null; + private string __pbn__SwiftPrefix; + + [global::ProtoBuf.ProtoMember(40, Name = @"php_class_prefix")] + [global::System.ComponentModel.DefaultValue("")] + public string PhpClassPrefix + { + get => __pbn__PhpClassPrefix ?? ""; + set => __pbn__PhpClassPrefix = value; + } + public bool ShouldSerializePhpClassPrefix() => __pbn__PhpClassPrefix != null; + public void ResetPhpClassPrefix() => __pbn__PhpClassPrefix = null; + private string __pbn__PhpClassPrefix; + + [global::ProtoBuf.ProtoMember(41, Name = @"php_namespace")] + [global::System.ComponentModel.DefaultValue("")] + public string PhpNamespace + { + get => __pbn__PhpNamespace ?? ""; + set => __pbn__PhpNamespace = value; + } + public bool ShouldSerializePhpNamespace() => __pbn__PhpNamespace != null; + public void ResetPhpNamespace() => __pbn__PhpNamespace = null; + private string __pbn__PhpNamespace; + + [global::ProtoBuf.ProtoMember(44, Name = @"php_metadata_namespace")] + [global::System.ComponentModel.DefaultValue("")] + public string PhpMetadataNamespace + { + get => __pbn__PhpMetadataNamespace ?? ""; + set => __pbn__PhpMetadataNamespace = value; + } + public bool ShouldSerializePhpMetadataNamespace() => __pbn__PhpMetadataNamespace != null; + public void ResetPhpMetadataNamespace() => __pbn__PhpMetadataNamespace = null; + private string __pbn__PhpMetadataNamespace; + + [global::ProtoBuf.ProtoMember(45, Name = @"ruby_package")] + [global::System.ComponentModel.DefaultValue("")] + public string RubyPackage + { + get => __pbn__RubyPackage ?? ""; + set => __pbn__RubyPackage = value; + } + public bool ShouldSerializeRubyPackage() => __pbn__RubyPackage != null; + public void ResetRubyPackage() => __pbn__RubyPackage = null; + private string __pbn__RubyPackage; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public enum OptimizeMode + { + [global::ProtoBuf.ProtoEnum(Name = @"SPEED")] + Speed = 1, + [global::ProtoBuf.ProtoEnum(Name = @"CODE_SIZE")] + CodeSize = 2, + [global::ProtoBuf.ProtoEnum(Name = @"LITE_RUNTIME")] + LiteRuntime = 3, + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MessageOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"message_set_wire_format")] + [global::System.ComponentModel.DefaultValue(false)] + public bool MessageSetWireFormat + { + get => __pbn__MessageSetWireFormat ?? false; + set => __pbn__MessageSetWireFormat = value; + } + public bool ShouldSerializeMessageSetWireFormat() => __pbn__MessageSetWireFormat != null; + public void ResetMessageSetWireFormat() => __pbn__MessageSetWireFormat = null; + private bool? __pbn__MessageSetWireFormat; + + [global::ProtoBuf.ProtoMember(2, Name = @"no_standard_descriptor_accessor")] + [global::System.ComponentModel.DefaultValue(false)] + public bool NoStandardDescriptorAccessor + { + get => __pbn__NoStandardDescriptorAccessor ?? false; + set => __pbn__NoStandardDescriptorAccessor = value; + } + public bool ShouldSerializeNoStandardDescriptorAccessor() => __pbn__NoStandardDescriptorAccessor != null; + public void ResetNoStandardDescriptorAccessor() => __pbn__NoStandardDescriptorAccessor = null; + private bool? __pbn__NoStandardDescriptorAccessor; + + [global::ProtoBuf.ProtoMember(3, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(7, Name = @"map_entry")] + public bool MapEntry + { + get => __pbn__MapEntry.GetValueOrDefault(); + set => __pbn__MapEntry = value; + } + public bool ShouldSerializeMapEntry() => __pbn__MapEntry != null; + public void ResetMapEntry() => __pbn__MapEntry = null; + private bool? __pbn__MapEntry; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class FieldOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"ctype")] + [global::System.ComponentModel.DefaultValue(CType.String)] + public CType Ctype + { + get => __pbn__Ctype ?? CType.String; + set => __pbn__Ctype = value; + } + public bool ShouldSerializeCtype() => __pbn__Ctype != null; + public void ResetCtype() => __pbn__Ctype = null; + private CType? __pbn__Ctype; + + [global::ProtoBuf.ProtoMember(2, Name = @"packed")] + public bool Packed + { + get => __pbn__Packed.GetValueOrDefault(); + set => __pbn__Packed = value; + } + public bool ShouldSerializePacked() => __pbn__Packed != null; + public void ResetPacked() => __pbn__Packed = null; + private bool? __pbn__Packed; + + [global::ProtoBuf.ProtoMember(6, Name = @"jstype")] + [global::System.ComponentModel.DefaultValue(JSType.JsNormal)] + public JSType Jstype + { + get => __pbn__Jstype ?? JSType.JsNormal; + set => __pbn__Jstype = value; + } + public bool ShouldSerializeJstype() => __pbn__Jstype != null; + public void ResetJstype() => __pbn__Jstype = null; + private JSType? __pbn__Jstype; + + [global::ProtoBuf.ProtoMember(5, Name = @"lazy")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Lazy + { + get => __pbn__Lazy ?? false; + set => __pbn__Lazy = value; + } + public bool ShouldSerializeLazy() => __pbn__Lazy != null; + public void ResetLazy() => __pbn__Lazy = null; + private bool? __pbn__Lazy; + + [global::ProtoBuf.ProtoMember(3, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(10, Name = @"weak")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Weak + { + get => __pbn__Weak ?? false; + set => __pbn__Weak = value; + } + public bool ShouldSerializeWeak() => __pbn__Weak != null; + public void ResetWeak() => __pbn__Weak = null; + private bool? __pbn__Weak; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public enum CType + { + [global::ProtoBuf.ProtoEnum(Name = @"STRING")] + String = 0, + [global::ProtoBuf.ProtoEnum(Name = @"CORD")] + Cord = 1, + [global::ProtoBuf.ProtoEnum(Name = @"STRING_PIECE")] + StringPiece = 2, + } + + [global::ProtoBuf.ProtoContract()] + public enum JSType + { + [global::ProtoBuf.ProtoEnum(Name = @"JS_NORMAL")] + JsNormal = 0, + [global::ProtoBuf.ProtoEnum(Name = @"JS_STRING")] + JsString = 1, + [global::ProtoBuf.ProtoEnum(Name = @"JS_NUMBER")] + JsNumber = 2, + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class OneofOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class EnumOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(2, Name = @"allow_alias")] + public bool AllowAlias + { + get => __pbn__AllowAlias.GetValueOrDefault(); + set => __pbn__AllowAlias = value; + } + public bool ShouldSerializeAllowAlias() => __pbn__AllowAlias != null; + public void ResetAllowAlias() => __pbn__AllowAlias = null; + private bool? __pbn__AllowAlias; + + [global::ProtoBuf.ProtoMember(3, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class EnumValueOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ServiceOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(33, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class MethodOptions : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(33, Name = @"deprecated")] + [global::System.ComponentModel.DefaultValue(false)] + public bool Deprecated + { + get => __pbn__Deprecated ?? false; + set => __pbn__Deprecated = value; + } + public bool ShouldSerializeDeprecated() => __pbn__Deprecated != null; + public void ResetDeprecated() => __pbn__Deprecated = null; + private bool? __pbn__Deprecated; + + [global::ProtoBuf.ProtoMember(34)] + [global::System.ComponentModel.DefaultValue(IdempotencyLevel.IdempotencyUnknown)] + public IdempotencyLevel idempotency_level + { + get => __pbn__idempotency_level ?? IdempotencyLevel.IdempotencyUnknown; + set => __pbn__idempotency_level = value; + } + public bool ShouldSerializeidempotency_level() => __pbn__idempotency_level != null; + public void Resetidempotency_level() => __pbn__idempotency_level = null; + private IdempotencyLevel? __pbn__idempotency_level; + + [global::ProtoBuf.ProtoMember(999, Name = @"uninterpreted_option")] + public global::System.Collections.Generic.List UninterpretedOptions { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public enum IdempotencyLevel + { + [global::ProtoBuf.ProtoEnum(Name = @"IDEMPOTENCY_UNKNOWN")] + IdempotencyUnknown = 0, + [global::ProtoBuf.ProtoEnum(Name = @"NO_SIDE_EFFECTS")] + NoSideEffects = 1, + [global::ProtoBuf.ProtoEnum(Name = @"IDEMPOTENT")] + Idempotent = 2, + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UninterpretedOption : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(2, Name = @"name")] + public global::System.Collections.Generic.List Names { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"identifier_value")] + [global::System.ComponentModel.DefaultValue("")] + public string IdentifierValue + { + get => __pbn__IdentifierValue ?? ""; + set => __pbn__IdentifierValue = value; + } + public bool ShouldSerializeIdentifierValue() => __pbn__IdentifierValue != null; + public void ResetIdentifierValue() => __pbn__IdentifierValue = null; + private string __pbn__IdentifierValue; + + [global::ProtoBuf.ProtoMember(4, Name = @"positive_int_value")] + public ulong PositiveIntValue + { + get => __pbn__PositiveIntValue.GetValueOrDefault(); + set => __pbn__PositiveIntValue = value; + } + public bool ShouldSerializePositiveIntValue() => __pbn__PositiveIntValue != null; + public void ResetPositiveIntValue() => __pbn__PositiveIntValue = null; + private ulong? __pbn__PositiveIntValue; + + [global::ProtoBuf.ProtoMember(5, Name = @"negative_int_value")] + public long NegativeIntValue + { + get => __pbn__NegativeIntValue.GetValueOrDefault(); + set => __pbn__NegativeIntValue = value; + } + public bool ShouldSerializeNegativeIntValue() => __pbn__NegativeIntValue != null; + public void ResetNegativeIntValue() => __pbn__NegativeIntValue = null; + private long? __pbn__NegativeIntValue; + + [global::ProtoBuf.ProtoMember(6, Name = @"double_value")] + public double DoubleValue + { + get => __pbn__DoubleValue.GetValueOrDefault(); + set => __pbn__DoubleValue = value; + } + public bool ShouldSerializeDoubleValue() => __pbn__DoubleValue != null; + public void ResetDoubleValue() => __pbn__DoubleValue = null; + private double? __pbn__DoubleValue; + + [global::ProtoBuf.ProtoMember(7, Name = @"string_value")] + public byte[] StringValue + { + get => __pbn__StringValue; + set => __pbn__StringValue = value; + } + public bool ShouldSerializeStringValue() => __pbn__StringValue != null; + public void ResetStringValue() => __pbn__StringValue = null; + private byte[] __pbn__StringValue; + + [global::ProtoBuf.ProtoMember(8, Name = @"aggregate_value")] + [global::System.ComponentModel.DefaultValue("")] + public string AggregateValue + { + get => __pbn__AggregateValue ?? ""; + set => __pbn__AggregateValue = value; + } + public bool ShouldSerializeAggregateValue() => __pbn__AggregateValue != null; + public void ResetAggregateValue() => __pbn__AggregateValue = null; + private string __pbn__AggregateValue; + + [global::ProtoBuf.ProtoContract()] + public partial class NamePart : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, IsRequired = true)] + public string name_part { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"is_extension", IsRequired = true)] + public bool IsExtension { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SourceCodeInfo : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"location")] + public global::System.Collections.Generic.List Locations { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class Location : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"path", IsPacked = true)] + public int[] Paths { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"span", IsPacked = true)] + public int[] Spans { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"leading_comments")] + [global::System.ComponentModel.DefaultValue("")] + public string LeadingComments + { + get => __pbn__LeadingComments ?? ""; + set => __pbn__LeadingComments = value; + } + public bool ShouldSerializeLeadingComments() => __pbn__LeadingComments != null; + public void ResetLeadingComments() => __pbn__LeadingComments = null; + private string __pbn__LeadingComments; + + [global::ProtoBuf.ProtoMember(4, Name = @"trailing_comments")] + [global::System.ComponentModel.DefaultValue("")] + public string TrailingComments + { + get => __pbn__TrailingComments ?? ""; + set => __pbn__TrailingComments = value; + } + public bool ShouldSerializeTrailingComments() => __pbn__TrailingComments != null; + public void ResetTrailingComments() => __pbn__TrailingComments = null; + private string __pbn__TrailingComments; + + [global::ProtoBuf.ProtoMember(6, Name = @"leading_detached_comments")] + public global::System.Collections.Generic.List LeadingDetachedComments { get; } = new global::System.Collections.Generic.List(); + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GeneratedCodeInfo : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"annotation")] + public global::System.Collections.Generic.List Annotations { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class Annotation : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"path", IsPacked = true)] + public int[] Paths { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"source_file")] + [global::System.ComponentModel.DefaultValue("")] + public string SourceFile + { + get => __pbn__SourceFile ?? ""; + set => __pbn__SourceFile = value; + } + public bool ShouldSerializeSourceFile() => __pbn__SourceFile != null; + public void ResetSourceFile() => __pbn__SourceFile = null; + private string __pbn__SourceFile; + + [global::ProtoBuf.ProtoMember(3, Name = @"begin")] + public int Begin + { + get => __pbn__Begin.GetValueOrDefault(); + set => __pbn__Begin = value; + } + public bool ShouldSerializeBegin() => __pbn__Begin != null; + public void ResetBegin() => __pbn__Begin = null; + private int? __pbn__Begin; + + [global::ProtoBuf.ProtoMember(4, Name = @"end")] + public int End + { + get => __pbn__End.GetValueOrDefault(); + set => __pbn__End = value; + } + public bool ShouldSerializeEnd() => __pbn__End != null; + public void ResetEnd() => __pbn__End = null; + private int? __pbn__End; + + } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/latLng.cs b/Server/Models/3906/latLng.cs new file mode 100644 index 0000000..7542f6a --- /dev/null +++ b/Server/Models/3906/latLng.cs @@ -0,0 +1,30 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: latLng.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace google.type +{ + + [global::ProtoBuf.ProtoContract()] + public partial class LatLng : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"latitude")] + public double Latitude { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"longitude")] + public double Longitude { get; set; } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/monitoring.cs b/Server/Models/3906/monitoring.cs new file mode 100644 index 0000000..1bb059d --- /dev/null +++ b/Server/Models/3906/monitoring.cs @@ -0,0 +1,195 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: monitoring.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Garm +{ + + [global::ProtoBuf.ProtoContract()] + public partial class PingRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class PingResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"server_recv_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ServerRecvTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"server_send_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ServerSendTime { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"client_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"geo_data")] + public GeoData GeoData { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"under_maintenance")] + public bool UnderMaintenance { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"scheduled_maintenance")] + public TimeRange ScheduledMaintenance { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"acid_available")] + public bool AcidAvailable { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardCountRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardCountResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"update_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? UpdateTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"data")] + public global::System.Collections.Generic.List Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class BoardStat : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_type")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"client_version")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientVersion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"count")] + public uint Count { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetErrorCountRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetErrorCountResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"update_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? UpdateTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"data")] + public global::System.Collections.Generic.List Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"abort_count")] + public uint AbortCount { get; set; } + + [global::ProtoBuf.ProtoContract()] + public partial class ErrorStat : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"category")] + public uint Category { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"code")] + public uint Code { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"error_count")] + public long ErrorCount { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSessionCountRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSessionCountResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"update_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? UpdateTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"data")] + public global::System.Collections.Generic.List Datas { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class SessionStat : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"record_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? RecordTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"active_count")] + public long ActiveCount { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"open_count")] + public long OpenCount { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"close_count")] + public long CloseCount { get; set; } + + } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/status.cs b/Server/Models/3906/status.cs new file mode 100644 index 0000000..fc1390f --- /dev/null +++ b/Server/Models/3906/status.cs @@ -0,0 +1,34 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: status.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace google.rpc +{ + + [global::ProtoBuf.ProtoContract()] + public partial class Status : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"code")] + public int Code { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"message")] + [global::System.ComponentModel.DefaultValue("")] + public string Message { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"details")] + public global::System.Collections.Generic.List Details { get; } = new global::System.Collections.Generic.List(); + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/systemboard.cs b/Server/Models/3906/systemboard.cs new file mode 100644 index 0000000..1c170f8 --- /dev/null +++ b/Server/Models/3906/systemboard.cs @@ -0,0 +1,904 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: systemboard.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Garm +{ + [global::ProtoBuf.ProtoContract()] + public partial class SystemBoardData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"create_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? CreateTime { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"update_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? UpdateTime { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"client_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"geo_data")] + public GeoData GeoData { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"client_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ClientTime { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"is_after_boot")] + public bool IsAfterBoot { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"is_after_auth")] + public bool IsAfterAuth { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"device_type")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(10, Name = @"network_type")] + public NetworkType NetworkType { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"client_version")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientVersion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(12, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(13, Name = @"station_no", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int StationNo { get; set; } + + [global::ProtoBuf.ProtoMember(14, Name = @"parent_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ParentDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"test_mode_setting")] + [global::System.ComponentModel.DefaultValue("")] + public string TestModeSetting { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(16, Name = @"bookkeeping_data")] + [global::System.ComponentModel.DefaultValue("")] + public string BookkeepingData { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(17, Name = @"allnet_opt")] + public AllnetOption AllnetOpt { get; set; } + + [global::ProtoBuf.ProtoMember(18, Name = @"device_name")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceName { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(19, Name = @"os_name")] + [global::System.ComponentModel.DefaultValue("")] + public string OsName { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(20, Name = @"os_version")] + [global::System.ComponentModel.DefaultValue("")] + public string OsVersion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(21, Name = @"mac_address")] + [global::System.ComponentModel.DefaultValue("")] + public string MacAddress { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(22, Name = @"mucha_verified")] + public bool MuchaVerified { get; set; } + + [global::ProtoBuf.ProtoContract()] + public partial class AllnetOption : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"allnet_version")] + [global::System.ComponentModel.DefaultValue("")] + public string AllnetVersion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"tenporouter_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string TenporouterIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"hop_count")] + public int HopCount { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"traceroute")] + public global::System.Collections.Generic.List Traceroutes { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(5, Name = @"line_type")] + public AllnetLineType LineType { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"data")] + public SystemBoardData Data { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"location_name")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationName { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"location_address")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationAddress { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"location_country")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationCountry { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"location_region")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationRegion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"mucha_auth_token")] + [global::System.ComponentModel.DefaultValue("")] + public string MuchaAuthToken { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"token")] + [global::System.ComponentModel.DefaultValue("")] + public string Token { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"data")] + public SystemBoardData Data { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardsRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(15, Name = @"limit")] + public uint Limit { get; set; } + + [global::ProtoBuf.ProtoMember(1, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId + { + get => __pbn__condition_oneof.Is(1) ? ((string)__pbn__condition_oneof.Object) : ""; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(1, value); + } + public bool ShouldSerializeLocationId() => __pbn__condition_oneof.Is(1); + public void ResetLocationId() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 1); + + private global::ProtoBuf.DiscriminatedUnion64Object __pbn__condition_oneof; + + [global::ProtoBuf.ProtoMember(2, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId + { + get => __pbn__condition_oneof.Is(2) ? ((string)__pbn__condition_oneof.Object) : ""; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(2, value); + } + public bool ShouldSerializeDeviceId() => __pbn__condition_oneof.Is(2); + public void ResetDeviceId() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 2); + + [global::ProtoBuf.ProtoMember(3, Name = @"update_range")] + public TimeRange UpdateRange + { + get => __pbn__condition_oneof.Is(3) ? ((TimeRange)__pbn__condition_oneof.Object) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(3, value); + } + public bool ShouldSerializeUpdateRange() => __pbn__condition_oneof.Is(3); + public void ResetUpdateRange() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 3); + + [global::ProtoBuf.ProtoMember(4, Name = @"update_latest")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.TimeSpan? UpdateLatest + { + get => __pbn__condition_oneof.Is(4) ? ((global::System.TimeSpan?)__pbn__condition_oneof.TimeSpan) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(4, value); + } + public bool ShouldSerializeUpdateLatest() => __pbn__condition_oneof.Is(4); + public void ResetUpdateLatest() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 4); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardsResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"boards")] + public global::System.Collections.Generic.List Boards { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class Board : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"device_type")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"network_type")] + public NetworkType NetworkType { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"client_version")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientVersion { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"station_no", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int StationNo { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"parent_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ParentDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(8, Name = @"update_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? UpdateTime { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"mucha_verified")] + public bool MuchaVerified { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UpdateSystemBoardDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(2, Name = @"station_no", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int StationNo { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"parent_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ParentDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"test_mode_setting")] + [global::System.ComponentModel.DefaultValue("")] + public string TestModeSetting { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"bookkeeping_data")] + [global::System.ComponentModel.DefaultValue("")] + public string BookkeepingData { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"client_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ClientTime { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UpdateSystemBoardDataResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardDataRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardDataResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"station_no", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int StationNo { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"test_mode_setting")] + [global::System.ComponentModel.DefaultValue("")] + public string TestModeSetting { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"bookkeeping_data")] + [global::System.ComponentModel.DefaultValue("")] + public string BookkeepingData { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ErrorLog : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_log_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLogId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"receive_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ReceiveTime { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"count")] + public uint Count { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"error_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ErrorTime { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"category")] + public uint Category { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"code")] + public uint Code { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"sequence")] + [global::System.ComponentModel.DefaultValue("")] + public string Sequence { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(10, Name = @"custom_data")] + [global::System.ComponentModel.DefaultValue("")] + public string CustomData { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(11, Name = @"attache_files")] + public global::System.Collections.Generic.List AttacheFiles { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(12, Name = @"exit_code", DataFormat = global::ProtoBuf.DataFormat.ZigZag)] + public int ExitCode { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"stack_trace")] + public global::System.Collections.Generic.List StackTraces { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(14, Name = @"core_dump")] + [global::System.ComponentModel.DefaultValue("")] + public string CoreDump { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"sender_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SenderDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(16, Name = @"sender_location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SenderLocationId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardErrorLogRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_logs")] + public global::System.Collections.Generic.List ErrorLogs { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardErrorLogResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"upload_url")] + public global::System.Collections.Generic.List UploadUrls { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(2, Name = @"warnings")] + public global::System.Collections.Generic.List Warnings { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"too_many")] + public bool TooMany { get; set; } + + [global::ProtoBuf.ProtoContract()] + public partial class UploadURL : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_log_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLogId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"attache_files")] + public global::System.Collections.Generic.List AttacheFiles { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(3, Name = @"core_dump")] + [global::System.ComponentModel.DefaultValue("")] + public string CoreDump { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class Warning : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_log_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLogId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"messages")] + public global::System.Collections.Generic.List Messages { get; } = new global::System.Collections.Generic.List(); + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardErrorLogRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"sender_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SenderDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"error_log_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ErrorLogId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardErrorLogResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_log")] + public ErrorLog ErrorLog { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ListSystemBoardErrorLogsRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"sender_device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SenderDeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"limit")] + public uint Limit { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"range")] + public TimeRange Range + { + get => __pbn__condition_oneof.Is(2) ? ((TimeRange)__pbn__condition_oneof.Object) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(2, value); + } + public bool ShouldSerializeRange() => __pbn__condition_oneof.Is(2); + public void ResetRange() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 2); + + private global::ProtoBuf.DiscriminatedUnion64Object __pbn__condition_oneof; + + [global::ProtoBuf.ProtoMember(3, Name = @"latest")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.TimeSpan? Latest + { + get => __pbn__condition_oneof.Is(3) ? ((global::System.TimeSpan?)__pbn__condition_oneof.TimeSpan) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(3, value); + } + public bool ShouldSerializeLatest() => __pbn__condition_oneof.Is(3); + public void ResetLatest() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 3); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ListSystemBoardErrorLogsResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_logs")] + public global::System.Collections.Generic.List ErrorLogs { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ListSystemBoardAbortLogsRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(15, Name = @"limit")] + public uint Limit { get; set; } + + [global::ProtoBuf.ProtoMember(1, Name = @"range")] + public TimeRange Range + { + get => __pbn__condition_oneof.Is(1) ? ((TimeRange)__pbn__condition_oneof.Object) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(1, value); + } + public bool ShouldSerializeRange() => __pbn__condition_oneof.Is(1); + public void ResetRange() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 1); + + private global::ProtoBuf.DiscriminatedUnion64Object __pbn__condition_oneof; + + [global::ProtoBuf.ProtoMember(2, Name = @"latest")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.TimeSpan? Latest + { + get => __pbn__condition_oneof.Is(2) ? ((global::System.TimeSpan?)__pbn__condition_oneof.TimeSpan) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(2, value); + } + public bool ShouldSerializeLatest() => __pbn__condition_oneof.Is(2); + public void ResetLatest() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 2); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ListSystemBoardAbortLogsResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"error_logs")] + public global::System.Collections.Generic.List ErrorLogs { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchRequestLogsRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchRequestLogsResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardTrailsRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"limit")] + public uint Limit { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"range")] + public TimeRange Range + { + get => __pbn__condition_oneof.Is(2) ? ((TimeRange)__pbn__condition_oneof.Object) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(2, value); + } + public bool ShouldSerializeRange() => __pbn__condition_oneof.Is(2); + public void ResetRange() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 2); + + private global::ProtoBuf.DiscriminatedUnion64Object __pbn__condition_oneof; + + [global::ProtoBuf.ProtoMember(3, Name = @"latest")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.TimeSpan? Latest + { + get => __pbn__condition_oneof.Is(3) ? ((global::System.TimeSpan?)__pbn__condition_oneof.TimeSpan) : default; + set => __pbn__condition_oneof = new global::ProtoBuf.DiscriminatedUnion64Object(3, value); + } + public bool ShouldSerializeLatest() => __pbn__condition_oneof.Is(3); + public void ResetLatest() => global::ProtoBuf.DiscriminatedUnion64Object.Reset(ref __pbn__condition_oneof, 3); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardTrailsResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"trails")] + public global::System.Collections.Generic.List Trails { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardTrailRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"key")] + [global::System.ComponentModel.DefaultValue("")] + public string Key { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GetSystemBoardTrailResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"meta")] + public TrailMetaData Meta { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"data")] + public SystemBoardData Data { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class Billing : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"billing_type")] + [global::System.ComponentModel.DefaultValue("")] + public string BillingType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"net_id")] + [global::System.ComponentModel.DefaultValue("")] + public string NetId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"play_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? PlayTime { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"play_type")] + public uint PlayType { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"amount")] + public uint Amount { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardBillingRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"billing")] + public global::System.Collections.Generic.List Billings { get; } = new global::System.Collections.Generic.List(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class RegisterSystemBoardBillingResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"warnings")] + public global::System.Collections.Generic.List Warnings { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(2, Name = @"too_many")] + public bool TooMany { get; set; } + + [global::ProtoBuf.ProtoContract()] + public partial class Warning : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"messages")] + public global::System.Collections.Generic.List Messages { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoMember(2, Name = @"billing_type")] + [global::System.ComponentModel.DefaultValue("")] + public string BillingType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"net_id")] + [global::System.ComponentModel.DefaultValue("")] + public string NetId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"play_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? PlayTime { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"play_type")] + public uint PlayType { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"amount")] + public uint Amount { get; set; } + + } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardBillingRequest : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"billing_type")] + [global::System.ComponentModel.DefaultValue("")] + public string BillingType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"summary_date")] + public global::google.type.Date SummaryDate { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"net_id")] + [global::System.ComponentModel.DefaultValue("")] + public string NetId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class SearchSystemBoardBillingResponse : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"total")] + public uint Total { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"billing")] + public global::System.Collections.Generic.List Billings { get; } = new global::System.Collections.Generic.List(); + + [global::ProtoBuf.ProtoContract()] + public partial class RegisteredBilling : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(4, Name = @"net_id")] + [global::System.ComponentModel.DefaultValue("")] + public string NetId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"sender_place_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SenderPlaceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"play_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? PlayTime { get; set; } + + [global::ProtoBuf.ProtoMember(7, Name = @"received_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? ReceivedTime { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"received_date")] + public global::google.type.Date ReceivedDate { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"hc2_received_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? Hc2ReceivedTime { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"summary_date")] + public global::google.type.Date SummaryDate { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"play_type")] + public uint PlayType { get; set; } + + [global::ProtoBuf.ProtoMember(12, Name = @"amount")] + public uint Amount { get; set; } + + } + + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/3906/types.cs b/Server/Models/3906/types.cs new file mode 100644 index 0000000..f6fa47a --- /dev/null +++ b/Server/Models/3906/types.cs @@ -0,0 +1,669 @@ +// +// This file was generated by a tool; you should avoid making direct changes. +// Consider using 'partial classes' to extend these types +// Input: types.proto +// + +#region Designer generated code +#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +namespace Garm +{ + + [global::ProtoBuf.ProtoContract()] + public partial class ExternalID : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"amid", DataFormat = global::ProtoBuf.DataFormat.FixedSize)] + public ulong Amid { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"mbid", DataFormat = global::ProtoBuf.DataFormat.FixedSize)] + public ulong Mbid { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ACIDLookup : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"device")] + public ACIDDeviceType Device { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"access_code")] + [global::System.ComponentModel.DefaultValue("")] + public string AccessCode { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"chip_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ChipId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"identity_type")] + public ACIDIdentityType IdentityType { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"qr_seed")] + [global::System.ComponentModel.DefaultValue("")] + public string QrSeed { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class GeoData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"country")] + [global::System.ComponentModel.DefaultValue("")] + public string Country { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"region")] + [global::System.ComponentModel.DefaultValue("")] + public string Region { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"city")] + [global::System.ComponentModel.DefaultValue("")] + public string City { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"latlng")] + public global::google.type.LatLng Latlng { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class TimeRange : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? StartTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"end_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? EndTime { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class DateRange : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start_date")] + public global::google.type.Date StartDate { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"end_date")] + public global::google.type.Date EndDate { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ReleaseCondition : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"start_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? StartTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"end_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? EndTime { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"require_version")] + [global::System.ComponentModel.DefaultValue("")] + public string RequireVersion { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class UserStats : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(2, Name = @"items")] + [global::ProtoBuf.ProtoMap] + public global::System.Collections.Generic.Dictionary Items { get; } = new global::System.Collections.Generic.Dictionary(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class CustomData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"items")] + [global::ProtoBuf.ProtoMap] + public global::System.Collections.Generic.Dictionary Items { get; } = new global::System.Collections.Generic.Dictionary(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class Avatar : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"items")] + [global::ProtoBuf.ProtoMap] + public global::System.Collections.Generic.Dictionary Items { get; } = new global::System.Collections.Generic.Dictionary(); + + } + + [global::ProtoBuf.ProtoContract()] + public partial class ArcadeSessionData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"credit")] + public uint Credit { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"service_sw")] + public uint ServiceSw { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"custom_data")] + [global::System.ComponentModel.DefaultValue("")] + public string CustomData { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"free_play")] + public bool FreePlay { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"trial_play")] + public bool TrialPlay { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class TrailData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"key")] + [global::System.ComponentModel.DefaultValue("")] + public string Key { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"meta")] + public TrailMetaData Meta { get; set; } + + } + + [global::ProtoBuf.ProtoContract()] + public partial class TrailMetaData : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"event_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? EventTime { get; set; } + + [global::ProtoBuf.ProtoMember(2, Name = @"client_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"account_type")] + public AccountType AccountType { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"account_id")] + [global::System.ComponentModel.DefaultValue("")] + public string AccountId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"resource_type")] + [global::System.ComponentModel.DefaultValue("")] + public string ResourceType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"resource_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ResourceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(7, Name = @"action_type")] + public TrailActionType ActionType { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"action")] + [global::System.ComponentModel.DefaultValue("")] + public string Action { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(9, Name = @"session_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SessionId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(10, Name = @"trace_id")] + public byte[] TraceId { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(12, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(13, Name = @"user_id")] + [global::System.ComponentModel.DefaultValue("")] + public string UserId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class AccessLog : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"namespace")] + [global::System.ComponentModel.DefaultValue("")] + public string Namespace { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"event_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? EventTime { get; set; } + + [global::ProtoBuf.ProtoMember(3, Name = @"client_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(4, Name = @"account_type")] + public AccountType AccountType { get; set; } + + [global::ProtoBuf.ProtoMember(5, Name = @"account_id")] + [global::System.ComponentModel.DefaultValue("")] + public string AccountId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(6, Name = @"path")] + [global::System.ComponentModel.DefaultValue("")] + public string Path { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(7, Name = @"status")] + public global::google.rpc.Status Status { get; set; } + + [global::ProtoBuf.ProtoMember(8, Name = @"latency")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.TimeSpan? Latency { get; set; } + + [global::ProtoBuf.ProtoMember(9, Name = @"session_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SessionId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(10, Name = @"trace_id")] + public byte[] TraceId { get; set; } + + [global::ProtoBuf.ProtoMember(11, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(12, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(13, Name = @"user_id")] + [global::System.ComponentModel.DefaultValue("")] + public string UserId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public partial class DataChangeLog : global::ProtoBuf.IExtensible + { + private global::ProtoBuf.IExtension __pbn__extensionData; + global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing) + => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing); + + [global::ProtoBuf.ProtoMember(1, Name = @"namespace")] + [global::System.ComponentModel.DefaultValue("")] + public string Namespace { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(2, Name = @"key")] + [global::System.ComponentModel.DefaultValue("")] + public string Key { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(3, Name = @"event_time")] + [global::ProtoBuf.CompatibilityLevel(global::ProtoBuf.CompatibilityLevel.Level300)] + public global::System.DateTime? EventTime { get; set; } + + [global::ProtoBuf.ProtoMember(4, Name = @"client_ip")] + [global::System.ComponentModel.DefaultValue("")] + public string ClientIp { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(5, Name = @"account_type")] + public AccountType AccountType { get; set; } + + [global::ProtoBuf.ProtoMember(6, Name = @"account_id")] + [global::System.ComponentModel.DefaultValue("")] + public string AccountId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(7, Name = @"resource_type")] + [global::System.ComponentModel.DefaultValue("")] + public string ResourceType { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(8, Name = @"resource_id")] + [global::System.ComponentModel.DefaultValue("")] + public string ResourceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(9, Name = @"action_type")] + public TrailActionType ActionType { get; set; } + + [global::ProtoBuf.ProtoMember(10, Name = @"action")] + [global::System.ComponentModel.DefaultValue("")] + public string Action { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(11, Name = @"session_id")] + [global::System.ComponentModel.DefaultValue("")] + public string SessionId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(12, Name = @"trace_id")] + public byte[] TraceId { get; set; } + + [global::ProtoBuf.ProtoMember(13, Name = @"location_id")] + [global::System.ComponentModel.DefaultValue("")] + public string LocationId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(14, Name = @"device_id")] + [global::System.ComponentModel.DefaultValue("")] + public string DeviceId { get; set; } = ""; + + [global::ProtoBuf.ProtoMember(15, Name = @"user_id")] + [global::System.ComponentModel.DefaultValue("")] + public string UserId { get; set; } = ""; + + } + + [global::ProtoBuf.ProtoContract()] + public enum NetworkType + { + [global::ProtoBuf.ProtoEnum(Name = @"NETWORK_TYPE_INVALID")] + NetworkTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"NETWORK_TYPE_ALLNET")] + NetworkTypeAllnet = 1, + [global::ProtoBuf.ProtoEnum(Name = @"NETWORK_TYPE_NBLINE")] + NetworkTypeNbline = 2, + } + + [global::ProtoBuf.ProtoContract()] + public enum AllnetLineType + { + [global::ProtoBuf.ProtoEnum(Name = @"ALLNET_LINE_TYPE_INVALID")] + AllnetLineTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ALLNET_LINE_TYPE_MOBILE")] + AllnetLineTypeMobile = 1, + [global::ProtoBuf.ProtoEnum(Name = @"ALLNET_LINE_TYPE_ISDN")] + AllnetLineTypeIsdn = 2, + [global::ProtoBuf.ProtoEnum(Name = @"ALLNET_LINE_TYPE_BFLETS")] + AllnetLineTypeBflets = 3, + [global::ProtoBuf.ProtoEnum(Name = @"ALLNET_LINE_TYPE_ADSL")] + AllnetLineTypeAdsl = 4, + } + + [global::ProtoBuf.ProtoContract()] + public enum CardStatus + { + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_INVALID")] + CardStatusInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_OK")] + CardStatusOk = 1, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_UNUSED")] + CardStatusUnused = 2, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_LOCKED")] + CardStatusLocked = 3, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_DISABLED")] + CardStatusDisabled = 4, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_USED")] + CardStatusUsed = 5, + [global::ProtoBuf.ProtoEnum(Name = @"CARD_STATUS_REISSUE")] + CardStatusReissue = 6, + } + + [global::ProtoBuf.ProtoContract()] + public enum ACIDDeviceType + { + [global::ProtoBuf.ProtoEnum(Name = @"ACID_DEVICE_TYPE_INVALID")] + AcidDeviceTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_DEVICE_TYPE_CARD")] + AcidDeviceTypeCard = 1, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_DEVICE_TYPE_MOBILE")] + AcidDeviceTypeMobile = 2, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_DEVICE_TYPE_QR")] + AcidDeviceTypeQr = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum ACIDIdentityType + { + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_INVALID")] + AcidIdentityTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_BNG")] + AcidIdentityTypeBng = 1, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_SEGA")] + AcidIdentityTypeSega = 2, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_MOBILE")] + AcidIdentityTypeMobile = 3, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_AICC")] + AcidIdentityTypeAicc = 4, + [global::ProtoBuf.ProtoEnum(Name = @"ACID_IDENTITY_TYPE_QR")] + AcidIdentityTypeQr = 5, + } + + [global::ProtoBuf.ProtoContract()] + public enum UserType + { + [global::ProtoBuf.ProtoEnum(Name = @"USER_TYPE_INVALID")] + UserTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"USER_TYPE_GUEST")] + UserTypeGuest = 1, + [global::ProtoBuf.ProtoEnum(Name = @"USER_TYPE_ACID")] + UserTypeAcid = 2, + [global::ProtoBuf.ProtoEnum(Name = @"USER_TYPE_FAKE")] + UserTypeFake = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum DisplayNameChangeState + { + [global::ProtoBuf.ProtoEnum(Name = @"DISPLAY_NAME_CHANGE_STATE_INVALID")] + DisplayNameChangeStateInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"DISPLAY_NAME_CHANGE_STATE_NONE")] + DisplayNameChangeStateNone = 1, + [global::ProtoBuf.ProtoEnum(Name = @"DISPLAY_NAME_CHANGE_STATE_USER")] + DisplayNameChangeStateUser = 2, + [global::ProtoBuf.ProtoEnum(Name = @"DISPLAY_NAME_CHANGE_STATE_FORCE")] + DisplayNameChangeStateForce = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum AccountType + { + [global::ProtoBuf.ProtoEnum(Name = @"ACCOUNT_TYPE_INVALID")] + AccountTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ACCOUNT_TYPE_INTERNAL")] + AccountTypeInternal = 1, + [global::ProtoBuf.ProtoEnum(Name = @"ACCOUNT_TYPE_EMBEDDED")] + AccountTypeEmbedded = 2, + [global::ProtoBuf.ProtoEnum(Name = @"ACCOUNT_TYPE_SERVICE")] + AccountTypeService = 3, + [global::ProtoBuf.ProtoEnum(Name = @"ACCOUNT_TYPE_MAILBASE")] + AccountTypeMailbase = 4, + } + + [global::ProtoBuf.ProtoContract()] + public enum NamespaceState + { + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_INVALID")] + NamespaceStateInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_INITIALIZE")] + NamespaceStateInitialize = 1, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_READY")] + NamespaceStateReady = 2, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_STOP_WAIT")] + NamespaceStateStopWait = 3, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_STOP")] + NamespaceStateStop = 4, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_TERMINATE")] + NamespaceStateTerminate = 5, + [global::ProtoBuf.ProtoEnum(Name = @"NAMESPACE_STATE_TERMINATED")] + NamespaceStateTerminated = 6, + } + + [global::ProtoBuf.ProtoContract()] + public enum LastSessionState + { + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_INVALID")] + LastSessionStateInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_OK")] + LastSessionStateOk = 1, + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_CANCEL")] + LastSessionStateCancel = 2, + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_TEST_SW")] + LastSessionStateTestSw = 3, + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_ABORT")] + LastSessionStateAbort = 4, + [global::ProtoBuf.ProtoEnum(Name = @"LAST_SESSION_STATE_TIMEOUT")] + LastSessionStateTimeout = 5, + } + + [global::ProtoBuf.ProtoContract()] + public enum AchivementType + { + [global::ProtoBuf.ProtoEnum(Name = @"ACHIVEMENT_TYPE_INVALID")] + AchivementTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ACHIVEMENT_TYPE_ONE_SHOT")] + AchivementTypeOneShot = 1, + [global::ProtoBuf.ProtoEnum(Name = @"ACHIVEMENT_TYPE_PERCENTAGE")] + AchivementTypePercentage = 2, + [global::ProtoBuf.ProtoEnum(Name = @"ACHIVEMENT_TYPE_COUNTER")] + AchivementTypeCounter = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum AggregateUnit + { + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_INVALID")] + AggregateUnitInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_HOUR")] + AggregateUnitHour = 1, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_DAY")] + AggregateUnitDay = 2, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_WEEK")] + AggregateUnitWeek = 3, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_MONTH")] + AggregateUnitMonth = 4, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_QUARTER")] + AggregateUnitQuarter = 5, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_UNIT_YEAR")] + AggregateUnitYear = 6, + } + + [global::ProtoBuf.ProtoContract()] + public enum AggregateRegion + { + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_REGION_INVALID")] + AggregateRegionInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_REGION_ALL")] + AggregateRegionAll = 1, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_REGION_COUNTRY")] + AggregateRegionCountry = 2, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_REGION_AREA")] + AggregateRegionArea = 3, + [global::ProtoBuf.ProtoEnum(Name = @"AGGREGATE_REGION_LOCATION")] + AggregateRegionLocation = 4, + } + + [global::ProtoBuf.ProtoContract()] + public enum StorageType + { + [global::ProtoBuf.ProtoEnum(Name = @"STORAGE_TYPE_INVALID")] + StorageTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"STORAGE_TYPE_LOCAL")] + StorageTypeLocal = 1, + [global::ProtoBuf.ProtoEnum(Name = @"STORAGE_TYPE_S3")] + StorageTypeS3 = 2, + [global::ProtoBuf.ProtoEnum(Name = @"STORAGE_TYPE_GCS")] + StorageTypeGcs = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum ScriptType + { + [global::ProtoBuf.ProtoEnum(Name = @"SCRIPT_TYPE_INVALID")] + ScriptTypeInvalid = 0, + } + + [global::ProtoBuf.ProtoContract()] + public enum TrailActionType + { + [global::ProtoBuf.ProtoEnum(Name = @"TRAIL_ACTION_TYPE_INVALID")] + TrailActionTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"TRAIL_ACTION_TYPE_CREATE")] + TrailActionTypeCreate = 1, + [global::ProtoBuf.ProtoEnum(Name = @"TRAIL_ACTION_TYPE_UPDATE")] + TrailActionTypeUpdate = 2, + [global::ProtoBuf.ProtoEnum(Name = @"TRAIL_ACTION_TYPE_DELETE")] + TrailActionTypeDelete = 3, + } + + [global::ProtoBuf.ProtoContract()] + public enum PlayLogState + { + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_INVALID")] + PlayLogStateInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_PROGRESS")] + PlayLogStateProgress = 1, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_CLOSED")] + PlayLogStateClosed = 2, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_LEAVE")] + PlayLogStateLeave = 3, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_TEST_SW")] + PlayLogStateTestSw = 4, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_NET_ERROR")] + PlayLogStateNetError = 5, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_LAN_ERROR")] + PlayLogStateLanError = 6, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_TIMEOUT")] + PlayLogStateTimeout = 7, + [global::ProtoBuf.ProtoEnum(Name = @"PLAY_LOG_STATE_ABORT")] + PlayLogStateAbort = 8, + } + + [global::ProtoBuf.ProtoContract()] + public enum ActivityType + { + [global::ProtoBuf.ProtoEnum(Name = @"ACTIVITY_TYPE_INVALID")] + ActivityTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"ACTIVITY_TYPE_DATA_CHANGE")] + ActivityTypeDataChange = 1, + } + + [global::ProtoBuf.ProtoContract()] + public enum ReferenceType + { + [global::ProtoBuf.ProtoEnum(Name = @"REFERENCE_TYPE_INVALID")] + ReferenceTypeInvalid = 0, + [global::ProtoBuf.ProtoEnum(Name = @"REFERENCE_TYPE_PLAY")] + ReferenceTypePlay = 1, + } + +} + +#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192 +#endregion diff --git a/Server/Models/MuchaBoardAuthRequest.cs b/Server/Models/MuchaBoardAuthRequest.cs new file mode 100644 index 0000000..d66a115 --- /dev/null +++ b/Server/Models/MuchaBoardAuthRequest.cs @@ -0,0 +1,40 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Server.Models; + +public class MuchaBoardAuthRequest +{ + [FromForm(Name = "gameVer")] + public string? GameVersion { get; set; } + + [FromForm(Name = "sendDate")] + public string? SendDate { get; set; } + + [FromForm(Name = "serialNum")] + public string? SerialNumber { get; set; } + + [FromForm(Name = "gameCd")] + public string? GameCode { get; set; } + + [FromForm(Name = "boardType")] + public string? BoardType { get; set; } + + [FromForm(Name = "boardId")] + public string? BoardId { get; set; } + + [FromForm(Name = "placeId")] + public string? PlaceId { get; set; } + + [FromForm(Name = "storeRouterIp")] + public string? StoreRouterIp { get; set; } + + [FromForm(Name = "countryCd")] + public string? CountryCode { get; set; } + + [FromForm(Name = "useToken")] + public string? UseToken { get; set; } + + [FromForm(Name = "allToken")] + public string? AllToken { get; set; } + +} \ No newline at end of file diff --git a/Server/Models/MuchaUpdateCheckRequest.cs b/Server/Models/MuchaUpdateCheckRequest.cs new file mode 100644 index 0000000..5d4b533 --- /dev/null +++ b/Server/Models/MuchaUpdateCheckRequest.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Server.Models; + +public class MuchaUpdateCheckRequest +{ + [FromForm(Name = "gameCd")] + public string? GameCode { get; set; } + + [FromForm(Name = "gameVer")] + public string? GameVersion { get; set; } + + [FromForm(Name = "serialNum")] + public string? SerialNumber { get; set; } + + [FromForm(Name = "countryCd")] + public string? CountryCode { get; set; } + + [FromForm(Name = "placeId")] + public string? PlaceId { get; set; } + + [FromForm(Name = "storeRouterIp")] + public string? StoreRouterIp { get; set; } +} \ No newline at end of file diff --git a/Server/Models/PowerOnRequest.cs b/Server/Models/PowerOnRequest.cs new file mode 100644 index 0000000..fe9a0df --- /dev/null +++ b/Server/Models/PowerOnRequest.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Server.Models; + +public class PowerOnRequest +{ + [FromForm(Name = "game_id")] + public string? GameId { get; set; } + + [FromForm(Name = "ver")] + public string? Version { get; set; } + + [FromForm(Name = "serial")] + public string? Serial { get; set; } + + [FromForm(Name = "ip")] + public string? Ip { get; set; } + + [FromForm(Name = "firm_ver")] + public string? FirmwareVersion { get; set; } + + [FromForm(Name = "boot_ver")] + public string? BootVersion { get; set; } + + [FromForm(Name = "encode")] + public string? Encode { get; set; } + + [FromForm(Name = "format_ver")] + public string? FormatVersion { get; set; } + + [FromForm(Name = "hops")] + public string? Hops { get; set; } +} \ No newline at end of file diff --git a/Server/Program.cs b/Server/Program.cs index 8264bac..ab0865b 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -1,25 +1,296 @@ -var builder = WebApplication.CreateBuilder(args); +using System.IO.Compression; +using System.Reflection; +using System.Security.Claims; +using System.Text; +using Application; +using Application.Interfaces; +using Domain.Common; +using Domain.Settings; +using Infrastructure; +using Infrastructure.Persistence; +using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.HttpOverrides; +using Microsoft.AspNetCore.ResponseCompression; +using Microsoft.EntityFrameworkCore; +using Microsoft.IdentityModel.Tokens; +using Microsoft.OpenApi.Models; +using Serilog; +using Serilog.Sinks.File.Header; +using Server.Conventions; +using Server.Formatters; +using Server.Middlewares; +using Throw; +using PathHelper = Infrastructure.Utils.PathHelper; -// Add services to the container. +Log.Logger = new LoggerConfiguration() + .WriteTo.Console() + .CreateBootstrapLogger(); -builder.Services.AddControllers(); -// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle -builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(); +var version = Assembly.GetEntryAssembly()? + .GetCustomAttribute()? + .InformationalVersion; +Log.Information("TaikoLocalServer version {Version}", version); -var app = builder.Build(); +var buildTime = Assembly.GetEntryAssembly()? + .GetCustomAttributes() + .FirstOrDefault(attr => attr.Key == "BuildTime")?.Value; -// Configure the HTTP request pipeline. -if (app.Environment.IsDevelopment()) +if (buildTime != null) { - app.UseSwagger(); - app.UseSwaggerUI(); + Log.Information("Build time: {BuildTime}", buildTime); } -app.UseHttpsRedirection(); +Log.Information("Server starting up..."); +try +{ + var builder = WebApplication.CreateBuilder(args); -app.UseAuthorization(); + /*builder.Services.AddHttpLogging(options => + { + options.LoggingFields = HttpLoggingFields.All; + options.RequestBodyLogLimit = 32768; + options.ResponseBodyLogLimit = 32768; + });*/ -app.MapControllers(); + const string configurationsDirectory = "Configurations"; + builder.Configuration.AddJsonFile($"{configurationsDirectory}/Kestrel.json", optional: true, reloadOnChange: false); + builder.Configuration.AddJsonFile($"{configurationsDirectory}/Logging.json", optional: false, reloadOnChange: false); + builder.Configuration.AddJsonFile($"{configurationsDirectory}/Database.json", optional: false, reloadOnChange: false); + builder.Configuration.AddJsonFile($"{configurationsDirectory}/ServerSettings.json", optional: false, reloadOnChange: false); + builder.Configuration.AddJsonFile($"{configurationsDirectory}/DataSettings.json", optional: true, reloadOnChange: false); + builder.Configuration.AddJsonFile($"{configurationsDirectory}/AuthSettings.json", optional: true, reloadOnChange: false); -app.Run(); \ No newline at end of file + builder.Host.UseSerilog((context, configuration) => + { + configuration + .WriteTo.Console().ReadFrom.Configuration(context.Configuration) + .WriteTo.Logger(x => + { + x.WriteTo.File(new CsvFormatter(), + path: "./Logs/HeadClerkLog-.csv", + hooks: new HeaderWriter("Date,ChassisId,ShopId,Baid,PlayedAt,IsRight,Type,Amount"), + rollingInterval: RollingInterval.Day); + x.Filter.ByIncludingOnly("StartsWith(@m, 'CSV WRITE:')"); + }); + }); + + if (builder.Configuration.GetValue("ServerSettings:EnableMoreSongs")) + { + Log.Warning("Song limit expanded! Use at your own risk!"); + } + + // Add response compression services + builder.Services.AddResponseCompression(options => + { + options.EnableForHttps = true; + options.Providers.Add(); + options.Providers.Add(); + }); + + builder.Services.Configure(options => + { + options.Level = CompressionLevel.Fastest; + }); + + // Add services to the container. + builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Program).Assembly)); + builder.Services.AddOptions(); + builder.Services.AddInfrastructure(builder.Configuration); + builder.Services.AddApplication(); + builder.Services.Configure(builder.Configuration.GetSection(nameof(ServerSettings))); + builder.Services.Configure(builder.Configuration.GetSection(nameof(DataSettings))); + builder.Services.Configure(builder.Configuration.GetSection(nameof(AuthSettings))); + + // Add Authentication with JWT + builder.Services.AddAuthentication(options => + { + options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + }) + .AddJwtBearer(options => + { + options.SaveToken = true; + options.RequireHttpsMetadata = false; + options.TokenValidationParameters = new TokenValidationParameters + { + ValidateIssuer = true, + ValidateAudience = true, + ValidateLifetime = true, + ValidateIssuerSigningKey = true, + ValidIssuer = builder.Configuration.GetSection(nameof(AuthSettings))["JwtIssuer"], + ValidAudience = builder.Configuration.GetSection(nameof(AuthSettings))["JwtAudience"], + IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration.GetSection(nameof(AuthSettings))["JwtKey"] ?? throw new InvalidOperationException())) + }; + }); + + builder.Services.AddAuthorizationBuilder() + .AddPolicy("AuthConditional", policy => + { + var authRequired = builder.Configuration.GetSection(nameof(AuthSettings)).GetValue("AuthenticationRequired"); + if (authRequired) + { + policy.RequireAuthenticatedUser(); + policy.RequireClaim(ClaimTypes.Name); + policy.RequireAssertion(context => uint.TryParse(context.User.FindFirst(ClaimTypes.Name)?.Value, out _)); + } + else + { + policy.RequireAssertion(_ => true); + } + }) + .AddPolicy("AuthConditionalAdmin", policy => + { + var authRequired = builder.Configuration.GetSection(nameof(AuthSettings)).GetValue("AuthenticationRequired"); + if (authRequired) + { + policy.RequireRole("Admin"); + } + else + { + policy.RequireAssertion(_ => true); + } + }); + + // builder.Services.AddScoped(); // Register the custom attribute + + builder.Services.AddControllers(options => + { + options.Conventions.Add(new ControllerHidingConvention()); + }).AddProtoBufNet(); + builder.Services.AddDbContext(option => + { + var dbName = builder.Configuration["DbFileName"]; + if (string.IsNullOrEmpty(dbName)) + { + dbName = Constants.DefaultDbName; + } + + var path = Path.Combine(PathHelper.GetRootPath(), dbName); + option.UseSqlite($"Data Source={path}"); + }); + builder.Services.AddMemoryCache(); + builder.Services.AddCors(options => + { + options.AddPolicy("AllowAllCorsPolicy", policy => + { + policy + .AllowAnyOrigin() + .AllowAnyMethod() + .AllowAnyHeader(); + }); + }); + + builder.Services.AddSwaggerGen(c => + { + c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme + { + Name = "Bearer", + BearerFormat = "JWT", + Scheme = "bearer", + Description = "Specify the authorization token.", + In = ParameterLocation.Header, + Type = SecuritySchemeType.Http, + }); + c.AddSecurityRequirement(new OpenApiSecurityRequirement { + { + new OpenApiSecurityScheme + { + Reference = new OpenApiReference + { + Type = ReferenceType.SecurityScheme, + Id = "Bearer" + } + }, + [] + } + }); + }); + + var app = builder.Build(); + + // Migrate db + using (var scope = app.Services.CreateScope()) + { + var db = scope.ServiceProvider.GetRequiredService(); + db.Database.Migrate(); + } + + app.UseSerilogRequestLogging(options => + { + options.MessageTemplate = "HTTP {RequestMethod} {RequestPath} responded {StatusCode} in {Elapsed:0.0000} ms, " + + "request host: {RequestHost}"; + options.EnrichDiagnosticContext = (diagnosticContext, httpContext) => + { + diagnosticContext.Set("RequestHost", httpContext.Request.Host.Value); + }; + }); + + var gameDataService = app.Services.GetService(); + gameDataService.ThrowIfNull(); + await gameDataService.InitializeAsync(); + + if (app.Environment.IsDevelopment()) + { + app.UseSwagger(); + app.UseSwaggerUI(); + } + + // Use response compression + app.UseResponseCompression(); + + // For reverse proxy + app.UseForwardedHeaders(new ForwardedHeadersOptions + { + ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto + }); + + app.UseCors("AllowAllCorsPolicy"); + // For blazor hosting + app.UseBlazorFrameworkFiles(); + app.UseStaticFiles(); + app.UseRouting(); + + // Enable Authentication and Authorization middleware + if (builder.Configuration.GetSection(nameof(AuthSettings)).GetValue("AuthenticationRequired")) + { + app.UseAuthentication(); + } + app.UseAuthorization(); + + app.UseHttpLogging(); + + app.Use(async (context, next) => + { + await next(); + + if (context.Response.StatusCode == StatusCodes.Status404NotFound) + { + Log.Error("Unknown request from: {RemoteIpAddress} {Method} {Path} {StatusCode}", + context.Connection.RemoteIpAddress, context.Request.Method, context.Request.Path, context.Response.StatusCode); + Log.Error("Request headers: {Headers}", context.Request.Headers); + } + else if (context.Response.StatusCode != StatusCodes.Status200OK) + { + Log.Warning("Unsuccessful request from: {RemoteIpAddress} {Method} {Path} {StatusCode}", + context.Connection.RemoteIpAddress, context.Request.Method, context.Request.Path, context.Response.StatusCode); + Log.Warning("Request headers: {Headers}", context.Request.Headers); + } + }); + app.MapControllers(); + app.MapFallbackToFile("index.html"); + + app.UseWhen( + context => context.Request.Path.StartsWithSegments("/sys/servlet/PowerOn", StringComparison.InvariantCulture), + applicationBuilder => applicationBuilder.UseAllNetRequestMiddleware()); + + app.Run(); +} +catch (Exception ex) when (ex.GetType().Name is not "HostAbortedException") +{ + Log.Fatal(ex, "Unhandled exception"); +} +finally +{ + Log.Information("Shut down complete"); + Log.CloseAndFlush(); +} \ No newline at end of file diff --git a/Server/Server.csproj b/Server/Server.csproj index 06e001a..f208afc 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -4,14 +4,143 @@ net8.0 enable enable + 2.0.0-beta + 12 + false + app.manifest + + true + true + true + + + + $([System.DateTime]::UtcNow.ToString("yyyy-MM-dd HH:mm:ss")) + + + + + <_Parameter1>BuildTime + <_Parameter2>$(BuildTime) + + + + + + + + + + + + + - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + + diff --git a/Server/Utils/FormOutputUtil.cs b/Server/Utils/FormOutputUtil.cs new file mode 100644 index 0000000..5e3c469 --- /dev/null +++ b/Server/Utils/FormOutputUtil.cs @@ -0,0 +1,20 @@ +using System.Text; + +namespace Server.Utils; + +public static class FormOutputUtil +{ + public static string ToFormOutput(Dictionary response) + { + var responseStr = new StringBuilder(); + foreach (var pair in response) + { + responseStr.Append(pair.Key) + .Append('=') + .Append(pair.Value) + .Append('&'); + } + + return responseStr.ToString().TrimEnd('&'); + } +} \ No newline at end of file diff --git a/Server/wwwroot/data/dan_data.json b/Server/wwwroot/data/dan_data.json new file mode 100644 index 0000000..d39ed99 --- /dev/null +++ b/Server/wwwroot/data/dan_data.json @@ -0,0 +1,938 @@ +[ + { + "danId":1, + "verupNo":1, + "title":"5kyuu", + "aryOdaiSong":[ + { + "songNo":420, + "level":2, + "isHiddenSongName":false + }, + { + "songNo":881, + "level":2, + "isHiddenSongName":false + }, + { + "songNo":995, + "level":2, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":92, + "goldBorderTotal":95 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":884, + "goldBorderTotal":936 + } + ] + }, + { + "danId":2, + "verupNo":1, + "title":"4kyuu", + "aryOdaiSong":[ + { + "songNo":828, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":882, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":284, + "level":3, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":94, + "goldBorderTotal":97 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":1171, + "goldBorderTotal":1235 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":92, + "goldBorderTotal":78 + } + ] + }, + { + "danId":3, + "verupNo":1, + "title":"3kyuu", + "aryOdaiSong":[ + { + "songNo":268, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":1035, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":1079, + "level":3, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":95, + "goldBorderTotal":99 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":1521, + "goldBorderTotal":1586 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":70, + "goldBorderTotal":47 + } + ] + }, + { + "danId":4, + "verupNo":1, + "title":"2kyuu", + "aryOdaiSong":[ + { + "songNo":84, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":405, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":730, + "level":3, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":96, + "goldBorderTotal":100 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":1287, + "goldBorderTotal":1328 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":47, + "goldBorderTotal":23 + } + ] + }, + { + "danId":5, + "verupNo":1, + "title":"1kyuu", + "aryOdaiSong":[ + { + "songNo":907, + "level":3, + "isHiddenSongName":false + }, + { + "songNo":884, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":9, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":96, + "goldBorderTotal":100 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":1365, + "goldBorderTotal":1408 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":37, + "goldBorderTotal":31 + } + ] + }, + { + "danId":6, + "verupNo":1, + "title":"1dan", + "aryOdaiSong":[ + { + "songNo":384, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":273, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1100, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":97, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":934, + "goldBorderTotal":980 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":30, + "goldBorderTotal":15 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":58, + "goldBorder_1":65, + "redBorder_2":75, + "goldBorder_2":84, + "redBorder_3":29, + "goldBorder_3":33 + } + ] + }, + { + "danId":7, + "verupNo":1, + "title":"2dan", + "aryOdaiSong":[ + { + "songNo":436, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":305, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1053, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":98, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":976, + "goldBorderTotal":1021 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":26, + "goldBorderTotal":14 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":63, + "goldBorder_1":71, + "redBorder_2":80, + "goldBorder_2":90, + "redBorder_3":139, + "goldBorder_3":157 + } + ] + }, + { + "danId":8, + "verupNo":1, + "title":"3dan", + "aryOdaiSong":[ + { + "songNo":973, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":364, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":426, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":99, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1254, + "goldBorderTotal":1308 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":28, + "goldBorderTotal":14 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":29, + "goldBorder_1":33, + "redBorder_2":26, + "goldBorder_2":30, + "redBorder_3":132, + "goldBorder_3":148 + } + ] + }, + { + "danId":9, + "verupNo":1, + "title":"4dan", + "aryOdaiSong":[ + { + "songNo":212, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":184, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":137, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":99, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1371, + "goldBorderTotal":1427 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":25, + "goldBorderTotal":12 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":0, + "goldBorder_1":0, + "redBorder_2":11, + "goldBorder_2":13, + "redBorder_3":106, + "goldBorder_3":119 + } + ] + }, + { + "danId":10, + "verupNo":1, + "title":"5dan", + "aryOdaiSong":[ + { + "songNo":855, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":950, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":53, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":99, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1276, + "goldBorderTotal":1325 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":19, + "goldBorderTotal":9 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":126, + "goldBorder_1":141, + "redBorder_2":199, + "goldBorder_2":222, + "redBorder_3":28, + "goldBorder_3":32 + } + ] + }, + { + "danId":11, + "verupNo":1, + "title":"6dan", + "aryOdaiSong":[ + { + "songNo":963, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":918, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":270, + "level":5, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1745, + "goldBorderTotal":1809 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":21, + "goldBorderTotal":10 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":154, + "goldBorder_1":165, + "redBorder_2":28, + "goldBorder_2":30, + "redBorder_3":0, + "goldBorder_3":0 + } + ] + }, + { + "danId":12, + "verupNo":1, + "title":"7dan", + "aryOdaiSong":[ + { + "songNo":919, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":445, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":202, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1764, + "goldBorderTotal":1826 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":16, + "goldBorderTotal":8 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":135, + "goldBorder_1":148, + "redBorder_2":68, + "goldBorder_2":74, + "redBorder_3":288, + "goldBorder_3":317 + } + ] + }, + { + "danId":13, + "verupNo":1, + "title":"8dan", + "aryOdaiSong":[ + { + "songNo":684, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":164, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1015, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":1892, + "goldBorderTotal":1955 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":12, + "goldBorderTotal":6 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":85, + "goldBorder_1":92, + "redBorder_2":72, + "goldBorder_2":76, + "redBorder_3":115, + "goldBorder_3":123 + } + ] + }, + { + "danId":14, + "verupNo":1, + "title":"9dan", + "aryOdaiSong":[ + { + "songNo":568, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":117, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":21, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":2, + "borderType":1, + "redBorderTotal":2045, + "goldBorderTotal":2100 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":10, + "goldBorderTotal":5 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":107, + "goldBorder_1":114, + "redBorder_2":74, + "goldBorder_2":79, + "redBorder_3":54, + "goldBorder_3":59 + } + ] + }, + { + "danId":15, + "verupNo":1, + "title":"10dan", + "aryOdaiSong":[ + { + "songNo":502, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":360, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1104, + "level":4, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":3, + "borderType":2, + "redBorder_1":20, + "goldBorder_1":11, + "redBorder_2":25, + "goldBorder_2":13, + "redBorder_3":30, + "goldBorder_3":16 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":7, + "goldBorderTotal":3 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":127, + "goldBorder_1":137, + "redBorder_2":16, + "goldBorder_2":17, + "redBorder_3":45, + "goldBorder_3":49 + } + ] + }, + { + "danId":16, + "verupNo":1, + "title":"11dan", + "aryOdaiSong":[ + { + "songNo":774, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":954, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1121, + "level":5, + "isHiddenSongName":true + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":3, + "borderType":1, + "redBorderTotal":50, + "goldBorderTotal":25 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":6, + "goldBorderTotal":4 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":155, + "goldBorder_1":171, + "redBorder_2":54, + "goldBorder_2":62, + "redBorder_3":70, + "goldBorder_3":72 + } + ] + }, + { + "danId":17, + "verupNo":1, + "title":"12dan", + "aryOdaiSong":[ + { + "songNo":736, + "level":5, + "isHiddenSongName":false + }, + { + "songNo":748, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1120, + "level":5, + "isHiddenSongName":true + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":3, + "borderType":1, + "redBorderTotal":30, + "goldBorderTotal":15 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":5, + "goldBorderTotal":2 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":139, + "goldBorder_1":163, + "redBorder_2":58, + "goldBorder_2":69, + "redBorder_3":132, + "goldBorder_3":139 + } + ] + }, + { + "danId":18, + "verupNo":1, + "title":"13dan", + "aryOdaiSong":[ + { + "songNo":982, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":990, + "level":4, + "isHiddenSongName":false + }, + { + "songNo":1122, + "level":5, + "isHiddenSongName":true + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":3, + "borderType":1, + "redBorderTotal":15, + "goldBorderTotal":6 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":4, + "goldBorderTotal":2 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":86, + "goldBorder_1":96, + "redBorder_2":0, + "goldBorder_2":0, + "redBorder_3":232, + "goldBorder_3":273 + } + ] + }, + { + "danId":19, + "verupNo":1, + "title":"14dan", + "aryOdaiSong":[ + { + "songNo":555, + "level":4, + "isHiddenSongName":true + }, + { + "songNo":721, + "level":5, + "isHiddenSongName":true + }, + { + "songNo":1129, + "level":5, + "isHiddenSongName":true + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":100, + "goldBorderTotal":100 + }, + { + "odaiType":3, + "borderType":1, + "redBorderTotal":8, + "goldBorderTotal":1 + }, + { + "odaiType":4, + "borderType":1, + "redBorderTotal":3, + "goldBorderTotal":1 + }, + { + "odaiType":6, + "borderType":2, + "redBorder_1":34, + "goldBorder_1":35, + "redBorder_2":17, + "goldBorder_2":22, + "redBorder_3":40, + "goldBorder_3":50 + } + ] + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/datatable/.placeholder b/Server/wwwroot/data/datatable/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/Server/wwwroot/data/event_folder_data.json b/Server/wwwroot/data/event_folder_data.json new file mode 100644 index 0000000..9e5dd84 --- /dev/null +++ b/Server/wwwroot/data/event_folder_data.json @@ -0,0 +1,84 @@ +[ + { + "folderId": 1, + "verupNo": 1, + "priority": 1, + "songNo": [] + }, + { + "folderId": 2, + "verupNo": 1, + "priority": 1, + "songNo": [ + 478, 153, 200, 482, 511, 672, 675, 646, 644, 645, 676, 671, 479, + 707, 480, 481, 203, 204, 483, 205, 202, 241, 14, 387, 197, 281, 226, + 484, 543, 512, 709, 35 + ] + }, + { + "folderId": 3, + "verupNo": 1, + "priority": 1, + "songNo": [ + 1485, 1404, 1580, 1730, 1750, 1277, 1478, 1481, 1482, 1484, 1500, + 1890, 2349, 2604, 2640, 1176, 1419, 1596, 1693, 2248, 1049, 1221, + 1222, 1223, 1224, 1493, 1578, 1719, 2650, 1595, 1964, 1469, 1217, + 1314, 1406, 1565, 1745, 2120, 2200, 2324, 2785, 1631, 2301, 2802, + 1490, 2088, 2268, 2309, 2507, 2126, 1630, 2509, 1263, 2495, 2642, + 2745, 1054, 2583, 1271, 1266, 1267, 2923 + ] + }, + { + "folderId": 4, + "verupNo": 1, + "priority": 1, + "songNo": [ + 1361, 1366, 1373, 1379, 1337, 1345, 1357, 1362, 1367, 1368, 1369, + 1374, 1375, 1388, 1390, 1579, 2225, 1354, 1394, 2804, 1340, 1341, + 1370, 1376, 1384, 1359, 1385, 2416, 2756, 1363, 1920, 1353, 1360, + 1381, 1389, 1364, 1391, 1342, 1546, 1931 + ] + }, + { + "folderId": 5, + "verupNo": 1, + "priority": 1, + "songNo": [242, 430, 368, 604, 333] + }, + { + "folderId": 6, + "verupNo": 1, + "priority": 1, + "songNo": [841, 767, 658, 467, 468, 466, 460, 157, 465] + }, + { + "folderId": 7, + "verupNo": 1, + "priority": 1, + "songNo": [733, 732, 44, 790, 894] + }, + { + "folderId": 8, + "verupNo": 1, + "priority": 1, + "songNo": [] + }, + { + "folderId": 12, + "verupNo": 1, + "priority": 1, + "songNo": [] + }, + { + "folderId": 13, + "verupNo": 1, + "priority": 1, + "songNo": [] + }, + { + "folderId": 14, + "verupNo": 1, + "priority": 1, + "songNo": [] + } +] diff --git a/Server/wwwroot/data/gaiden_data.json b/Server/wwwroot/data/gaiden_data.json new file mode 100644 index 0000000..d732bb2 --- /dev/null +++ b/Server/wwwroot/data/gaiden_data.json @@ -0,0 +1,38 @@ +[ + { + "danId":20, + "verupNo":1, + "title":"gaiden_2022_odai_7", + "aryOdaiSong":[ + { + "songNo":828, + "level":2, + "isHiddenSongName":false + }, + { + "songNo":187, + "level":2, + "isHiddenSongName":false + }, + { + "songNo":789, + "level":2, + "isHiddenSongName":false + } + ], + "aryOdaiBorder":[ + { + "odaiType":1, + "borderType":1, + "redBorderTotal":92, + "goldBorderTotal":95 + }, + { + "odaiType":8, + "borderType":1, + "redBorderTotal":786, + "goldBorderTotal":832 + } + ] + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/intro_data.json b/Server/wwwroot/data/intro_data.json new file mode 100644 index 0000000..e5941d2 --- /dev/null +++ b/Server/wwwroot/data/intro_data.json @@ -0,0 +1,74 @@ +[ + { + "setId":1, + "verupNo":1, + "mainSongNo":1115, + "subSongNo":[1022,7,1089,1059] + }, + { + "setId":2, + "verupNo":1, + "mainSongNo":1102, + "subSongNo":[1065,966,1008,916] + }, + { + "setId":3, + "verupNo":1, + "mainSongNo":1091, + "subSongNo":[1009,1064,36,965] + }, + { + "setId":4, + "verupNo":1, + "mainSongNo":1117, + "subSongNo":[122,42,430,256] + }, + { + "setId":5, + "verupNo":1, + "mainSongNo":1116, + "subSongNo":[885,985,1003,1063] + }, + { + "setId":6, + "verupNo":1, + "mainSongNo":1101, + "subSongNo":[915,1004,47,1054] + }, + { + "setId":7, + "verupNo":1, + "mainSongNo":1111, + "subSongNo":[1028,937,374,1062] + }, + { + "setId":8, + "verupNo":1, + "mainSongNo":1112, + "subSongNo":[1065,1090,1073,1087] + }, + { + "setId":9, + "verupNo":1, + "mainSongNo":1090, + "subSongNo":[1112,1003,1007,1088] + }, + { + "setId":10, + "verupNo":1, + "mainSongNo":1113, + "subSongNo":[1061,1056,1060,1016] + }, + { + "setId":11, + "verupNo":1, + "mainSongNo":1127, + "subSongNo":[1038,665,1004,1088] + }, + { + "setId":12, + "verupNo":1, + "mainSongNo":1126, + "subSongNo":[1077,1030,730,1092] + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/locked_costume_data.json b/Server/wwwroot/data/locked_costume_data.json new file mode 100644 index 0000000..de9c7f9 --- /dev/null +++ b/Server/wwwroot/data/locked_costume_data.json @@ -0,0 +1,17 @@ +{ + "kigurumi": [ + + ], + "head": [ + + ], + "body": [ + + ], + "face": [ + + ], + "puchi": [ + + ] +} \ No newline at end of file diff --git a/Server/wwwroot/data/locked_songs_data.json b/Server/wwwroot/data/locked_songs_data.json new file mode 100644 index 0000000..9d21a53 --- /dev/null +++ b/Server/wwwroot/data/locked_songs_data.json @@ -0,0 +1,8 @@ +{ + "songNo": [ + + ], + "uraSongNo": [ + + ] +} \ No newline at end of file diff --git a/Server/wwwroot/data/locked_title_data.json b/Server/wwwroot/data/locked_title_data.json new file mode 100644 index 0000000..5285708 --- /dev/null +++ b/Server/wwwroot/data/locked_title_data.json @@ -0,0 +1,8 @@ +{ + "title": [ + + ], + "titlePlate": [ + + ] +} \ No newline at end of file diff --git a/Server/wwwroot/data/movie_data.json b/Server/wwwroot/data/movie_data.json new file mode 100644 index 0000000..00e2ed7 --- /dev/null +++ b/Server/wwwroot/data/movie_data.json @@ -0,0 +1,6 @@ +[ + { + "movie_id": 0, + "enable_days": 0 + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/qrcode_data.json b/Server/wwwroot/data/qrcode_data.json new file mode 100644 index 0000000..f2dd12e --- /dev/null +++ b/Server/wwwroot/data/qrcode_data.json @@ -0,0 +1,394 @@ +[ + { + "serial": "COLLABO_IDOLiSH7_2020_01", + "id": 100002001 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_02", + "id": 100002002 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_03", + "id": 100002003 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_04", + "id": 100002004 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_05", + "id": 100002005 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_06", + "id": 100002006 + }, + { + "serial": "COLLABO_IDOLiSH7_2020_07", + "id": 100002007 + }, + { + "serial": "COLLABO_TOHO_2020", + "id": 100003001 + }, + { + "serial": "COLLABO_TOHO_2022", + "id": 150019001 + }, + { + "serial": "COLLABO_ONEPIECE_2021_01", + "id": 100010001 + }, + { + "serial": "COLLABO_ONEPIECE_2021_02", + "id": 100012001 + }, + { + "serial": "COLLABO_IMAS_2021_01", + "id": 110008001 + }, + { + "serial": "COLLABO_IMAS_2021_02", + "id": 110008002 + }, + { + "serial": "COLLABO_IMAS_2021_03", + "id": 110008003 + }, + { + "serial": "COLLABO_IMAS_2021_04", + "id": 110008004 + }, + { + "serial": "COLLABO_IMAS_2021_05", + "id": 110008005 + }, + { + "serial": "COLLABO_IMAS_2021_06", + "id": 110008006 + }, + { + "serial": "COLLABO_IMAS_2021_07", + "id": 110008007 + }, + { + "serial": "COLLABO_IMAS_2021_08", + "id": 110008008 + }, + { + "serial": "COLLABO_IMAS_2021_09", + "id": 110008009 + }, + { + "serial": "COLLABO_IMAS_2021_10", + "id": 110008010 + }, + { + "serial": "COLLABO_IMAS_2021_11", + "id": 110008011 + }, + { + "serial": "COLLABO_IMAS_2021_12", + "id": 110008012 + }, + { + "serial": "COLLABO_IMAS_2021_13", + "id": 110008013 + }, + { + "serial": "FOLDER2020W", + "id": 308000001 + }, + { + "serial": "FOLDER2021W", + "id": 308000002 + }, + { + "serial": "FOLDER2022SU", + "id": 308000003 + }, + { + "serial": "APRIL2021_01", + "id": 308001001 + }, + { + "serial": "APRIL2022_01", + "id": 308001002 + }, + { + "serial": "APRIL2023_01", + "id": 100021001 + }, + { + "serial": "FOLDERFUA1", + "id": 308002001 + }, + { + "serial": "FOLDERFUA2", + "id": 308002002 + }, + { + "serial": "FOLDERFUA3", + "id": 308002003 + }, + { + "serial": "FOLDERFUA4", + "id": 308002004 + }, + { + "serial": "FOLDERFUA5", + "id": 308002005 + }, + { + "serial": "FOLDERFUA6", + "id": 308002006 + }, + { + "serial": "FOLDERFUA7", + "id": 308002007 + }, + { + "serial": "FOLDERFUA8", + "id": 308002008 + }, + { + "serial": "DG_2022_KD", + "id": 708000001 + }, + { + "serial": "DG_2022_SORA10", + "id": 708000002 + }, + { + "serial": "DG_2022_MOMO10", + "id": 708000003 + }, + { + "serial": "DG_2022_MOMOTA", + "id": 708000004 + }, + { + "serial": "DG_2022_KIMI10", + "id": 708000005 + }, + { + "serial": "DG_2022_KIMITA", + "id": 708000006 + }, + { + "serial": "DG_2022_MURA10", + "id": 708000007 + }, + { + "serial": "DG_2022_MURATA", + "id": 708000008 + }, + { + "serial": "DG_2022_WHIT10", + "id": 708000009 + }, + { + "serial": "DG_2022_WHITTA", + "id": 708000010 + }, + { + "serial": "DG_2022_RED10", + "id": 708000011 + }, + { + "serial": "DG_2022_REDTA", + "id": 708000012 + }, + { + "serial": "DG_2022_YELL10", + "id": 708000013 + }, + { + "serial": "DG_2022_YELLTA", + "id": 708000014 + }, + { + "serial": "DG_2022_BULE10", + "id": 708000015 + }, + { + "serial": "DG_2022_BULETA", + "id": 708000016 + }, + { + "serial": "DG_2022_GREE10", + "id": 708000017 + }, + { + "serial": "DG_2022_GREETA", + "id": 708000018 + }, + { + "serial": "DG_2022_NIJI10", + "id": 708000019 + }, + { + "serial": "DG_2022_NIJITA", + "id": 708000020 + }, + { + "serial": "DG_2022_CHOSEN01", + "id": 708000021 + }, + { + "serial": "DG_2022_STEMYU01", + "id": 708000022 + }, + { + "serial": "DG_2022_765CMB_L", + "id": 708000023 + }, + { + "serial": "DG_2022_765CMB_M", + "id": 708000024 + }, + { + "serial": "DG_2022_765CMB_H", + "id": 708000025 + }, + { + "serial": "DG_2022_YMSBC01_L", + "id": 708000026 + }, + { + "serial": "DG_2022_YMSBC01_M", + "id": 708000027 + }, + { + "serial": "DG_2022_YMSBC01_H", + "id": 708000028 + }, + { + "serial": "DG_2022_VSEC1_L", + "id": 708000029 + }, + { + "serial": "DG_2022_VSEC1_M", + "id": 708000030 + }, + { + "serial": "DG_2022_VSEC1_H", + "id": 708000031 + }, + { + "serial": "DG_2022_GREEKR", + "id": 708000032 + }, + { + "serial": "DG_2022_GREEMJ", + "id": 708000033 + }, + { + "serial": "DG_2022_GREECJ", + "id": 708000034 + }, + { + "serial": "DG_2022_GREEKR_LOAD", + "id": 708000035 + }, + { + "serial": "DG_2022_GREEMJ_LOAD", + "id": 708000036 + }, + { + "serial": "DG_2022_GREECJ_LOAD", + "id": 708000037 + }, + { + "serial": "DG_2022_HALLOW_L", + "id": 708000038 + }, + { + "serial": "DG_2022_HALLOW_M", + "id": 708000039 + }, + { + "serial": "DG_2022_HALLOW_H", + "id": 708000040 + }, + { + "serial": "DG_2022_280OVR_L", + "id": 708000041 + }, + { + "serial": "DG_2022_285OVR_M", + "id": 708000042 + }, + { + "serial": "DG_2022_290OVR_H", + "id": 708000043 + }, + { + "serial": "DG_2022_SUEP01", + "id": 708000044 + }, + { + "serial": "DG_2022_PS23SEC1_L", + "id": 708000045 + }, + { + "serial": "DG_2022_PS23SEC1_M", + "id": 708000046 + }, + { + "serial": "DG_2022_PS23SEC1_H", + "id": 708000047 + }, + { + "serial": "DG_2022_VOFES01", + "id": 708000048 + }, + { + "serial": "DG_2022_VOFES02", + "id": 708000049 + }, + { + "serial": "DG_2022_MKP01", + "id": 708000050 + }, + { + "serial": "DG_2022_MKP02", + "id": 708000051 + }, + { + "serial": "DG_2022_DONSCH_L", + "id": 708000052 + }, + { + "serial": "DG_2022_DONSCH_M", + "id": 708000053 + }, + { + "serial": "DG_2022_DONSCH_H", + "id": 708000054 + }, + { + "serial": "DG_2022_555CMB", + "id": 708000055 + }, + { + "serial": "DG_2022_666CMB", + "id": 708000056 + }, + { + "serial": "DG_2022_777CMB", + "id": 708000057 + }, + { + "serial": "DG_2022_1800ROLL_M", + "id": 708000058 + }, + { + "serial": "DG_2022_2500ROLL_M", + "id": 708000059 + }, + { + "serial": "TOURNAMENT_2021_01", + "id": 988002001 + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/shop_folder_data.json b/Server/wwwroot/data/shop_folder_data.json new file mode 100644 index 0000000..cea2773 --- /dev/null +++ b/Server/wwwroot/data/shop_folder_data.json @@ -0,0 +1,12 @@ +[ + { + "songNo": 1, + "type": 0, + "price": 0 + }, + { + "songNo": 9, + "type": 1, + "price": 0 + } +] \ No newline at end of file diff --git a/Server/wwwroot/data/token_data.json b/Server/wwwroot/data/token_data.json new file mode 100644 index 0000000..a3ccbea --- /dev/null +++ b/Server/wwwroot/data/token_data.json @@ -0,0 +1,26 @@ +{ + "seasonTokenId": -1, + "eventTokenId": -1, + "onePieceTokenId": 100100, + "soshinaTokenId": 100200, + "Yatsushika1TokenId": 100300, + "Yatsushika2TokenId": 100301, + "Yatsushika3TokenId": 100302, + "Yatsushika4TokenId": 100303, + "MaskedKid1TokenId": 100305, + "MaskedKid2TokenId": 100306, + "MaskedKid3TokenId": 100307, + "MaskedKid4TokenId": 100308, + "Kiyoshi1TokenId": 100310, + "Kiyoshi2TokenId": 100311, + "Kiyoshi3TokenId": 100312, + "Kiyoshi4TokenId": 100313, + "Amitie1TokenId": 100315, + "Amitie2TokenId": 100316, + "Amitie3TokenId": 100317, + "Amitie4TokenId": 100318, + "Machina1TokenId": 100320, + "Machina2TokenId": 100321, + "Machina3TokenId": 100322, + "Machina4TokenId": 100323 +} \ No newline at end of file diff --git a/Shared/GlobalUsings.cs b/Shared/GlobalUsings.cs new file mode 100644 index 0000000..dda7759 --- /dev/null +++ b/Shared/GlobalUsings.cs @@ -0,0 +1,3 @@ +// Global using directives + +global using Domain.Models; \ No newline at end of file diff --git a/Shared/Models/Requests/BindAccessCodeRequest.cs b/Shared/Models/Requests/BindAccessCodeRequest.cs new file mode 100644 index 0000000..7b2099f --- /dev/null +++ b/Shared/Models/Requests/BindAccessCodeRequest.cs @@ -0,0 +1,8 @@ +namespace Shared.Models.Requests; + +public class BindAccessCodeRequest +{ + public string AccessCode { get; set; } = string.Empty; + + public uint Baid { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Requests/ChangePasswordRequest.cs b/Shared/Models/Requests/ChangePasswordRequest.cs new file mode 100644 index 0000000..039fe57 --- /dev/null +++ b/Shared/Models/Requests/ChangePasswordRequest.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; + +namespace Shared.Models.Requests; + +public class ChangePasswordRequest +{ + public uint Baid { get; set; } + + public string OldPassword { get; set; } = string.Empty; + + [Required] + [StringLength(32, MinimumLength = 1, ErrorMessage = "Password must be between 1 and 32 characters.")] + public string NewPassword { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/Shared/Models/Requests/GenerateOtpRequest.cs b/Shared/Models/Requests/GenerateOtpRequest.cs new file mode 100644 index 0000000..713fd62 --- /dev/null +++ b/Shared/Models/Requests/GenerateOtpRequest.cs @@ -0,0 +1,6 @@ +namespace Shared.Models.Requests; + +public class GenerateOtpRequest +{ + public uint Baid { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Requests/GetSongLeaderboardRequest.cs b/Shared/Models/Requests/GetSongLeaderboardRequest.cs new file mode 100644 index 0000000..4a681e7 --- /dev/null +++ b/Shared/Models/Requests/GetSongLeaderboardRequest.cs @@ -0,0 +1,19 @@ +using System.ComponentModel.DataAnnotations; +using Domain.Enums; + +namespace Shared.Models.Requests; + +public class GetSongLeaderboardRequest +{ + public uint SongId { get; set; } + + [EnumDataType(typeof(Difficulty), ErrorMessage = "Difficulty must be a valid value.")] + public Difficulty Difficulty { get; set; } + + [Required] + [Range(0, int.MaxValue, ErrorMessage = "Page number cannot be less than 1.")] + public int Page { get; set; } = 1; + + [Range(1, 200, ErrorMessage = "Limit cannot be greater than 200.")] + public int Limit { get; set; } = 10; +} \ No newline at end of file diff --git a/Shared/Models/Requests/GetUsersRequest.cs b/Shared/Models/Requests/GetUsersRequest.cs new file mode 100644 index 0000000..af45b81 --- /dev/null +++ b/Shared/Models/Requests/GetUsersRequest.cs @@ -0,0 +1,15 @@ +using System.ComponentModel.DataAnnotations; + +namespace Shared.Models.Requests; + +public class GetUsersRequest +{ + [Required] + [Range(0, int.MaxValue, ErrorMessage = "Page number cannot be less than 1.")] + public int Page { get; set; } = 1; + + [Range(1, 200, ErrorMessage = "Limit cannot be greater than 200.")] + public int Limit { get; set; } = 10; + + public string? SearchTerm { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Requests/LoginRequest.cs b/Shared/Models/Requests/LoginRequest.cs new file mode 100644 index 0000000..5b1f4cc --- /dev/null +++ b/Shared/Models/Requests/LoginRequest.cs @@ -0,0 +1,7 @@ +namespace Shared.Models.Requests; + +public class LoginRequest +{ + public string AccessCode { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/Shared/Models/Requests/RegisterRequest.cs b/Shared/Models/Requests/RegisterRequest.cs new file mode 100644 index 0000000..90b65ac --- /dev/null +++ b/Shared/Models/Requests/RegisterRequest.cs @@ -0,0 +1,15 @@ +using System.ComponentModel.DataAnnotations; + +namespace Shared.Models.Requests; + +public class RegisterRequest +{ + public string AccessCode { get; set; } = string.Empty; + + [Required] + [StringLength(32, MinimumLength = 1, ErrorMessage = "Password must be between 1 and 32 characters.")] + public string Password { get; set; } = string.Empty; + public bool RegisterWithLastPlayTime { get; set; } + public DateTime LastPlayDateTime { get; set; } + public string InviteCode { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/Shared/Models/Requests/ResetPasswordRequest.cs b/Shared/Models/Requests/ResetPasswordRequest.cs new file mode 100644 index 0000000..4998675 --- /dev/null +++ b/Shared/Models/Requests/ResetPasswordRequest.cs @@ -0,0 +1,6 @@ +namespace Shared.Models.Requests; + +public class ResetPasswordRequest +{ + public uint Baid { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Requests/SetFavoriteRequest.cs b/Shared/Models/Requests/SetFavoriteRequest.cs new file mode 100644 index 0000000..9ec5134 --- /dev/null +++ b/Shared/Models/Requests/SetFavoriteRequest.cs @@ -0,0 +1,8 @@ +namespace Shared.Models.Requests; + +public class SetFavoriteRequest +{ + public uint Baid { get; set; } + public uint SongId { get; set; } + public bool IsFavorite { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Requests/VerifyOtpRequest.cs b/Shared/Models/Requests/VerifyOtpRequest.cs new file mode 100644 index 0000000..e18dd16 --- /dev/null +++ b/Shared/Models/Requests/VerifyOtpRequest.cs @@ -0,0 +1,8 @@ +namespace Shared.Models.Requests; + +public class VerifyOtpRequest +{ + public string Otp { get; set; } = ""; + + public uint Baid { get; set; } +} \ No newline at end of file diff --git a/Shared/Models/Responses/DanBestDataResponse.cs b/Shared/Models/Responses/DanBestDataResponse.cs new file mode 100644 index 0000000..1077370 --- /dev/null +++ b/Shared/Models/Responses/DanBestDataResponse.cs @@ -0,0 +1,6 @@ +namespace Shared.Models.Responses; + +public class DanBestDataResponse +{ + public List DanBestDataList { get; set; } = new(); +} \ No newline at end of file diff --git a/Shared/Models/Responses/SongBestResponse.cs b/Shared/Models/Responses/SongBestResponse.cs new file mode 100644 index 0000000..5149b2c --- /dev/null +++ b/Shared/Models/Responses/SongBestResponse.cs @@ -0,0 +1,6 @@ +namespace Shared.Models.Responses; + +public class SongBestResponse +{ + public List SongBestData { get; set; } = new(); +} \ No newline at end of file diff --git a/Shared/Models/Responses/SongHistoryResponse.cs b/Shared/Models/Responses/SongHistoryResponse.cs new file mode 100644 index 0000000..d9a13ce --- /dev/null +++ b/Shared/Models/Responses/SongHistoryResponse.cs @@ -0,0 +1,6 @@ +namespace Shared.Models.Responses; + +public class SongHistoryResponse +{ + public List SongHistoryData { get; set; } = new(); +} diff --git a/Shared/Models/Responses/SongLeaderboardResponse.cs b/Shared/Models/Responses/SongLeaderboardResponse.cs new file mode 100644 index 0000000..6b7dbc8 --- /dev/null +++ b/Shared/Models/Responses/SongLeaderboardResponse.cs @@ -0,0 +1,11 @@ +namespace Shared.Models.Responses; + +public class SongLeaderboardResponse +{ + public List LeaderboardData { get; set; } = new(); + public SongLeaderboard? UserScore { get; set; } = null; + public int CurrentPage { get; set; } + public int TotalPages { get; set; } = 0; + + public int TotalScores { get; set; } = 0; +} \ No newline at end of file diff --git a/Shared/Models/Responses/UsersResponse.cs b/Shared/Models/Responses/UsersResponse.cs new file mode 100644 index 0000000..4613dfc --- /dev/null +++ b/Shared/Models/Responses/UsersResponse.cs @@ -0,0 +1,9 @@ +namespace Shared.Models.Responses; + +public class UsersResponse +{ + public List Users { get; set; } = new(); + public int Page { get; set; } = 1; + public int TotalPages { get; set; } = 0; + public int TotalUsers { get; set; } = 0; +} \ No newline at end of file diff --git a/TaikoLocalServer.sln b/TaikoLocalServer.sln index c888231..819d4b9 100644 --- a/TaikoLocalServer.sln +++ b/TaikoLocalServer.sln @@ -19,6 +19,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure", "Infrastru EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{9A00FEB4-6D69-4153-97D8-3AF99C446B70}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared", "Shared\Shared.csproj", "{4F54B688-9C4A-4CE2-AF80-5D62F6614643}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -57,6 +59,10 @@ Global {9A00FEB4-6D69-4153-97D8-3AF99C446B70}.Debug|Any CPU.Build.0 = Debug|Any CPU {9A00FEB4-6D69-4153-97D8-3AF99C446B70}.Release|Any CPU.ActiveCfg = Release|Any CPU {9A00FEB4-6D69-4153-97D8-3AF99C446B70}.Release|Any CPU.Build.0 = Release|Any CPU + {4F54B688-9C4A-4CE2-AF80-5D62F6614643}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4F54B688-9C4A-4CE2-AF80-5D62F6614643}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4F54B688-9C4A-4CE2-AF80-5D62F6614643}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4F54B688-9C4A-4CE2-AF80-5D62F6614643}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE