Added the logic to create the UserProfile data dump in the migration

This commit is contained in:
Morgan Pretty 2022-11-30 08:49:53 +11:00
parent f721178b49
commit ba33d2c95e
1 changed files with 14 additions and 2 deletions

View File

@ -2,6 +2,7 @@
import Foundation
import GRDB
import SessionUtil
import SessionUtilitiesKit
/// This migration recreates the interaction FTS table and adds the threadId so we can do a performant in-conversation
@ -9,7 +10,7 @@ import SessionUtilitiesKit
enum _011_SharedUtilChanges: Migration {
static let target: TargetMigrations.Identifier = .messagingKit
static let identifier: String = "SharedUtilChanges"
static let needsConfigSync: Bool = false
static let needsConfigSync: Bool = true
static let minExpectedRunDuration: TimeInterval = 0.1
static func migrate(_ db: Database) throws {
@ -21,7 +22,18 @@ enum _011_SharedUtilChanges: Migration {
.notNull()
}
// TODO: Create dumps for current data
// Create a dump for the user profile data
let userProfileConf: UnsafeMutablePointer<config_object>? = try SessionUtil.loadState(
for: .userProfile
)
let confResult: SessionUtil.ConfResult = try SessionUtil.update(
conf: userProfileConf,
with: Profile.fetchOrCreateCurrentUser(db)
)
if confResult.needsDump {
try SessionUtil.saveState(db, conf: userProfileConf, for: .userProfile)
}
Storage.update(progress: 1, for: self, in: target) // In case this is the last migration
}