public with sharing class SubscriptionHistoryTriggerHandler {
    public static final String SELF = 'Subscription_History__c';

    public static void onAfterInsert(List<Subscription_History__c> subscriptionHistories) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.AFTER_INSERT)) {
            Map<Id, Subscription__c> subsMap = SubscriptionHistoryTriggerHelper.getSubscriptions(subscriptionHistories);
            SubscriptionHistoryTriggerHelper.updateSubscription(subscriptionHistories, subsMap);
            SubscriptionHistoryTriggerHelper.updateFanRetargetsByUnsubscriptions(subscriptionHistories, subsMap);
        }
    }

    public static void onAfterUpdate(List<Subscription_History__c> newSubHistories) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.AFTER_UPDATE)) {
            DmlUtils.deleteRecords(newSubHistories);
        }
    }
}
