Compare commits
	
		
			10 Commits
		
	
	
		
			1163f38f70
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b2f4453b79 | ||
|   | 8b77956ec8 | ||
|   | 4e4b2dab17 | ||
|   | fef2365280 | ||
|   | 4d8c380dab | ||
|   | c8cc217d66 | ||
|   | 9c9b7d90c1 | ||
|   | e007d99f02 | ||
|   | b529a101ae | ||
|   | cd8934a4ab | 
| @@ -31,5 +31,6 @@ public class CharacterData | |||||||
|     public string HeelsData { get; set; } = string.Empty; |     public string HeelsData { get; set; } = string.Empty; | ||||||
|     public string HonorificData { get; set; } = string.Empty; |     public string HonorificData { get; set; } = string.Empty; | ||||||
|     public string ManipulationData { get; set; } = string.Empty; |     public string ManipulationData { get; set; } = string.Empty; | ||||||
|     public string PalettePlusData { get; set; } = string.Empty; |     public string MoodlesData { get; set; } = string.Empty; | ||||||
|  |     public string PetNamesData { get; set; } = string.Empty; | ||||||
| } | } | ||||||
							
								
								
									
										11
									
								
								MareSynchronosAPI/Data/ChatMessage.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								MareSynchronosAPI/Data/ChatMessage.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Data; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record ChatMessage | ||||||
