File size: 1,992 Bytes
f7f36ca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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.