Skip to content
This repository was archived by the owner on Jun 7, 2020. It is now read-only.

Commit 45bc26a

Browse files
authored
Merge pull request #2624 from RocketChat/bug/user_loses_roles
[FIX] User is loosing roles on mapping lastMessage
2 parents e119409 + b23dbb7 commit 45bc26a

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,18 @@ extension Subscription: ModelMappeable {
135135
}
136136

137137
if values["lastMessage"].dictionary != nil {
138-
let user = User()
139-
user.map(values["lastMessage"]["u"], realm: realm)
140-
realm?.add(user, update: true)
138+
if let userIdentifier = values["lastMessage"]["u"]["_id"].string {
139+
if let realm = realm {
140+
if let user = realm.object(ofType: User.self, forPrimaryKey: userIdentifier as AnyObject) {
141+
user.map(values["u"], realm: realm)
142+
realm.add(user, update: true)
143+
} else {
144+
let user = User()
145+
user.map(values["u"], realm: realm)
146+
realm.add(user, update: true)
147+
}
148+
}
149+
}
141150

142151
let message = Message()
143152
message.map(values["lastMessage"], realm: realm)

0 commit comments

Comments
 (0)