|  | { | ||||||
|  |     public string SenderName { get; set; } = string.Empty; | ||||||
|  |     public uint SenderHomeWorldId { get; set; } = 0; | ||||||
|  |     public byte[] PayloadContent { get; set; } = []; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								MareSynchronosAPI/Data/SignedChatMessage.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								MareSynchronosAPI/Data/SignedChatMessage.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Data; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record SignedChatMessage(ChatMessage Message, UserData Sender) : ChatMessage(Message) | ||||||
|  | { | ||||||
|  |     // Sender and timestamp are set by the server | ||||||
|  |     public UserData Sender { get; set; } = Sender; | ||||||
|  |     public long Timestamp { get; set; } = 0; | ||||||
|  |     // Signature is generated by the server as SHA256(Sender.UID | Timestamp | Destination | Message) | ||||||
|  |     // Where Destination is either the receiver's UID, or the group GID | ||||||
|  |     public string Signature { get; set; } = string.Empty; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								MareSynchronosAPI/Dto/Account/RegisterReplyV2Dto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								MareSynchronosAPI/Dto/Account/RegisterReplyV2Dto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.Account; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record RegisterReplyV2Dto | ||||||
|  | { | ||||||
|  |     public bool Success { get; set; } = false; | ||||||
|  |     public string ErrorMessage { get; set; } = string.Empty; | ||||||
|  |     public string UID { get; set; } = string.Empty; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								MareSynchronosAPI/Dto/AuthReplyDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								MareSynchronosAPI/Dto/AuthReplyDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record AuthReplyDto | ||||||
|  | { | ||||||
|  |     public string Token { get; set; } = string.Empty; | ||||||
|  |     public string? WellKnown { get; set; } | ||||||
|  | } | ||||||
							
								
								
									
										9
									
								
								MareSynchronosAPI/Dto/CharaData/AccessTypeDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								MareSynchronosAPI/Dto/CharaData/AccessTypeDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | public enum AccessTypeDto | ||||||
|  | { | ||||||
|  |     Individuals, | ||||||
|  |     ClosePairs, | ||||||
|  |     AllPairs, | ||||||
|  |     Public | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataDownloadDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataDownloadDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record CharaDataDownloadDto(string Id, UserData Uploader) : CharaDataDto(Id, Uploader) | ||||||
|  | { | ||||||
|  |     public string GlamourerData { get; init; } = string.Empty; | ||||||
|  |     public string CustomizeData { get; init; } = string.Empty; | ||||||
|  |     public string ManipulationData { get; set; } = string.Empty; | ||||||
|  |     public List<GamePathEntry> FileGamePaths { get; init; } = []; | ||||||
|  |     public List<GamePathEntry> FileSwaps { get; init; } = []; | ||||||
|  | } | ||||||
							
								
								
									
										9
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | public record CharaDataDto(string Id, UserData Uploader) | ||||||
|  | { | ||||||
|  |     public string Description { get; init; } = string.Empty; | ||||||
|  |     public DateTime UpdatedDate { get; init; } | ||||||
|  | } | ||||||
							
								
								
									
										88
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataFullDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataFullDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record CharaDataFullDto(string Id, UserData Uploader) : CharaDataDto(Id, Uploader) | ||||||
|  | { | ||||||
|  |     public DateTime CreatedDate { get; init; } | ||||||
|  |     public DateTime ExpiryDate { get; set; } | ||||||
|  |     public string GlamourerData { get; set; } = string.Empty; | ||||||
|  |     public string CustomizeData { get; set; } = string.Empty; | ||||||
|  |     public string ManipulationData { get; set; } = string.Empty; | ||||||
|  |     public int DownloadCount { get; set; } = 0; | ||||||
|  |     public List<UserData> AllowedUsers { get; set; } = []; | ||||||
|  |     public List<GroupData> AllowedGroups { get; set; } = []; | ||||||
|  |     public List<GamePathEntry> FileGamePaths { get; set; } = []; | ||||||
|  |     public List<GamePathEntry> FileSwaps { get; set; } = []; | ||||||
|  |     public List<GamePathEntry> OriginalFiles { get; set; } = []; | ||||||
|  |     public AccessTypeDto AccessType { get; set; } | ||||||
|  |     public ShareTypeDto ShareType { get; set; } | ||||||
|  |     public List<PoseEntry> PoseData { get; set; } = []; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record GamePathEntry(string HashOrFileSwap, string GamePath); | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record PoseEntry(long? Id) | ||||||
|  | { | ||||||
|  |     public string? Description { get; set; } = string.Empty; | ||||||
|  |     public string? PoseData { get; set; } = string.Empty; | ||||||
|  |     public WorldData? WorldData { get; set; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [MessagePackObject] | ||||||
|  | public record struct WorldData | ||||||
|  | { | ||||||
|  |     [Key(0)] public LocationInfo LocationInfo { get; set; } | ||||||
|  |     [Key(1)] public float PositionX { get; set; } | ||||||
|  |     [Key(2)] public float PositionY { get; set; } | ||||||
|  |     [Key(3)] public float PositionZ { get; set; } | ||||||
|  |     [Key(4)] public float RotationX { get; set; } | ||||||
|  |     [Key(5)] public float RotationY { get; set; } | ||||||
|  |     [Key(6)] public float RotationZ { get; set; } | ||||||
|  |     [Key(7)] public float RotationW { get; set; } | ||||||
|  |     [Key(8)] public float ScaleX { get; set; } | ||||||
|  |     [Key(9)] public float ScaleY { get; set; } | ||||||
|  |     [Key(10)] public float ScaleZ { get; set; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [MessagePackObject] | ||||||
|  | public record struct LocationInfo | ||||||
|  | { | ||||||
|  |     [Key(0)] public uint ServerId { get; set; } | ||||||
|  |     [Key(1)] public uint MapId { get; set; } | ||||||
|  |     [Key(2)] public uint TerritoryId { get; set; } | ||||||
|  |     [Key(3)] public uint DivisionId { get; set; } | ||||||
|  |     [Key(4)] public uint WardId { get; set; } | ||||||
|  |     [Key(5)] public uint HouseId { get; set; } | ||||||
|  |     [Key(6)] public uint RoomId { get; set; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [MessagePackObject] | ||||||
|  | public record struct PoseData | ||||||
|  | { | ||||||
|  |     [Key(0)] public bool IsDelta { get; set; } | ||||||
|  |     [Key(1)] public Dictionary<string, BoneData> Bones { get; set; } | ||||||
|  |     [Key(2)] public Dictionary<string, BoneData> MainHand { get; set; } | ||||||
|  |     [Key(3)] public Dictionary<string, BoneData> OffHand { get; set; } | ||||||
|  |     [Key(4)] public BoneData ModelDifference { get; set; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | [MessagePackObject] | ||||||
|  | public record struct BoneData | ||||||
|  | { | ||||||
|  |     [Key(0)] public bool Exists { get; set; } | ||||||
|  |     [Key(1)] public float PositionX { get; set; } | ||||||
|  |     [Key(2)] public float PositionY { get; set; } | ||||||
|  |     [Key(3)] public float PositionZ { get; set; } | ||||||
|  |     [Key(4)] public float RotationX { get; set; } | ||||||
|  |     [Key(5)] public float RotationY { get; set; } | ||||||
|  |     [Key(6)] public float RotationZ { get; set; } | ||||||
|  |     [Key(7)] public float RotationW { get; set; } | ||||||
|  |     [Key(8)] public float ScaleX { get; set; } | ||||||
|  |     [Key(9)] public float ScaleY { get; set; } | ||||||
|  |     [Key(10)] public float ScaleZ { get; set; } | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataMetaInfoDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataMetaInfoDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record CharaDataMetaInfoDto(string Id, UserData Uploader) : CharaDataDto(Id, Uploader) | ||||||
|  | { | ||||||
|  |     public bool CanBeDownloaded { get; init; } | ||||||
|  |     public List<PoseEntry> PoseData { get; set; } = []; | ||||||
|  | } | ||||||
							
								
								
									
										20
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataUpdateDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								MareSynchronosAPI/Dto/CharaData/CharaDataUpdateDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record CharaDataUpdateDto(string Id) | ||||||
|  | { | ||||||
|  |     public string? Description { get; set; } | ||||||
|  |     public DateTime? ExpiryDate { get; set; } | ||||||
|  |     public string? GlamourerData { get; set; } | ||||||
|  |     public string? CustomizeData { get; set; } | ||||||
|  |     public string? ManipulationData { get; set; } | ||||||
|  |     public List<string>? AllowedUsers { get; set; } | ||||||
|  |     public List<string>? AllowedGroups { get; set; } | ||||||
|  |     public List<GamePathEntry>? FileGamePaths { get; set; } | ||||||
|  |     public List<GamePathEntry>? FileSwaps { get; set; } | ||||||
|  |     public AccessTypeDto? AccessType { get; set; } | ||||||
|  |     public ShareTypeDto? ShareType { get; set; } | ||||||
|  |     public List<PoseEntry>? Poses { get; set; } | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								MareSynchronosAPI/Dto/CharaData/ShareTypeDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								MareSynchronosAPI/Dto/CharaData/ShareTypeDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | namespace MareSynchronos.API.Dto.CharaData; | ||||||
|  |  | ||||||
|  | public enum ShareTypeDto | ||||||
|  | { | ||||||
|  |     Private, | ||||||
|  |     Shared | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								MareSynchronosAPI/Dto/Chat/GroupChatMsgDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								MareSynchronosAPI/Dto/Chat/GroupChatMsgDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MareSynchronos.API.Dto.Group; | ||||||
|  | using MareSynchronos.API.Dto.User; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.Chat; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record GroupChatMsgDto(GroupDto Group, SignedChatMessage Message) | ||||||
|  | { | ||||||
|  |     public GroupDto Group = Group; | ||||||
|  |     public SignedChatMessage Message = Message; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								MareSynchronosAPI/Dto/Chat/UserChatMsgDto.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								MareSynchronosAPI/Dto/Chat/UserChatMsgDto.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | using MareSynchronos.API.Data; | ||||||
|  | using MareSynchronos.API.Dto.User; | ||||||
|  | using MessagePack; | ||||||
|  |  | ||||||
|  | namespace MareSynchronos.API.Dto.Chat; | ||||||
|  |  | ||||||
|  | [MessagePackObject(keyAsPropertyName: true)] | ||||||
|  | public record UserChatMsgDto(SignedChatMessage Message) | ||||||
|  | { | ||||||
|  |     public SignedChatMessage Message = Message; | ||||||
|  | } | ||||||
| @@ -21,4 +21,5 @@ public record ServerInfo | |||||||
|     public int MaxGroupsCreatedByUser { get; set; } |     public int MaxGroupsCreatedByUser { get; set; } | ||||||
|     public int MaxGroupsJoinedByUser { get; set; } |     public int MaxGroupsJoinedByUser { get; set; } | ||||||
|     public Uri FileServerAddress { get; set; } = new Uri("http://nonemptyuri"); |     public Uri FileServerAddress { get; set; } = new Uri("http://nonemptyuri"); | ||||||
|  |     public int MaxCharaData { get; set; } | ||||||
| } | } | ||||||
| @@ -1,13 +1,13 @@ | |||||||
| <Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||||
|  |  | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <TargetFramework>net7.0</TargetFramework> |     <TargetFramework>net8.0</TargetFramework> | ||||||
|     <Nullable>enable</Nullable> |     <Nullable>enable</Nullable> | ||||||
|     <ImplicitUsings>enable</ImplicitUsings> |     <ImplicitUsings>enable</ImplicitUsings> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="MessagePack.Annotations" Version="2.5.108" /> |     <PackageReference Include="MessagePack.Annotations" Version="2.5.129" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |  | ||||||
| </Project> | </Project> | ||||||
|   | |||||||
| @@ -2,10 +2,13 @@ | |||||||
|  |  | ||||||
| public class MareAuth | public class MareAuth | ||||||
| { | { | ||||||
|  |  | ||||||
|     public const string Auth = "/auth"; |     public const string Auth = "/auth"; | ||||||
|     public const string Auth_CreateIdent = "createWithIdent"; |     public const string Auth_CreateIdent = "createWithIdent"; | ||||||
|  |     public const string Auth_CreateIdentV2 = "createWithIdentV2"; | ||||||
|     public const string Auth_Register = "registerNewKey"; |     public const string Auth_Register = "registerNewKey"; | ||||||
|  |     public const string Auth_RegisterV2 = "registerNewKeyV2"; | ||||||
|     public static Uri AuthFullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_CreateIdent); |     public static Uri AuthFullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_CreateIdent); | ||||||
|  |     public static Uri AuthV2FullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_CreateIdentV2); | ||||||
|     public static Uri AuthRegisterFullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_Register); |     public static Uri AuthRegisterFullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_Register); | ||||||
|  |     public static Uri AuthRegisterV2FullPath(Uri baseUri) => new Uri(baseUri, Auth + "/" + Auth_RegisterV2); | ||||||
| } | } | ||||||
| @@ -4,52 +4,42 @@ public class MareFiles | |||||||
| { | { | ||||||
|     public const string Cache = "/cache"; |     public const string Cache = "/cache"; | ||||||
|     public const string Cache_Get = "get"; |     public const string Cache_Get = "get"; | ||||||
|  |  | ||||||
|     public const string Request = "/request"; |     public const string Request = "/request"; | ||||||
|  |  | ||||||
|     public const string Request_Cancel = "cancel"; |     public const string Request_Cancel = "cancel"; | ||||||
|  |  | ||||||
|     public const string Request_Check = "check"; |     public const string Request_Check = "check"; | ||||||
|  |  | ||||||
|     public const string Request_Enqueue = "enqueue"; |     public const string Request_Enqueue = "enqueue"; | ||||||
|  |  | ||||||
|     public const string Request_RequestFile = "file"; |     public const string Request_RequestFile = "file"; | ||||||
|  |  | ||||||
|     public const string ServerFiles = "/files"; |     public const string ServerFiles = "/files"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_DeleteAll = "deleteAll"; |     public const string ServerFiles_DeleteAll = "deleteAll"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_FilesSend = "filesSend"; |     public const string ServerFiles_FilesSend = "filesSend"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_Get = "get"; |  | ||||||
|  |  | ||||||
|     public const string ServerFiles_GetSizes = "getFileSizes"; |     public const string ServerFiles_GetSizes = "getFileSizes"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_Upload = "upload"; |     public const string ServerFiles_Upload = "upload"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_UploadRaw = "uploadRaw"; |     public const string ServerFiles_UploadRaw = "uploadRaw"; | ||||||
|  |  | ||||||
|     public const string ServerFiles_UploadMunged = "uploadMunged"; |     public const string ServerFiles_UploadMunged = "uploadMunged"; | ||||||
|  |  | ||||||
|  |     public const string Distribution = "/dist"; | ||||||
|  |     public const string Distribution_Get = "get"; | ||||||
|  |  | ||||||
|  |     public const string Main = "/main"; | ||||||
|  |     public const string Main_SendReady = "sendReady"; | ||||||
|  |  | ||||||
|     public static Uri CacheGetFullPath(Uri baseUri, Guid requestId) => new(baseUri, Cache + "/" + Cache_Get + "?requestId=" + requestId.ToString()); |     public static Uri CacheGetFullPath(Uri baseUri, Guid requestId) => new(baseUri, Cache + "/" + Cache_Get + "?requestId=" + requestId.ToString()); | ||||||
|  |  | ||||||
|     public static Uri RequestCancelFullPath(Uri baseUri, Guid guid) => new Uri(baseUri, Request + "/" + Request_Cancel + "?requestId=" + guid.ToString()); |     public static Uri RequestCancelFullPath(Uri baseUri, Guid guid) => new Uri(baseUri, Request + "/" + Request_Cancel + "?requestId=" + guid.ToString()); | ||||||
|  |  | ||||||
|     public static Uri RequestCheckQueueFullPath(Uri baseUri, Guid guid) => new Uri(baseUri, Request + "/" + Request_Check + "?requestId=" + guid.ToString()); |     public static Uri RequestCheckQueueFullPath(Uri baseUri, Guid guid) => new Uri(baseUri, Request + "/" + Request_Check + "?requestId=" + guid.ToString()); | ||||||
|  |  | ||||||
|     public static Uri RequestEnqueueFullPath(Uri baseUri) => new(baseUri, Request + "/" + Request_Enqueue); |     public static Uri RequestEnqueueFullPath(Uri baseUri) => new(baseUri, Request + "/" + Request_Enqueue); | ||||||
|  |  | ||||||
|     public static Uri RequestRequestFileFullPath(Uri baseUri, string hash) => new(baseUri, Request + "/" + Request_RequestFile + "?file=" + hash); |     public static Uri RequestRequestFileFullPath(Uri baseUri, string hash) => new(baseUri, Request + "/" + Request_RequestFile + "?file=" + hash); | ||||||
|  |  | ||||||
|     public static Uri ServerFilesDeleteAllFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_DeleteAll); |     public static Uri ServerFilesDeleteAllFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_DeleteAll); | ||||||
|  |  | ||||||
|     public static Uri ServerFilesFilesSendFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_FilesSend); |     public static Uri ServerFilesFilesSendFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_FilesSend); | ||||||
|  |  | ||||||
|     public static Uri ServerFilesGetFullPath(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_Get + "/" + hash); |  | ||||||
|  |  | ||||||
|     public static Uri ServerFilesGetSizesFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_GetSizes); |     public static Uri ServerFilesGetSizesFullPath(Uri baseUri) => new(baseUri, ServerFiles + "/" + ServerFiles_GetSizes); | ||||||
|  |  | ||||||
|     public static Uri ServerFilesUploadFullPath(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_Upload + "/" + hash); |     public static Uri ServerFilesUploadFullPath(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_Upload + "/" + hash); | ||||||
|  |  | ||||||
|     public static Uri ServerFilesUploadRawFullPath(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_UploadRaw + "/" + hash); |     public static Uri ServerFilesUploadRawFullPath(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_UploadRaw + "/" + hash); | ||||||
|     public static Uri ServerFilesUploadMunged(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_UploadMunged + "/" + hash); |     public static Uri ServerFilesUploadMunged(Uri baseUri, string hash) => new(baseUri, ServerFiles + "/" + ServerFiles_UploadMunged + "/" + hash); | ||||||
|  |  | ||||||
|  |     public static Uri DistributionGetFullPath(Uri baseUri, string hash) => new(baseUri, Distribution + "/" + Distribution_Get + "?file=" + hash); | ||||||
|  |  | ||||||
|  |     public static Uri MainSendReadyFullPath(Uri baseUri, string uid, Guid request) => new(baseUri, Main + "/" + Main_SendReady + "/" + "?uid=" + uid + "&requestId=" + request.ToString()); | ||||||
| } | } | ||||||
| @@ -1,5 +1,8 @@ | |||||||
| using MareSynchronos.API.Data.Enum; | using MareSynchronos.API.Data; | ||||||
|  | using MareSynchronos.API.Data.Enum; | ||||||
| using MareSynchronos.API.Dto; | using MareSynchronos.API.Dto; | ||||||
|  | using MareSynchronos.API.Dto.CharaData; | ||||||
|  | using MareSynchronos.API.Dto.Chat; | ||||||
| using MareSynchronos.API.Dto.Group; | using MareSynchronos.API.Dto.Group; | ||||||
| using MareSynchronos.API.Dto.User; | using MareSynchronos.API.Dto.User; | ||||||
|  |  | ||||||
| @@ -16,6 +19,8 @@ public interface IMareHub | |||||||
|  |  | ||||||
|     Task Client_GroupChangePermissions(GroupPermissionDto groupPermission); |     Task Client_GroupChangePermissions(GroupPermissionDto groupPermission); | ||||||
|  |  | ||||||
|  |     Task Client_GroupChatMsg(GroupChatMsgDto groupChatMsgDto); | ||||||
|  |  | ||||||
|     Task Client_GroupDelete(GroupDto groupDto); |     Task Client_GroupDelete(GroupDto groupDto); | ||||||
|  |  | ||||||
|     Task Client_GroupPairChangePermissions(GroupPairUserPermissionDto permissionDto); |     Task Client_GroupPairChangePermissions(GroupPairUserPermissionDto permissionDto); | ||||||
| @@ -36,6 +41,8 @@ public interface IMareHub | |||||||
|  |  | ||||||
|     Task Client_UserAddClientPair(UserPairDto dto); |     Task Client_UserAddClientPair(UserPairDto dto); | ||||||
|  |  | ||||||
|  |     Task Client_UserChatMsg(UserChatMsgDto chatMsgDto); | ||||||
|  |  | ||||||
|     Task Client_UserReceiveCharacterData(OnlineUserCharaDataDto dataDto); |     Task Client_UserReceiveCharacterData(OnlineUserCharaDataDto dataDto); | ||||||
|  |  | ||||||
|     Task Client_UserReceiveUploadStatus(UserDto dto); |     Task Client_UserReceiveUploadStatus(UserDto dto); | ||||||
| @@ -52,6 +59,12 @@ public interface IMareHub | |||||||
|  |  | ||||||
|     Task Client_UserUpdateSelfPairPermissions(UserPermissionsDto dto); |     Task Client_UserUpdateSelfPairPermissions(UserPermissionsDto dto); | ||||||
|  |  | ||||||
|  |     Task Client_GposeLobbyJoin(UserData userData); | ||||||
|  |     Task Client_GposeLobbyLeave(UserData userData); | ||||||
|  |     Task Client_GposeLobbyPushCharacterData(CharaDataDownloadDto charaDownloadDto); | ||||||
|  |     Task Client_GposeLobbyPushPoseData(UserData userData, PoseData poseData); | ||||||
|  |     Task Client_GposeLobbyPushWorldData(UserData userData, WorldData worldData); | ||||||
|  |  | ||||||
|     Task<ConnectionDto> GetConnectionDto(); |     Task<ConnectionDto> GetConnectionDto(); | ||||||
|  |  | ||||||
|     Task GroupBanUser(GroupPairDto dto, string reason); |     Task GroupBanUser(GroupPairDto dto, string reason); | ||||||
| @@ -64,6 +77,8 @@ public interface IMareHub | |||||||
|  |  | ||||||
|     Task<bool> GroupChangePassword(GroupPasswordDto groupPassword); |     Task<bool> GroupChangePassword(GroupPasswordDto groupPassword); | ||||||
|  |  | ||||||
|  |     Task GroupChatSendMsg(GroupDto group, ChatMessage message); | ||||||
|  |  | ||||||
|     Task GroupClear(GroupDto group); |     Task GroupClear(GroupDto group); | ||||||
|  |  | ||||||
|     Task<GroupPasswordDto> GroupCreate(); |     Task<GroupPasswordDto> GroupCreate(); | ||||||
| @@ -91,6 +106,8 @@ public interface IMareHub | |||||||
|  |  | ||||||
|     Task UserAddPair(UserDto user); |     Task UserAddPair(UserDto user); | ||||||
|  |  | ||||||
|  |     Task UserChatSendMsg(UserDto user, ChatMessage message); | ||||||
|  |  | ||||||
|     Task UserDelete(); |     Task UserDelete(); | ||||||
|  |  | ||||||
|     Task<List<OnlineUserIdentDto>> UserGetOnlinePairs(); |     Task<List<OnlineUserIdentDto>> UserGetOnlinePairs(); | ||||||
| @@ -108,4 +125,20 @@ public interface IMareHub | |||||||
|     Task UserSetPairPermissions(UserPermissionsDto userPermissions); |     Task UserSetPairPermissions(UserPermissionsDto userPermissions); | ||||||
|  |  | ||||||
|     Task UserSetProfile(UserProfileDto userDescription); |     Task UserSetProfile(UserProfileDto userDescription); | ||||||
|  |  | ||||||
|  |     Task<CharaDataFullDto?> CharaDataCreate(); | ||||||
|  |     Task<CharaDataFullDto?> CharaDataUpdate(CharaDataUpdateDto updateDto); | ||||||
|  |     Task<bool> CharaDataDelete(string id); | ||||||
|  |     Task<CharaDataMetaInfoDto?> CharaDataGetMetainfo(string id); | ||||||
|  |     Task<CharaDataDownloadDto?> CharaDataDownload(string id); | ||||||
|  |     Task<List<CharaDataFullDto>> CharaDataGetOwn(); | ||||||
|  |     Task<List<CharaDataMetaInfoDto>> CharaDataGetShared(); | ||||||
|  |     Task<CharaDataFullDto?> CharaDataAttemptRestore(string id); | ||||||
|  |  | ||||||
|  |     Task<string> GposeLobbyCreate(); | ||||||
|  |     Task<List<UserData>> GposeLobbyJoin(string lobbyId); | ||||||
|  |     Task<bool> GposeLobbyLeave(); | ||||||
|  |     Task GposeLobbyPushCharacterData(CharaDataDownloadDto charaDownloadDto); | ||||||
|  |     Task GposeLobbyPushPoseData(PoseData poseData); | ||||||
|  |     Task GposeLobbyPushWorldData(WorldData worldData); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,5 +1,8 @@ | |||||||
| using MareSynchronos.API.Data.Enum; | using MareSynchronos.API.Data; | ||||||
|  | using MareSynchronos.API.Data.Enum; | ||||||
| using MareSynchronos.API.Dto; | using MareSynchronos.API.Dto; | ||||||
|  | using MareSynchronos.API.Dto.CharaData; | ||||||
|  | using MareSynchronos.API.Dto.Chat; | ||||||
| using MareSynchronos.API.Dto.Group; | using MareSynchronos.API.Dto.Group; | ||||||
| using MareSynchronos.API.Dto.User; | using MareSynchronos.API.Dto.User; | ||||||
|  |  | ||||||
| @@ -11,6 +14,8 @@ public interface IMareHubClient : IMareHub | |||||||
|  |  | ||||||
|     void OnGroupChangePermissions(Action<GroupPermissionDto> act); |     void OnGroupChangePermissions(Action<GroupPermissionDto> act); | ||||||
|  |  | ||||||
|  |     void OnGroupChatMsg(Action<GroupChatMsgDto> groupChatMsgDto); | ||||||
|  |  | ||||||
|     void OnGroupDelete(Action<GroupDto> act); |     void OnGroupDelete(Action<GroupDto> act); | ||||||
|  |  | ||||||
|     void OnGroupPairChangePermissions(Action<GroupPairUserPermissionDto> act); |     void OnGroupPairChangePermissions(Action<GroupPairUserPermissionDto> act); | ||||||
| @@ -31,6 +36,8 @@ public interface IMareHubClient : IMareHub | |||||||
|  |  | ||||||
|     void OnUserAddClientPair(Action<UserPairDto> act); |     void OnUserAddClientPair(Action<UserPairDto> act); | ||||||
|  |  | ||||||
|  |     void OnUserChatMsg(Action<UserChatMsgDto> chatMsgDto); | ||||||
|  |  | ||||||
|     void OnUserReceiveCharacterData(Action<OnlineUserCharaDataDto> act); |     void OnUserReceiveCharacterData(Action<OnlineUserCharaDataDto> act); | ||||||
|  |  | ||||||
|     void OnUserReceiveUploadStatus(Action<UserDto> act); |     void OnUserReceiveUploadStatus(Action<UserDto> act); | ||||||
| @@ -46,4 +53,10 @@ public interface IMareHubClient : IMareHub | |||||||
|     void OnUserUpdateProfile(Action<UserDto> act); |     void OnUserUpdateProfile(Action<UserDto> act); | ||||||
|  |  | ||||||
|     void OnUserUpdateSelfPairPermissions(Action<UserPermissionsDto> act); |     void OnUserUpdateSelfPairPermissions(Action<UserPermissionsDto> act); | ||||||
|  |  | ||||||
|  |     void OnGposeLobbyJoin(Action<UserData> act); | ||||||
|  |     void OnGposeLobbyLeave(Action<UserData> act); | ||||||
|  |     void OnGposeLobbyPushCharacterData(Action<CharaDataDownloadDto> act); | ||||||
|  |     void OnGposeLobbyPushPoseData(Action<UserData, PoseData> act); | ||||||
|  |     void OnGposeLobbyPushWorldData(Action<UserData, WorldData> act); | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user