@@ -120,24 +120,24 @@ final class SearchService: SearchServiceType {
120120 let profileImageFileName = await self . downloadHeaderImage ( personProfile: personProfile, on: context)
121121
122122 // Update profile in internal database and return it.
123- let user = await self . update ( personProfile: personProfile,
124- profileIconFileName: profileIconFileName,
125- profileImageFileName: profileImageFileName,
126- on: context)
123+ guard let user = await self . update ( personProfile: personProfile,
124+ profileIconFileName: profileIconFileName,
125+ profileImageFileName: profileImageFileName,
126+ on: context) else {
127+ // When we cannot update new user profile into database we have to return existing user data.
128+ return userFromDatabase
129+ }
127130
128- if let user {
129- // Downlaod updated flexi fields.
130- let flexiFieldService = context. services. flexiFieldService
131- let flexiFields = try ? await flexiFieldService. getFlexiFields ( for: user. requireID ( ) , on: context. db)
132-
133- // Enqueue job for flexi field URL validator.
134- if let flexiFields {
135- try ? await flexiFieldService. dispatchUrlValidator ( flexiFields: flexiFields, on: context)
136- }
131+ // Downlaod updated flexi fields.
132+ let flexiFieldService = context. services. flexiFieldService
133+ let flexiFields = try ? await flexiFieldService. getFlexiFields ( for: user. requireID ( ) , on: context. db)
134+
135+ // Enqueue job for flexi field URL validator.
136+ if let flexiFields {
137+ try ? await flexiFieldService. dispatchUrlValidator ( flexiFields: flexiFields, on: context)
137138 }
138139
139- // If the user is updated successfully, we return the new data - otherwise, we return the user data from the database.
140- return user ?? userFromDatabase
140+ return user
141141 }
142142
143143 func getRemoteActivityPubProfile( userName: String , on context: ExecutionContext ) async -> String ? {
0 commit comments