Messagepack (#12)
* add messagepack attributes * fix isnullorempty * bump api version --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Data;
|
namespace MareSynchronos.API.Data;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public class CharacterData : HashableDataBase
|
public class CharacterData : HashableDataBase
|
||||||
{
|
{
|
||||||
public Dictionary<ObjectKind, List<FileReplacementData>> FileReplacements { get; set; } = new();
|
public Dictionary<ObjectKind, List<FileReplacementData>> FileReplacements { get; set; } = new();
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace MareSynchronos.API.Data;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Data;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public class FileReplacementData : HashableDataBase
|
public class FileReplacementData : HashableDataBase
|
||||||
{
|
{
|
||||||
public string[] GamePaths { get; set; } = Array.Empty<string>();
|
public string[] GamePaths { get; set; } = Array.Empty<string>();
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
namespace MareSynchronos.API.Data;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Data;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupData(string GID, string? Alias = null)
|
public record GroupData(string GID, string? Alias = null)
|
||||||
{
|
{
|
||||||
public string AliasOrGID => Alias ?? GID;
|
[IgnoreMember]
|
||||||
|
public string AliasOrGID => string.IsNullOrWhiteSpace(Alias) ? GID : Alias;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using MessagePack;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Data;
|
namespace MareSynchronos.API.Data;
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
namespace MareSynchronos.API.Data;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Data;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UserData(string UID, string? Alias = null)
|
public record UserData(string UID, string? Alias = null)
|
||||||
{
|
{
|
||||||
public string AliasOrUID => Alias ?? UID;
|
[IgnoreMember]
|
||||||
|
public string AliasOrUID => string.IsNullOrWhiteSpace(Alias) ? UID : Alias;
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto;
|
namespace MareSynchronos.API.Dto;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record ConnectionDto(UserData User)
|
public record ConnectionDto(UserData User)
|
||||||
{
|
{
|
||||||
public int ServerVersion { get; set; }
|
public int ServerVersion { get; set; }
|
||||||
@@ -10,6 +12,7 @@ public record ConnectionDto(UserData User)
|
|||||||
public ServerInfo ServerInfo { get; set; } = new();
|
public ServerInfo ServerInfo { get; set; } = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record ServerInfo
|
public record ServerInfo
|
||||||
{
|
{
|
||||||
public string ShardName { get; set; } = string.Empty;
|
public string ShardName { get; set; } = string.Empty;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace MareSynchronos.API.Dto.Files;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Dto.Files;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record DownloadFileDto : ITransferFileDto
|
public record DownloadFileDto : ITransferFileDto
|
||||||
{
|
{
|
||||||
public bool FileExists { get; set; } = true;
|
public bool FileExists { get; set; } = true;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace MareSynchronos.API.Dto.Files;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Dto.Files;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record ForbiddenFileDto
|
public record ForbiddenFileDto
|
||||||
{
|
{
|
||||||
public string Hash { get; set; } = string.Empty;
|
public string Hash { get; set; } = string.Empty;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace MareSynchronos.API.Dto.Files;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Dto.Files;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UploadFileDto : ITransferFileDto
|
public record UploadFileDto : ITransferFileDto
|
||||||
{
|
{
|
||||||
public string Hash { get; set; } = string.Empty;
|
public string Hash { get; set; } = string.Empty;
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record BannedGroupUserDto : GroupPairDto
|
public record BannedGroupUserDto : GroupPairDto
|
||||||
{
|
{
|
||||||
public BannedGroupUserDto(GroupData group, UserData user, string reason, DateTime bannedOn, string bannedBy) : base(group, user)
|
public BannedGroupUserDto(GroupData group, UserData user, string reason, DateTime bannedOn, string bannedBy) : base(group, user)
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupDto(GroupData Group)
|
public record GroupDto(GroupData Group)
|
||||||
{
|
{
|
||||||
public GroupData Group { get; set; } = Group;
|
public GroupData Group { get; set; } = Group;
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupFullInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions, GroupUserPermissions GroupUserPermissions, GroupUserInfo GroupUserInfo) : GroupInfoDto(Group, Owner, GroupPermissions)
|
public record GroupFullInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions, GroupUserPermissions GroupUserPermissions, GroupUserInfo GroupUserInfo) : GroupInfoDto(Group, Owner, GroupPermissions)
|
||||||
{
|
{
|
||||||
public GroupUserPermissions GroupUserPermissions { get; set; } = GroupUserPermissions;
|
public GroupUserPermissions GroupUserPermissions { get; set; } = GroupUserPermissions;
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions) : GroupDto(Group)
|
public record GroupInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions) : GroupDto(Group)
|
||||||
{
|
{
|
||||||
public GroupPermissions GroupPermissions { get; set; } = GroupPermissions;
|
public GroupPermissions GroupPermissions { get; set; } = GroupPermissions;
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPairDto(GroupData Group, UserData User) : GroupDto(Group)
|
public record GroupPairDto(GroupData Group, UserData User) : GroupDto(Group)
|
||||||
{
|
{
|
||||||
public string UID => User.UID;
|
public string UID => User.UID;
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPairFullInfoDto(GroupData Group, UserData User, GroupUserInfo GroupPairStatusInfo, GroupUserPermissions GroupUserPermissions) : GroupPairDto(Group, User)
|
public record GroupPairFullInfoDto(GroupData Group, UserData User, GroupUserInfo GroupPairStatusInfo, GroupUserPermissions GroupUserPermissions) : GroupPairDto(Group, User)
|
||||||
{
|
{
|
||||||
public GroupUserInfo GroupPairStatusInfo { get; set; } = GroupPairStatusInfo;
|
public GroupUserInfo GroupPairStatusInfo { get; set; } = GroupPairStatusInfo;
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPairUserInfoDto(GroupData Group, UserData User, GroupUserInfo GroupUserInfo) : GroupPairDto(Group, User);
|
public record GroupPairUserInfoDto(GroupData Group, UserData User, GroupUserInfo GroupUserInfo) : GroupPairDto(Group, User);
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPairUserPermissionDto(GroupData Group, UserData User, GroupUserPermissions GroupPairPermissions) : GroupPairDto(Group, User);
|
public record GroupPairUserPermissionDto(GroupData Group, UserData User, GroupUserPermissions GroupPairPermissions) : GroupPairDto(Group, User);
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPasswordDto(GroupData Group, string Password) : GroupDto(Group);
|
public record GroupPasswordDto(GroupData Group, string Password) : GroupDto(Group);
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.Group;
|
namespace MareSynchronos.API.Dto.Group;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record GroupPermissionDto(GroupData Group, GroupPermissions Permissions) : GroupDto(Group);
|
public record GroupPermissionDto(GroupData Group, GroupPermissions Permissions) : GroupDto(Group);
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace MareSynchronos.API.Dto;
|
using MessagePack;
|
||||||
|
|
||||||
|
namespace MareSynchronos.API.Dto;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record SystemInfoDto
|
public record SystemInfoDto
|
||||||
{
|
{
|
||||||
public int OnlineUsers { get; set; }
|
public int OnlineUsers { get; set; }
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record OnlineUserCharaDataDto(UserData User, CharacterData CharaData) : UserDto(User);
|
public record OnlineUserCharaDataDto(UserData User, CharacterData CharaData) : UserDto(User);
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record OnlineUserIdentDto(UserData User, string Ident) : UserDto(User);
|
public record OnlineUserIdentDto(UserData User, string Ident) : UserDto(User);
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UserCharaDataMessageDto(List<UserData> Recipients, CharacterData CharaData);
|
public record UserCharaDataMessageDto(List<UserData> Recipients, CharacterData CharaData);
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UserDto(UserData User);
|
public record UserDto(UserData User);
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UserPairDto(UserData User, UserPermissions OwnPermissions, UserPermissions OtherPermissions) : UserDto(User)
|
public record UserPairDto(UserData User, UserPermissions OwnPermissions, UserPermissions OtherPermissions) : UserDto(User)
|
||||||
{
|
{
|
||||||
public UserPermissions OwnPermissions { get; set; } = OwnPermissions;
|
public UserPermissions OwnPermissions { get; set; } = OwnPermissions;
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using MareSynchronos.API.Data;
|
using MareSynchronos.API.Data;
|
||||||
using MareSynchronos.API.Data.Enum;
|
using MareSynchronos.API.Data.Enum;
|
||||||
|
using MessagePack;
|
||||||
|
|
||||||
namespace MareSynchronos.API.Dto.User;
|
namespace MareSynchronos.API.Dto.User;
|
||||||
|
|
||||||
|
[MessagePackObject(keyAsPropertyName: true)]
|
||||||
public record UserPermissionsDto(UserData User, UserPermissions Permissions) : UserDto(User);
|
public record UserPermissionsDto(UserData User, UserPermissions Permissions) : UserDto(User);
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="MessagePack.Annotations" Version="2.1.90" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace MareSynchronos.API.SignalR;
|
|||||||
|
|
||||||
public interface IMareHub
|
public interface IMareHub
|
||||||
{
|
{
|
||||||
const int ApiVersion = 21;
|
const int ApiVersion = 22;
|
||||||
const string Path = "/mare";
|
const string Path = "/mare";
|
||||||
|
|
||||||
Task<ConnectionDto> GetConnectionDto();
|
Task<ConnectionDto> GetConnectionDto();
|
||||||
|
|||||||
Reference in New Issue
Block a user