TM-SGNL-iOS/SignalServiceKit/Jobs/JobRecords/JobRecord+Columns.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

116 lines
3.5 KiB
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public import GRDB
extension JobRecord {
/// Represents all of the columns in the job record database table. There
/// are many jobs that all share the same table, and therefore the columns
/// here are the set-union of the columns used by each individual job
/// record. While most columns are uniquely used for a single type of job,
/// some columns have been reused across multiple job types.
public enum JobRecordColumns: String, CodingKey, ColumnExpression, CaseIterable {
// MARK: GRDB columns
case id
case recordType
case uniqueId
// MARK: Base columns
case exclusiveProcessIdentifier
case failureCount
case label
case status
// MARK: LegacyMessageDecryptJobRecord
case envelopeData
case serverDeliveryTimestamp
// MARK: MessageSenderJobRecord
case invisibleMessage
case isHighPriority
case isMediaMessage
case messageId
case removeMessageAfterSending
// MARK: IncomingContactSyncJobRecord
case isCompleteContactSync
case ICSJR_cdnNumber
case ICSJR_cdnKey
case ICSJR_encryptionKey
case ICSJR_digest
case ICSJR_plaintextLength
// MARK: LocalUserLeaveGroupJobRecord
case replacementAdminAciString = "replacementAdminUuid"
case waitForMessageProcessing
// MARK: SessionResetJobRecord
case contactThreadId
// MARK: SendGiftBadgeJobRecord
case messageText
case paymentIntentClientSecret
case paymentMethodId
case paypalPayerId
case paypalPaymentId
case paypalPaymentToken
// MARK: DonationReceiptCredentialRedemptionJobRecord
case _receiptCredentialPresentation = "receiptCredentialPresentation"
case _receiptCredential = "receiptCredential"
case isBoost
case subscriberID
case targetSubscriptionLevel
case priorSubscriptionLevel
case isNewSubscription
case shouldSuppressPaymentAlreadyRedeemed
// MARK: SendGiftBadgeJobRecord & DonationReceiptCredentialRedemptionJobRecord
case amount
case currencyCode
case boostPaymentIntentID
case paymentProcessor
case paymentMethod
/// Uses a misspelled raw value for historical compatibility.
case receiptCredentialRequest = "receiptCredentailRequest"
/// Uses a misspelled raw value for historical compatibility.
case receiptCredentialRequestContext = "receiptCredentailRequestContext"
// MARK: LocalUserLeaveGroupJobRecord & MessageSenderJobRecord & SendGiftBadgeJobRecord
case threadId
// MARK: CallRecordDeleteAllJobRecord
case sendDeleteAllSyncMessage = "CRDAJR_sendDeleteAllSyncMessage"
case deleteAllBeforeCallId = "CRDAJR_deleteAllBeforeCallId"
case deleteAllBeforeConversationId = "CRDAJR_deleteAllBeforeConversationId"
case deleteAllBeforeTimestamp = "CRDAJR_deleteAllBeforeTimestamp"
// MARK: BulkDeleteInteractionJobRecord
case BDIJR_anchorMessageRowId = "BDIJR_anchorMessageRowId"
case BDIJR_fullThreadDeletionAnchorMessageRowId = "BDIJR_fullThreadDeletionAnchorMessageRowId"
case BDIJR_threadUniqueId = "BDIJR_threadUniqueId"
// MARK: BackupReceiptCredentialRedemptionJobRecord
case BRCRJR_state = "BRCRJR_state"
}
}