Skip to content

Commit 880dc68

Browse files
committed
Fix dto mappings
1 parent c5edd0b commit 880dc68

12 files changed

Lines changed: 41 additions & 21 deletions

File tree

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollClosed.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -22,7 +23,7 @@ EventPollClosed ILoadableFrom<PollClosedEventInternalDTO, EventPollClosed>.LoadF
2223
Cid = dto.Cid;
2324
CreatedAt = dto.CreatedAt;
2425
MessageId = dto.MessageId;
25-
Poll = Poll.TryLoadFromDto(dto.Poll);
26+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
2627
Type = dto.Type;
2728
AdditionalProperties = dto.AdditionalProperties;
2829

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollDeleted.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -22,7 +23,7 @@ EventPollDeleted ILoadableFrom<PollDeletedEventInternalDTO, EventPollDeleted>.Lo
2223
Cid = dto.Cid;
2324
CreatedAt = dto.CreatedAt;
2425
MessageId = dto.MessageId;
25-
Poll = Poll.TryLoadFromDto(dto.Poll);
26+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
2627
Type = dto.Type;
2728
AdditionalProperties = dto.AdditionalProperties;
2829

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollUpdated.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -22,7 +23,7 @@ EventPollUpdated ILoadableFrom<PollUpdatedEventInternalDTO, EventPollUpdated>.Lo
2223
Cid = dto.Cid;
2324
CreatedAt = dto.CreatedAt;
2425
MessageId = dto.MessageId;
25-
Poll = Poll.TryLoadFromDto(dto.Poll);
26+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
2627
Type = dto.Type;
2728
AdditionalProperties = dto.AdditionalProperties;
2829

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollVoteCasted.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -24,8 +25,8 @@ EventPollVoteCasted ILoadableFrom<PollVoteCastedEventInternalDTO, EventPollVoteC
2425
Cid = dto.Cid;
2526
CreatedAt = dto.CreatedAt;
2627
MessageId = dto.MessageId;
27-
Poll = Poll.TryLoadFromDto(dto.Poll);
28-
PollVote = PollVote.TryLoadFromDto(dto.PollVote);
28+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
29+
PollVote = PollVote.TryLoadFromDto<PollVoteResponseDataInternalDTO, PollVote>(dto.PollVote);
2930
Type = dto.Type;
3031
AdditionalProperties = dto.AdditionalProperties;
3132

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollVoteChanged.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -24,8 +25,8 @@ EventPollVoteChanged ILoadableFrom<PollVoteChangedEventInternalDTO, EventPollVot
2425
Cid = dto.Cid;
2526
CreatedAt = dto.CreatedAt;
2627
MessageId = dto.MessageId;
27-
Poll = Poll.TryLoadFromDto(dto.Poll);
28-
PollVote = PollVote.TryLoadFromDto(dto.PollVote);
28+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
29+
PollVote = PollVote.TryLoadFromDto<PollVoteResponseDataInternalDTO, PollVote>(dto.PollVote);
2930
Type = dto.Type;
3031
AdditionalProperties = dto.AdditionalProperties;
3132

Assets/Plugins/StreamChat/Core/LowLevelClient/Events/EventPollVoteRemoved.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using StreamChat.Core.Helpers;
22
using StreamChat.Core.InternalDTO.Events;
3+
using StreamChat.Core.InternalDTO.Responses;
34
using StreamChat.Core.LowLevelClient.Models;
45

56
namespace StreamChat.Core.LowLevelClient.Events
@@ -24,8 +25,8 @@ EventPollVoteRemoved ILoadableFrom<PollVoteRemovedEventInternalDTO, EventPollVot
2425
Cid = dto.Cid;
2526
CreatedAt = dto.CreatedAt;
2627
MessageId = dto.MessageId;
27-
Poll = Poll.TryLoadFromDto(dto.Poll);
28-
PollVote = PollVote.TryLoadFromDto(dto.PollVote);
28+
Poll = Poll.TryLoadFromDto<PollResponseDataInternalDTO, Poll>(dto.Poll);
29+
PollVote = PollVote.TryLoadFromDto<PollVoteResponseDataInternalDTO, PollVote>(dto.PollVote);
2930
Type = dto.Type;
3031
AdditionalProperties = dto.AdditionalProperties;
3132

