47 lines
2.4 KiB
PHP
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;
|
|
}
|
|
}
|