import {
  CRM_TEMPLATE_FILES,
  FOUNDATION_TEMPLATE_FILES,
  FOUNDATION_WIZARD_STEPS,
  type InstallationProfile
} from '../installation-profile';

export const crmInstallationProfiles: InstallationProfile[] = [
  {
    id: 'crm_demo',
    name: 'CRM Demo',
    description: 'Foundation plus full CRM demo/golden dataset setup.',
    wizardSteps: FOUNDATION_WIZARD_STEPS,
    requiredTemplates: [...FOUNDATION_TEMPLATE_FILES, ...CRM_TEMPLATE_FILES],
    verificationChecks: [
      'ADMIN_CRM_ASSIGNMENT',
      'BRANCH_OPTION',
      'PRODUCT_TYPE_OPTION',
      'SEQUENCE_QUOTATION',
      'APPROVAL_WORKFLOW',
      'APPROVAL_MATRIX',
      'PDF_TEMPLATE_ASSET',
      'REPORT_DEFINITIONS'
    ],
    resetScopes: ['business_reset', 'demo_uat_reset', 'setup_run_reset'],
    reseedTargets: ['demo_uat', 'csv_manifest'],
    defaultOptions: { importMode: 'strict', dataset: 'golden' },
    enabledPluginIds: ['foundation', 'crm']
  },
  {
    id: 'production',
    name: 'Production',
    description: 'Foundation plus CRM production setup with no destructive reset defaults.',
    wizardSteps: FOUNDATION_WIZARD_STEPS,
    requiredTemplates: [...FOUNDATION_TEMPLATE_FILES, ...CRM_TEMPLATE_FILES],
    verificationChecks: [
      'ADMIN_CRM_ASSIGNMENT',
      'BRANCH_OPTION',
      'PRODUCT_TYPE_OPTION',
      'SEQUENCE_QUOTATION',
      'APPROVAL_WORKFLOW',
      'APPROVAL_MATRIX',
      'PDF_TEMPLATE_ASSET',
      'REPORT_DEFINITIONS'
    ],
    resetScopes: ['setup_run_reset'],
    reseedTargets: [],
    defaultOptions: { importMode: 'strict', destructiveMaintenance: false },
    enabledPluginIds: ['foundation', 'crm']
  }
];
