public with sharing class TempFormResponseTriggerHandler {
    public static final String SELF = 'Temp_Form_Response__c';

    public static void onBeforeInsert(List<Temp_Form_Response__c> tempFormResponses) {
        if (TriggerControl.isTriggerEnabled(SELF, TriggerOperation.BEFORE_INSERT)) {
            TempFormResponseTriggerHelper.insertMCForms(tempFormResponses);
            
            Map<Id, Form__c> formsById = TempFormResponseUtils.getFormsFromSObject(tempFormResponses, UtilConstants.FORM_ID_API_NAME);
            
            TempFormResponseTriggerHelper.handleFutureBirthdate(tempFormResponses, formsById);

            TempFormResponseTriggerHelper.upsertFans(tempFormResponses);

            TempFormResponseTriggerHelper.fillTFRFields(tempFormResponses, formsById);

            TempFormResponseTriggerHelper.upsertFanRetargets(tempFormResponses, formsById);
        }
    }
}