diff --git a/MareSynchronosAPI/Dto/Group/GroupInfoDto.cs b/MareSynchronosAPI/Dto/Group/GroupInfoDto.cs index 1a5befe..3837421 100644 --- a/MareSynchronosAPI/Dto/Group/GroupInfoDto.cs +++ b/MareSynchronosAPI/Dto/Group/GroupInfoDto.cs @@ -10,6 +10,8 @@ public record GroupInfoDto(GroupData Group, UserData Owner, GroupPermissions Gro { public GroupPermissions GroupPermissions { get; set; } = GroupPermissions; public UserData Owner { get; set; } = Owner; + public bool AutoDetectVisible { get; set; } + public bool PasswordTemporarilyDisabled { get; set; } public string OwnerUID => Owner.UID; public string? OwnerAlias => Owner.Alias; diff --git a/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryEntryDto.cs b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryEntryDto.cs new file mode 100644 index 0000000..d9b9db8 --- /dev/null +++ b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryEntryDto.cs @@ -0,0 +1,15 @@ +using MessagePack; + +namespace MareSynchronos.API.Dto.Group; + +[MessagePackObject(keyAsPropertyName: true)] +public sealed record SyncshellDiscoveryEntryDto +{ + public string GID { get; init; } = string.Empty; + public string? Alias { get; init; } + public string OwnerUID { get; init; } = string.Empty; + public string? OwnerAlias { get; init; } + public int MemberCount { get; init; } + public bool AutoAcceptPairs { get; init; } + public string? Description { get; init; } +} diff --git a/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryStateDto.cs b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryStateDto.cs new file mode 100644 index 0000000..7d2a3ed --- /dev/null +++ b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryStateDto.cs @@ -0,0 +1,11 @@ +using MessagePack; + +namespace MareSynchronos.API.Dto.Group; + +[MessagePackObject(keyAsPropertyName: true)] +public sealed record SyncshellDiscoveryStateDto +{ + public string GID { get; init; } = string.Empty; + public bool AutoDetectVisible { get; init; } + public bool PasswordTemporarilyDisabled { get; init; } +} diff --git a/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryVisibilityRequestDto.cs b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryVisibilityRequestDto.cs new file mode 100644 index 0000000..7cb1612 --- /dev/null +++ b/MareSynchronosAPI/Dto/Group/SyncshellDiscoveryVisibilityRequestDto.cs @@ -0,0 +1,10 @@ +using MessagePack; + +namespace MareSynchronos.API.Dto.Group; + +[MessagePackObject(keyAsPropertyName: true)] +public sealed record SyncshellDiscoveryVisibilityRequestDto +{ + public string GID { get; init; } = string.Empty; + public bool AutoDetectVisible { get; init; } +} diff --git a/MareSynchronosAPI/Dto/McdfShare/McdfShareEntryDto.cs b/MareSynchronosAPI/Dto/McdfShare/McdfShareEntryDto.cs new file mode 100644 index 0000000..1a944ab --- /dev/null +++ b/MareSynchronosAPI/Dto/McdfShare/McdfShareEntryDto.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; + +namespace MareSynchronos.API.Dto.McdfShare; + +public class McdfShareEntryDto +{ + public Guid Id { get; set; } + public string Description { get; set; } = string.Empty; + public DateTime CreatedUtc { get; set; } + public DateTime? UpdatedUtc { get; set; } + public DateTime? ExpiresAtUtc { get; set; } + public bool IsOwner { get; set; } + public string OwnerUid { get; set; } = string.Empty; + public string OwnerAlias { get; set; } = string.Empty; + public int DownloadCount { get; set; } + public List AllowedIndividuals { get; set; } = []; + public List AllowedSyncshells { get; set; } = []; +} diff --git a/MareSynchronosAPI/Dto/McdfShare/McdfSharePayloadDto.cs b/MareSynchronosAPI/Dto/McdfShare/McdfSharePayloadDto.cs new file mode 100644 index 0000000..a829d08 --- /dev/null +++ b/MareSynchronosAPI/Dto/McdfShare/McdfSharePayloadDto.cs @@ -0,0 +1,15 @@ +using System; + +namespace MareSynchronos.API.Dto.McdfShare; + +public class McdfSharePayloadDto +{ + public Guid ShareId { get; set; } + public string Description { get; set; } = string.Empty; + public byte[] CipherData { get; set; } = Array.Empty(); + public byte[] Nonce { get; set; } = Array.Empty(); + public byte[] Salt { get; set; } = Array.Empty(); + public byte[] Tag { get; set; } = Array.Empty(); + public DateTime CreatedUtc { get; set; } + public DateTime? ExpiresAtUtc { get; set; } +} diff --git a/MareSynchronosAPI/Dto/McdfShare/McdfShareUpdateRequestDto.cs b/MareSynchronosAPI/Dto/McdfShare/McdfShareUpdateRequestDto.cs new file mode 100644 index 0000000..2bf3645 --- /dev/null +++ b/MareSynchronosAPI/Dto/McdfShare/McdfShareUpdateRequestDto.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; + +namespace MareSynchronos.API.Dto.McdfShare; + +public class McdfShareUpdateRequestDto +{ + public Guid ShareId { get; set; } + public string Description { get; set; } = string.Empty; + public DateTime? ExpiresAtUtc { get; set; } + public List AllowedIndividuals { get; set; } = []; + public List AllowedSyncshells { get; set; } = []; +} diff --git a/MareSynchronosAPI/Dto/McdfShare/McdfShareUploadRequestDto.cs b/MareSynchronosAPI/Dto/McdfShare/McdfShareUploadRequestDto.cs new file mode 100644 index 0000000..2bae493 --- /dev/null +++ b/MareSynchronosAPI/Dto/McdfShare/McdfShareUploadRequestDto.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; + +namespace MareSynchronos.API.Dto.McdfShare; + +public class McdfShareUploadRequestDto +{ + public Guid ShareId { get; set; } + public string Description { get; set; } = string.Empty; + public byte[] CipherData { get; set; } = Array.Empty(); + public byte[] Nonce { get; set; } = Array.Empty(); + public byte[] Salt { get; set; } = Array.Empty(); + public byte[] Tag { get; set; } = Array.Empty(); + public DateTime? ExpiresAtUtc { get; set; } + public List AllowedIndividuals { get; set; } = []; + public List AllowedSyncshells { get; set; } = []; +}