from enum import Enum class ActionModel(Enum): """ Enum representing the main actions for message filtering, according to Apple's ILMessageFilterAction: https://developer.apple.com/documentation/identitylookup/ilmessagefilteraction """ NONE = 0 # No action determined, message is handled normally ALLOW = 1 # Allow the message to be shown JUNK = 2 # Filter as junk PROMOTION = 3 # Filter as promotion (extension, not in Apple doc) TRANSACTION = 4 # Filter as transaction (extension, not in Apple doc) # Apple only defines NONE, ALLOW, JUNK; PROMOTION and TRANSACTION are for extension class SubActionModel(Enum): """ Enum representing sub-actions for message filtering, including all transactional and promotional subactions as described in Apple's documentation: https://developer.apple.com/documentation/identitylookup/ilmessagefiltersubaction """ # General NONE = 0 # Allows the system to show the message unfiltered due to insufficient information to determine an action. REPORT_JUNK = 1 # Report as junk # Transactional Subactions TRANSACTIONAL_OTHERS = 100 # Filtered as an Others message. TRANSACTIONAL_FINANCE = 101 # Filtered as a Finance message. TRANSACTIONAL_ORDERS = 102 # Filtered as an Orders (eCommerce) message. TRANSACTIONAL_REMINDERS = 103 # Filtered as a Reminder message. TRANSACTIONAL_HEALTH = 104 # Filtered as a Health message. TRANSACTIONAL_WEATHER = 105 # Filtered as a Weather message. TRANSACTIONAL_CARRIER = 106 # Filtered as a Carrier message. TRANSACTIONAL_REWARDS = 107 # Filtered as a Rewards message. TRANSACTIONAL_PUBLIC_SERVICES = 108 # Filtered as a Government/Public Services message. # Promotional Subactions PROMOTIONAL_OTHERS = 200 # Filtered as an Others message. PROMOTIONAL_OFFERS = 201 # Filtered as an Offers message. PROMOTIONAL_COUPONS = 202 # Filtered as a Coupons message.