Stream Chat Unreal SDK
Loading...
Searching...
No Matches
MessageDto.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AdditionalFields.h"
6#include "CoreMinimal.h"
7#include "MessageTypeDto.h"
8#include "Response/Reaction/ReactionDto.h"
9#include "UserObjectDto.h"
10
11#include "MessageDto.generated.h"
12
13class FJsonObject;
14
21USTRUCT()
22struct STREAMCHATDTO_API FMessageDto
23{
24 GENERATED_BODY()
25
26
27 TOptional<FDateTime> GetDeletedAt() const;
28
31 // TODO Uncomment
32 // UPROPERTY()
33 // TArray<FAttachment> Attachments;
34
36 UPROPERTY()
37 FString Cid;
38
40 UPROPERTY()
41 FString Command;
42
44 UPROPERTY()
45 FDateTime CreatedAt = FDateTime{0};
46
48 UPROPERTY()
49 FString Html;
50
51 // TODO is this an object?
52 UPROPERTY()
53 FString I18n;
54
57 UPROPERTY()
58 FString Id;
59
60 // TODO ImageLabels
61
63 UPROPERTY()
64 TArray<FReactionDto> LatestReactions;
65
67 UPROPERTY()
68 TArray<FUserObjectDto> MentionedUsers;
69
72 UPROPERTY()
73 FString Mml;
74
76 UPROPERTY()
77 TArray<FReactionDto> OwnReactions;
78
80 UPROPERTY()
81 FString ParentId;
82
86 // TODO Optional
87 UPROPERTY()
88 FDateTime PinExpires = FDateTime{0};
89
91 UPROPERTY()
92 bool bPinned = false;
93
95 // TODO Optional
96 UPROPERTY()
97 FDateTime PinnedAt = FDateTime{0};
98
100 // TODO Optional
101 UPROPERTY()
103
105 // TODO Optional
106 // TODO recursive?
107 // UPROPERTY()
108 // FMessageDto QuotedMessage;
109
111 UPROPERTY()
112 FString QuotedMessageId;
113
115 UPROPERTY()
116 TMap<FName, int32> ReactionCounts;
117
119 UPROPERTY()
120 TMap<FName, int32> ReactionScores;
121
123 UPROPERTY()
124 uint32 ReplyCount = 0;
125
127 UPROPERTY()
128 bool bShadowed = false;
129
131 UPROPERTY()
132 bool bShowInChannel = false;
133
135 UPROPERTY()
136 bool bSilent = false;
137
139 UPROPERTY()
140 FString Text;
141
143 UPROPERTY()
144 TArray<FUserObjectDto> ThreadParticipants;
145
147 UPROPERTY()
149
151 UPROPERTY()
152 FDateTime UpdatedAt = FDateTime{0};
153
155 // TODO Optional
156 UPROPERTY()
158
159 UPROPERTY()
160 FAdditionalFields AdditionalFields;
161};
EMessageTypeDto
DTO for type of message.
Definition: MessageTypeDto.h:16
@ Id
Message ID.
@ Text
Text of the message.
@ Type
Type of the message.
@ ParentId
The parent message ID (if the message is a reply)
@ ReplyCount
The number of replies the message has.
#/components/schemas/Message Represents any chat message. Used in responses only
Definition: MessageDto.h:23
#/components/schemas/Reaction Represents user reaction to a message
Definition: ReactionDto.h:17
#/components/schemas/UserObject Used in both requests and responses
Definition: UserObjectDto.h:17