Разделение сообщения
This commit is contained in:
+8
-8
@@ -54,8 +54,8 @@ public sealed class MessageSentDomainEventHandler : INotificationHandler<Message
|
||||
{
|
||||
Id = replyMsg.Id,
|
||||
Content = replyMsg.Content,
|
||||
Quote = message.Quote,
|
||||
media = replyMsg.Media.Select(rm => new { rm.Type, rm.Url }).ToList(),
|
||||
Quote = message is TextMessage tm ? tm.Quote : null,
|
||||
media = (replyMsg as MediaMessage)?.Media.Select(rm => new { rm.Type, rm.Url }).ToList() ?? (object)Array.Empty<object>(),
|
||||
Sender = replySenderInfo != null
|
||||
? new { Id = replySenderInfo.Id, Username = replySenderInfo.Username, DisplayName = replySenderInfo.DisplayName }
|
||||
: new { Id = replyMsg.SenderId, Username = "unknown", DisplayName = "Unknown" }
|
||||
@@ -75,19 +75,19 @@ public sealed class MessageSentDomainEventHandler : INotificationHandler<Message
|
||||
forwardedFrom = forwardedFromObj,
|
||||
replyToId = message.ReplyToId,
|
||||
replyTo = replyToObj,
|
||||
quote = message.Quote,
|
||||
media = message.Media.Select(m => new
|
||||
quote = message is TextMessage tm2 ? tm2.Quote : null,
|
||||
media = (message as MediaMessage)?.Media.Select(m => new
|
||||
{
|
||||
type = m.Type,
|
||||
url = m.Url,
|
||||
filename = m.FileId,
|
||||
size = m.Size
|
||||
}).ToList(),
|
||||
}).ToList() ?? (object)Array.Empty<object>(),
|
||||
sender = senderObj,
|
||||
readBy = new List<object>(),
|
||||
storyId = message.StoryId,
|
||||
storyMediaUrl = message.StoryMediaUrl,
|
||||
storyMediaType = message.StoryMediaType
|
||||
storyId = (message as StoryMessage)?.StoryId,
|
||||
storyMediaUrl = (message as StoryMessage)?.StoryMediaUrl,
|
||||
storyMediaType = (message as StoryMessage)?.StoryMediaType
|
||||
}, cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-2
@@ -30,13 +30,15 @@ public static class MongoDbMapConfigurator
|
||||
cm.AutoMap();
|
||||
cm.MapField("_deletedFor").SetElementName("DeletedFor");
|
||||
cm.MapProperty(c => c.Content).SetSerializer(new EncryptedStringSerializer());
|
||||
cm.MapProperty(c => c.Quote).SetSerializer(new EncryptedStringSerializer());
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
cm.SetIsRootClass(true);
|
||||
});
|
||||
|
||||
BsonClassMap.RegisterClassMap<TextMessage>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapProperty(c => c.Quote).SetSerializer(new EncryptedStringSerializer());
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
cm.SetDiscriminator("TextMessage");
|
||||
});
|
||||
|
||||
@@ -44,6 +46,7 @@ public static class MongoDbMapConfigurator
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapField("_media").SetElementName("Media");
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
cm.SetDiscriminator("MediaMessage");
|
||||
cm.UnmapProperty(c => c.Caption);
|
||||
});
|
||||
@@ -51,8 +54,9 @@ public static class MongoDbMapConfigurator
|
||||
BsonClassMap.RegisterClassMap<StoryMessage>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
cm.SetDiscriminator("StoryMessage");
|
||||
cm.MapProperty(c => c.InternalStoryMediaUrl).SetSerializer(new EncryptedStringSerializer());
|
||||
cm.MapProperty(c => c.StoryMediaUrl).SetSerializer(new EncryptedStringSerializer());
|
||||
});
|
||||
|
||||
BsonClassMap.RegisterClassMap<DeletedMessage>(cm => cm.AutoMap());
|
||||
@@ -63,6 +67,7 @@ public static class MongoDbMapConfigurator
|
||||
cm.AutoMap();
|
||||
cm.MapProperty(c => c.Options).SetElementName("_options");
|
||||
cm.MapProperty(c => c.Votes).SetElementName("_votes");
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
cm.SetDiscriminator("PollMessage");
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user