Files
Investidor-V2/app/Services/ExistingBusinessProfileCategory.php
T

47 lines
2.4 KiB
PHP

<?php
namespace App\Services;
use App\Models\ExistingBusiness;
/** Access correspondence, never evidence of legality, title, finance or publication. */
final class ExistingBusinessProfileCategory
{
// Exact catalogue correspondences plus the explicit mappings already present
// in BusinessWizard and the transaction variants in OpportunityCategoryFields.
public const MAP = [
'company_sale' => 'business_sale', 'participation_sale' => 'business_sale',
'buyer_search' => 'business_sale', 'succession' => 'business_sale',
'franchise' => 'franchise', 'real_estate' => 'real_estate', 'land_right' => 'land_rights',
'investment_project' => 'investment_project', 'expansion' => 'investment_project',
'internationalization' => 'investment_project', 'agricultural_investment' => 'investment_project',
'business_partnership' => 'business_partnership', 'strategic_partner' => 'business_partnership',
'joint_venture' => 'business_partnership', 'capital_increase' => 'financing',
'financial_investor' => 'financing', 'financing_request' => 'financing',
'concession_opportunity' => 'concession', 'supply_opportunity' => 'supply',
];
// Native form types are separate from the persisted modality. No default to a project.
public const FORM_TYPES = [
'investment_project' => 'investment_project', 'company_sale' => 'company_sale',
'asset_sale' => 'asset_sale', 'business_partnership' => 'business_partnership',
'financing_request' => 'financing_request', 'concession_opportunity' => 'concession_opportunity',
'supply_opportunity' => 'supply_opportunity', 'participation_sale' => 'company_sale',
'asset_lease' => 'asset_sale', 'capital_increase' => 'financing_request',
'financial_investor' => 'financing_request', 'strategic_partner' => 'business_partnership',
'joint_venture' => 'business_partnership', 'expansion' => 'investment_project',
'agricultural_investment' => 'investment_project', 'internationalization' => 'investment_project',
'buyer_search' => 'company_sale', 'succession' => 'company_sale',
];
public static function category(ExistingBusiness $business): ?string
{
return self::MAP[$business->modality] ?? null;
}
public static function formType(string $modality): ?string
{
return self::FORM_TYPES[$modality] ?? null;
}
}