Assets/Plugins/StreamChat/Core/LowLevelClient/Models/Poll.cs

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace StreamChat.Core.LowLevelClient.Models
99
/// <summary>
1010
/// Represents a poll
1111
/// </summary>
12-
public partial class Poll : ILoadableFrom<PollInternalDTO, Poll>, ILoadableFrom<PollResponseDataInternalDTO, Poll>
12+
public partial class Poll : ModelBase, ILoadableFrom<PollInternalDTO, Poll>, ILoadableFrom<PollResponseDataInternalDTO, Poll>
1313
{
1414
public bool AllowAnswers { get; set; }
1515

@@ -19,7 +19,7 @@ public partial class Poll : ILoadableFrom<PollInternalDTO, Poll>, ILoadableFrom<
1919

2020
public DateTimeOffset CreatedAt { get; set; }
2121

22-
public User CreatedBy { get; set; }
22+
public User CreatedBy { get; set; } // StreamTodo: check if we can replace with IStreamUser
2323

2424
public string CreatedById { get; set; }
2525

@@ -53,15 +53,13 @@ public partial class Poll : ILoadableFrom<PollInternalDTO, Poll>, ILoadableFrom<
5353

5454
public string VotingVisibility { get; set; }
5555

56-
public Dictionary<string, object> AdditionalProperties { get; set; }
57-
5856
Poll ILoadableFrom<PollInternalDTO, Poll>.LoadFromDto(PollInternalDTO dto)
5957
{
6058
AllowAnswers = dto.AllowAnswers;
6159
AllowUserSuggestedOptions = dto.AllowUserSuggestedOptions;
6260
AnswersCount = dto.AnswersCount;
6361
CreatedAt = dto.CreatedAt;
64-
CreatedBy = CreatedBy.TryLoadFromDto(dto.CreatedBy);
62+
CreatedBy = CreatedBy.TryLoadFromDto<UserObjectInternalDTO, User>(dto.CreatedBy);
6563
CreatedById = dto.CreatedById;
6664
Custom = dto.Custom;
6765
Description = dto.Description;
@@ -89,7 +87,7 @@ Poll ILoadableFrom<PollResponseDataInternalDTO, Poll>.LoadFromDto(PollResponseDa
8987
AllowUserSuggestedOptions = dto.AllowUserSuggestedOptions;
9088
AnswersCount = dto.AnswersCount;
9189
CreatedAt = dto.CreatedAt;
92-
CreatedBy = CreatedBy.TryLoadFromDto(dto.CreatedBy);
90+
CreatedBy = CreatedBy.TryLoadFromDto<UserResponseInternalDTO, User>(dto.CreatedBy);
9391
CreatedById = dto.CreatedById;
9492
Custom = dto.Custom;
9593
Description = dto.Description;
@@ -125,6 +123,21 @@ private Dictionary<string, List<PollVote>> LoadVotesByOption(Dictionary<string,
125123
}
126124
return result;
127125
}
126+
127+
private Dictionary<string, List<PollVote>> LoadVotesByOption(Dictionary<string, List<PollVoteInternalDTO>> dto)
128+
{
129+
if (dto == null)
130+
{
131+
return null;
132+
}
133+
134+
var result = new Dictionary<string, List<PollVote>>();
135+
foreach (var kvp in dto)
136+
{
137+
result[kvp.Key] = new List<PollVote>().TryLoadFromDtoCollection(kvp.Value);
138+
}
139+
return result;
140+
}
128141
}
129142
}
130143

Assets/Plugins/StreamChat/Core/LowLevelClient/Models/PollVote.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ PollVote ILoadableFrom<PollVoteInternalDTO, PollVote>.LoadFromDto(PollVoteIntern
4040
OptionId = dto.OptionId;
4141
PollId = dto.PollId;
4242
UpdatedAt = dto.UpdatedAt;
43-
User = User.TryLoadFromDto(dto.User);
43+
User = User.TryLoadFromDto<UserObjectInternalDTO, User>(dto.User);
4444
UserId = dto.UserId;
4545
AdditionalProperties = dto.AdditionalProperties;
4646

@@ -56,7 +56,7 @@ PollVote ILoadableFrom<PollVoteResponseDataInternalDTO, PollVote>.LoadFromDto(Po
5656
OptionId = dto.OptionId;
5757
PollId = dto.PollId;
5858
UpdatedAt = dto.UpdatedAt;
59-
User = User.TryLoadFromDto(dto.User);
59+
User = User.TryLoadFromDto<UserResponseInternalDTO, User>(dto.User);
6060
UserId = dto.UserId;
6161
AdditionalProperties = dto.AdditionalProperties;
6262

Assets/Plugins/StreamChat/Core/LowLevelClient/Models/User.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace StreamChat.Core.LowLevelClient.Models
77
{
8-
//StreamTODO: Try check if this object is needed. Ideally we'd only have IStreamUser object representing a user
8+
//StreamTODO: Check if this object is needed. Ideally we'd only have IStreamUser object representing a user and remove this one
99
public class User : ModelBase, ILoadableFrom<UserObjectInternalDTO, User>,
1010
ILoadableFrom<UserResponseInternalDTO, User>, ILoadableFrom<UserEventPayloadInternalDTO, User>,
1111
ILoadableFrom<FullUserResponseInternalDTO, User>,

Assets/Plugins/StreamChat/Core/LowLevelClient/Requests/CreatePollRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ CreatePollRequestInternalDTO ISavableTo<CreatePollRequestInternalDTO>.SaveToDto(
4545
IsClosed = IsClosed,
4646
MaxVotesAllowed = MaxVotesAllowed,
4747
Name = Name,
48-
Options = Options.TrySaveToDtoCollection<PollOptionInputInternalDTO>(),
48+
Options = Options.TrySaveToDtoCollection<PollOptionInput, PollOptionInputInternalDTO>(),
4949
VotingVisibility = VotingVisibility != null
5050
? new CreatePollRequestVotingVisibilityInternalDTO { Value = VotingVisibility }
5151
: (CreatePollRequestVotingVisibilityInternalDTO?)null,

0 commit comments

Comments
 (0)