Major API rework for paradigm change (#10)
* start with group permissions implementation * refactor group dto stuff * adjustments to api as necessary from client * more api refactor for UserData * use implicit usings and file scoped namespaces * fix userpermissionsextensions * fix extenions * add more comparers * adjust comparers * remove admin stuff (tbd migration to discord bot) * adjust extensions * code style for api --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
19
MareSynchronosAPI/Dto/ConnectionDto.cs
Normal file
19
MareSynchronosAPI/Dto/ConnectionDto.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto;
|
||||
|
||||
public record ConnectionDto(UserData User)
|
||||
{
|
||||
public int ServerVersion { get; set; }
|
||||
public bool IsAdmin { get; set; }
|
||||
public bool IsModerator { get; set; }
|
||||
public ServerInfo ServerInfo { get; set; } = new();
|
||||
}
|
||||
|
||||
public record ServerInfo
|
||||
{
|
||||
public string ShardName { get; set; } = string.Empty;
|
||||
public int MaxGroupUserCount { get; set; }
|
||||
public int MaxGroupsCreatedByUser { get; set; }
|
||||
public int MaxGroupsJoinedByUser { get; set; }
|
||||
}
|
||||
11
MareSynchronosAPI/Dto/Files/DownloadFileDto.cs
Normal file
11
MareSynchronosAPI/Dto/Files/DownloadFileDto.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace MareSynchronos.API.Dto.Files;
|
||||
|
||||
public record DownloadFileDto : ITransferFileDto
|
||||
{
|
||||
public bool FileExists { get; set; } = true;
|
||||
public string Hash { get; set; } = string.Empty;
|
||||
public string Url { get; set; } = string.Empty;
|
||||
public long Size { get; set; } = 0;
|
||||
public bool IsForbidden { get; set; } = false;
|
||||
public string ForbiddenBy { get; set; } = string.Empty;
|
||||
}
|
||||
7
MareSynchronosAPI/Dto/Files/ForbiddenUploadsDto.cs
Normal file
7
MareSynchronosAPI/Dto/Files/ForbiddenUploadsDto.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace MareSynchronos.API.Dto.Files;
|
||||
|
||||
public record ForbiddenFileDto
|
||||
{
|
||||
public string Hash { get; set; } = string.Empty;
|
||||
public string ForbiddenBy { get; set; } = string.Empty;
|
||||
}
|
||||
8
MareSynchronosAPI/Dto/Files/ITransferFileDto.cs
Normal file
8
MareSynchronosAPI/Dto/Files/ITransferFileDto.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace MareSynchronos.API.Dto.Files;
|
||||
|
||||
public interface ITransferFileDto
|
||||
{
|
||||
string Hash { get; set; }
|
||||
bool IsForbidden { get; set; }
|
||||
string ForbiddenBy { get; set; }
|
||||
}
|
||||
8
MareSynchronosAPI/Dto/Files/UploadFileDto.cs
Normal file
8
MareSynchronosAPI/Dto/Files/UploadFileDto.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace MareSynchronos.API.Dto.Files;
|
||||
|
||||
public record UploadFileDto : ITransferFileDto
|
||||
{
|
||||
public string Hash { get; set; } = string.Empty;
|
||||
public bool IsForbidden { get; set; } = false;
|
||||
public string ForbiddenBy { get; set; } = string.Empty;
|
||||
}
|
||||
17
MareSynchronosAPI/Dto/Group/BannedGroupUserDto.cs
Normal file
17
MareSynchronosAPI/Dto/Group/BannedGroupUserDto.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record BannedGroupUserDto : GroupPairDto
|
||||
{
|
||||
public BannedGroupUserDto(GroupData group, UserData user, string reason, DateTime bannedOn, string bannedBy) : base(group, user)
|
||||
{
|
||||
Reason = reason;
|
||||
BannedOn = bannedOn;
|
||||
BannedBy = bannedBy;
|
||||
}
|
||||
|
||||
public string Reason { get; set; }
|
||||
public DateTime BannedOn { get; set; }
|
||||
public string BannedBy { get; set; }
|
||||
}
|
||||
11
MareSynchronosAPI/Dto/Group/GroupDto.cs
Normal file
11
MareSynchronosAPI/Dto/Group/GroupDto.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupDto(GroupData Group)
|
||||
{
|
||||
public GroupData Group { get; set; } = Group;
|
||||
public string GID => Group.GID;
|
||||
public string? GroupAlias => Group.Alias;
|
||||
public string GroupAliasOrGID => Group.AliasOrGID;
|
||||
}
|
||||
10
MareSynchronosAPI/Dto/Group/GroupFullInfoDto.cs
Normal file
10
MareSynchronosAPI/Dto/Group/GroupFullInfoDto.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupFullInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions, GroupUserPermissions GroupUserPermissions, GroupUserInfo GroupUserInfo) : GroupInfoDto(Group, Owner, GroupPermissions)
|
||||
{
|
||||
public GroupUserPermissions GroupUserPermissions { get; set; } = GroupUserPermissions;
|
||||
public GroupUserInfo GroupUserInfo { get; set; } = GroupUserInfo;
|
||||
}
|
||||
14
MareSynchronosAPI/Dto/Group/GroupInfoDto.cs
Normal file
14
MareSynchronosAPI/Dto/Group/GroupInfoDto.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions) : GroupDto(Group)
|
||||
{
|
||||
public GroupPermissions GroupPermissions { get; set; } = GroupPermissions;
|
||||
public UserData Owner { get; set; } = Owner;
|
||||
|
||||
public string OwnerUID => Owner.UID;
|
||||
public string? OwnerAlias => Owner.Alias;
|
||||
public string OwnerAliasOrUID => Owner.AliasOrUID;
|
||||
}
|
||||
10
MareSynchronosAPI/Dto/Group/GroupPairDto.cs
Normal file
10
MareSynchronosAPI/Dto/Group/GroupPairDto.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPairDto(GroupData Group, UserData User) : GroupDto(Group)
|
||||
{
|
||||
public string UID => User.UID;
|
||||
public string? UserAlias => User.Alias;
|
||||
public string UserAliasOrUID => User.AliasOrUID;
|
||||
}
|
||||
10
MareSynchronosAPI/Dto/Group/GroupPairFullInfoDto.cs
Normal file
10
MareSynchronosAPI/Dto/Group/GroupPairFullInfoDto.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPairFullInfoDto(GroupData Group, UserData User, GroupUserInfo GroupPairStatusInfo, GroupUserPermissions GroupUserPermissions) : GroupPairDto(Group, User)
|
||||
{
|
||||
public GroupUserInfo GroupPairStatusInfo { get; set; } = GroupPairStatusInfo;
|
||||
public GroupUserPermissions GroupUserPermissions { get; set; } = GroupUserPermissions;
|
||||
}
|
||||
6
MareSynchronosAPI/Dto/Group/GroupPairUserInfoDto.cs
Normal file
6
MareSynchronosAPI/Dto/Group/GroupPairUserInfoDto.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPairUserInfoDto(GroupData Group, UserData User, GroupUserInfo GroupUserInfo) : GroupPairDto(Group, User);
|
||||
@@ -0,0 +1,6 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPairUserPermissionDto(GroupData Group, UserData User, GroupUserPermissions GroupPairPermissions) : GroupPairDto(Group, User);
|
||||
5
MareSynchronosAPI/Dto/Group/GroupPasswordDto.cs
Normal file
5
MareSynchronosAPI/Dto/Group/GroupPasswordDto.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPasswordDto(GroupData Group, string Password) : GroupDto(Group);
|
||||
6
MareSynchronosAPI/Dto/Group/GroupPermissionDto.cs
Normal file
6
MareSynchronosAPI/Dto/Group/GroupPermissionDto.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.Group;
|
||||
|
||||
public record GroupPermissionDto(GroupData Group, GroupPermissions Permissions) : GroupDto(Group);
|
||||
6
MareSynchronosAPI/Dto/SystemInfoDto.cs
Normal file
6
MareSynchronosAPI/Dto/SystemInfoDto.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace MareSynchronos.API.Dto;
|
||||
|
||||
public record SystemInfoDto
|
||||
{
|
||||
public int OnlineUsers { get; set; }
|
||||
}
|
||||
5
MareSynchronosAPI/Dto/User/OnlineUserCharaDataDto.cs
Normal file
5
MareSynchronosAPI/Dto/User/OnlineUserCharaDataDto.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record OnlineUserCharaDataDto(UserData User, CharacterData CharaData) : UserDto(User);
|
||||
5
MareSynchronosAPI/Dto/User/OnlineUserIdentDto.cs
Normal file
5
MareSynchronosAPI/Dto/User/OnlineUserIdentDto.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record OnlineUserIdentDto(UserData User, string Ident) : UserDto(User);
|
||||
5
MareSynchronosAPI/Dto/User/UserCharaDataMessageDto.cs
Normal file
5
MareSynchronosAPI/Dto/User/UserCharaDataMessageDto.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record UserCharaDataMessageDto(List<UserData> Recipients, CharacterData CharaData);
|
||||
5
MareSynchronosAPI/Dto/User/UserDto.cs
Normal file
5
MareSynchronosAPI/Dto/User/UserDto.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using MareSynchronos.API.Data;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record UserDto(UserData User);
|
||||
10
MareSynchronosAPI/Dto/User/UserPairDto.cs
Normal file
10
MareSynchronosAPI/Dto/User/UserPairDto.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record UserPairDto(UserData User, UserPermissions OwnPermissions, UserPermissions OtherPermissions) : UserDto(User)
|
||||
{
|
||||
public UserPermissions OwnPermissions { get; set; } = OwnPermissions;
|
||||
public UserPermissions OtherPermissions { get; set; } = OtherPermissions;
|
||||
}
|
||||
6
MareSynchronosAPI/Dto/User/UserPermissionsDto.cs
Normal file
6
MareSynchronosAPI/Dto/User/UserPermissionsDto.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
|
||||
namespace MareSynchronos.API.Dto.User;
|
||||
|
||||
public record UserPermissionsDto(UserData User, UserPermissions Permissions) : UserDto(User);
|
||||
Reference in New Issue
Block a user