mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-19 17:56:29 +10:00
better prepareConversationForFeed, getOrCreateUserWithDiscoverUser, saveFeedWithDiscoveredFeed
This commit is contained in:
@@ -326,11 +326,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
guard let
|
||||
vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ConversationViewController") as? ConversationViewController,
|
||||
realm = try? Realm(),
|
||||
feedConversation = vc.prepareConversationForFeed(feed, inRealm: realm) else {
|
||||
realm = try? Realm() else {
|
||||
return
|
||||
}
|
||||
|
||||
realm.beginWrite()
|
||||
let feedConversation = vc.prepareConversationForFeed(feed, inRealm: realm)
|
||||
let _ = try? realm.commitWrite()
|
||||
|
||||
vc.conversation = feedConversation
|
||||
vc.conversationFeed = ConversationFeed.DiscoveredFeedType(feed)
|
||||
|
||||
|
||||
+9
-23
@@ -971,10 +971,8 @@ func saveFeedWithDiscoveredFeed(feedData: DiscoveredFeed, group: Group, inRealm
|
||||
if let feed = feedWithFeedID(feedData.id, inRealm: realm) {
|
||||
println("saveFeed: \(feedData.kind.rawValue), \(feed.feedID), do nothing.")
|
||||
|
||||
//let _ = try? realm.write {
|
||||
feed.kind = feedData.kind.rawValue
|
||||
feed.deleted = false
|
||||
//}
|
||||
feed.kind = feedData.kind.rawValue
|
||||
feed.deleted = false
|
||||
|
||||
#if DEBUG
|
||||
if feed.group == nil {
|
||||
@@ -1000,9 +998,7 @@ func saveFeedWithDiscoveredFeed(feedData: DiscoveredFeed, group: Group, inRealm
|
||||
newFeed.messagesCount = feedData.messagesCount
|
||||
|
||||
if let feedSkill = feedData.skill {
|
||||
let _ = try? realm.write {
|
||||
newFeed.skill = userSkillsFromSkills([feedSkill], inRealm: realm).first
|
||||
}
|
||||
newFeed.skill = userSkillsFromSkills([feedSkill], inRealm: realm).first
|
||||
}
|
||||
|
||||
if let attachment = feedData.attachment {
|
||||
@@ -1027,17 +1023,13 @@ func saveFeedWithDiscoveredFeed(feedData: DiscoveredFeed, group: Group, inRealm
|
||||
let newSocialWorkGithubRepo = SocialWorkGithubRepo()
|
||||
newSocialWorkGithubRepo.fillWithFeedGithubRepo(repo)
|
||||
|
||||
let _ = try? realm.write {
|
||||
realm.add(newSocialWorkGithubRepo)
|
||||
}
|
||||
realm.add(newSocialWorkGithubRepo)
|
||||
|
||||
socialWorkGithubRepo = newSocialWorkGithubRepo
|
||||
}
|
||||
|
||||
if let socialWorkGithubRepo = socialWorkGithubRepo {
|
||||
let _ = try? realm.write {
|
||||
socialWorkGithubRepo.synced = true
|
||||
}
|
||||
socialWorkGithubRepo.synced = true
|
||||
}
|
||||
|
||||
socialWork.githubRepo = socialWorkGithubRepo
|
||||
@@ -1056,17 +1048,13 @@ func saveFeedWithDiscoveredFeed(feedData: DiscoveredFeed, group: Group, inRealm
|
||||
let newSocialWorkDribbbleShot = SocialWorkDribbbleShot()
|
||||
newSocialWorkDribbbleShot.fillWithFeedDribbbleShot(shot)
|
||||
|
||||
let _ = try? realm.write {
|
||||
realm.add(newSocialWorkDribbbleShot)
|
||||
}
|
||||
realm.add(newSocialWorkDribbbleShot)
|
||||
|
||||
socialWorkDribbbleShot = newSocialWorkDribbbleShot
|
||||
}
|
||||
|
||||
if let socialWorkDribbbleShot = socialWorkDribbbleShot {
|
||||
let _ = try? realm.write {
|
||||
socialWorkDribbbleShot.synced = true
|
||||
}
|
||||
socialWorkDribbbleShot.synced = true
|
||||
}
|
||||
|
||||
socialWork.dribbbleShot = socialWorkDribbbleShot
|
||||
@@ -1097,10 +1085,8 @@ func saveFeedWithDiscoveredFeed(feedData: DiscoveredFeed, group: Group, inRealm
|
||||
|
||||
newFeed.group = group
|
||||
|
||||
//let _ = try? realm.write {
|
||||
group.groupType = GroupType.Public.rawValue
|
||||
realm.add(newFeed)
|
||||
//}
|
||||
group.groupType = GroupType.Public.rawValue
|
||||
realm.add(newFeed)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,38 +38,33 @@ func getOrCreateUserWithDiscoverUser(discoveredUser: DiscoveredUser, inRealm rea
|
||||
|
||||
newUser.friendState = UserFriendState.Stranger.rawValue
|
||||
|
||||
let _ = try? realm.write {
|
||||
realm.add(newUser)
|
||||
}
|
||||
realm.add(newUser)
|
||||
|
||||
user = newUser
|
||||
}
|
||||
|
||||
if let user = user {
|
||||
|
||||
let _ = try? realm.write {
|
||||
// 只更新用户信息即可
|
||||
|
||||
// 只更新用户信息即可
|
||||
user.lastSignInUnixTime = discoveredUser.lastSignInUnixTime
|
||||
|
||||
user.lastSignInUnixTime = discoveredUser.lastSignInUnixTime
|
||||
user.username = discoveredUser.username ?? ""
|
||||
|
||||
user.username = discoveredUser.username ?? ""
|
||||
user.nickname = discoveredUser.nickname
|
||||
|
||||
user.nickname = discoveredUser.nickname
|
||||
if let introduction = discoveredUser.introduction {
|
||||
user.introduction = introduction
|
||||
}
|
||||
|
||||
if let introduction = discoveredUser.introduction {
|
||||
user.introduction = introduction
|
||||
}
|
||||
user.avatarURLString = discoveredUser.avatarURLString
|
||||
|
||||
user.avatarURLString = discoveredUser.avatarURLString
|
||||
user.longitude = discoveredUser.longitude
|
||||
|
||||
user.longitude = discoveredUser.longitude
|
||||
|
||||
user.latitude = discoveredUser.latitude
|
||||
|
||||
if let badge = discoveredUser.badge {
|
||||
user.badge = badge
|
||||
}
|
||||
user.latitude = discoveredUser.latitude
|
||||
|
||||
if let badge = discoveredUser.badge {
|
||||
user.badge = badge
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,9 +22,7 @@ extension ConversationViewController {
|
||||
newGroup.groupID = groupID
|
||||
newGroup.includeMe = false
|
||||
|
||||
let _ = try? realm.write {
|
||||
realm.add(newGroup)
|
||||
}
|
||||
realm.add(newGroup)
|
||||
|
||||
group = newGroup
|
||||
}
|
||||
@@ -33,9 +31,7 @@ extension ConversationViewController {
|
||||
return nil
|
||||
}
|
||||
|
||||
let _ = try? realm.write {
|
||||
feedGroup.groupType = GroupType.Public.rawValue
|
||||
}
|
||||
feedGroup.groupType = GroupType.Public.rawValue
|
||||
|
||||
if feedGroup.conversation == nil {
|
||||
|
||||
@@ -44,9 +40,7 @@ extension ConversationViewController {
|
||||
newConversation.type = ConversationType.Group.rawValue
|
||||
newConversation.withGroup = feedGroup
|
||||
|
||||
let _ = try? realm.write {
|
||||
realm.add(newConversation)
|
||||
}
|
||||
realm.add(newConversation)
|
||||
}
|
||||
|
||||
guard let feedConversation = feedGroup.conversation else {
|
||||
@@ -60,9 +54,7 @@ extension ConversationViewController {
|
||||
*/
|
||||
|
||||
if let group = group {
|
||||
let _ = try? realm.write {
|
||||
saveFeedWithDiscoveredFeed(feed, group: group, inRealm: realm)
|
||||
}
|
||||
saveFeedWithDiscoveredFeed(feed, group: group, inRealm: realm)
|
||||
}
|
||||
|
||||
return feedConversation
|
||||
|
||||
@@ -51,7 +51,11 @@ enum ConversationFeed {
|
||||
guard let realm = try? Realm() else {
|
||||
return nil
|
||||
}
|
||||
return getOrCreateUserWithDiscoverUser(discoveredFeed.creator, inRealm: realm)
|
||||
realm.beginWrite()
|
||||
let user = getOrCreateUserWithDiscoverUser(discoveredFeed.creator, inRealm: realm)
|
||||
let _ = try? realm.commitWrite()
|
||||
|
||||
return user
|
||||
|
||||
case .FeedType(let feed):
|
||||
return feed.creator
|
||||
|
||||
@@ -580,11 +580,14 @@ class FeedsViewController: BaseViewController {
|
||||
guard let
|
||||
indexPath = sender as? NSIndexPath,
|
||||
feed = feeds[safe: indexPath.row],
|
||||
realm = try? Realm(),
|
||||
feedConversation = vc.prepareConversationForFeed(feed, inRealm: realm) else {
|
||||
realm = try? Realm() else {
|
||||
return
|
||||
}
|
||||
|
||||
realm.beginWrite()
|
||||
let feedConversation = vc.prepareConversationForFeed(feed, inRealm: realm)
|
||||
let _ = try? realm.commitWrite()
|
||||
|
||||
vc.conversation = feedConversation
|
||||
vc.conversationFeed = ConversationFeed.DiscoveredFeedType(feed)
|
||||
vc.afterDeletedFeedAction = { [weak self] in
|
||||
|
||||
Reference in New Issue
Block a user