session-ios/SessionMessagingKit/Configuration.swift

61 lines
2.8 KiB
Swift

import Foundation
import GRDB
import SessionUtilitiesKit
public enum SNMessagingKit: MigratableTarget { // Just to make the external API nice
public static func migrations() -> TargetMigrations {
return TargetMigrations(
identifier: .messagingKit,
migrations: [
[
_001_InitialSetupMigration.self,
_002_SetupStandardJobs.self
], // Initial DB Creation
[
_003_YDBToGRDBMigration.self
], // YDB to GRDB Migration
[
_004_RemoveLegacyYDB.self
], // Legacy DB removal
[
_005_FixDeletedMessageReadState.self,
_006_FixHiddenModAdminSupport.self,
_007_HomeQueryOptimisationIndexes.self
], // Add job priorities
[
_008_EmojiReacts.self,
_009_OpenGroupPermission.self,
_010_AddThreadIdToFTS.self
], // Fix thread FTS
[
_011_AddPendingReadReceipts.self,
_012_AddFTSIfNeeded.self,
_013_SessionUtilChanges.self,
_014_GenerateInitialUserConfigDumps.self,
_015_BlockCommunityMessageRequests.self,
_016_MakeBrokenProfileTimestampsNullable.self
]
]
)
}
public static func configure() {
// Configure the job executors
JobRunner.setExecutor(DisappearingMessagesJob.self, for: .disappearingMessages)
JobRunner.setExecutor(FailedMessageSendsJob.self, for: .failedMessageSends)
JobRunner.setExecutor(FailedAttachmentDownloadsJob.self, for: .failedAttachmentDownloads)
JobRunner.setExecutor(UpdateProfilePictureJob.self, for: .updateProfilePicture)
JobRunner.setExecutor(RetrieveDefaultOpenGroupRoomsJob.self, for: .retrieveDefaultOpenGroupRooms)
JobRunner.setExecutor(GarbageCollectionJob.self, for: .garbageCollection)
JobRunner.setExecutor(MessageSendJob.self, for: .messageSend)
JobRunner.setExecutor(MessageReceiveJob.self, for: .messageReceive)
JobRunner.setExecutor(NotifyPushServerJob.self, for: .notifyPushServer)
JobRunner.setExecutor(SendReadReceiptsJob.self, for: .sendReadReceipts)
JobRunner.setExecutor(AttachmentUploadJob.self, for: .attachmentUpload)
JobRunner.setExecutor(GroupLeavingJob.self, for: .groupLeaving)
JobRunner.setExecutor(AttachmentDownloadJob.self, for: .attachmentDownload)
JobRunner.setExecutor(ConfigurationSyncJob.self, for: .configurationSync)
JobRunner.setExecutor(ConfigMessageReceiveJob.self, for: .configMessageReceive)
}
}