<?php
namespace App\Models;

class SubsidiaryModel
{
    public static function getAll(string $lang = 'fr'): array
    {
        return Database::fetchAll(
            'SELECT s.*, st.name, st.tagline, st.description, st.meta_desc
             FROM subsidiaries s
             JOIN subsidiary_translations st ON st.subsidiary_id = s.id AND st.lang = :lang
             WHERE s.is_active = 1
             ORDER BY s.sort_order',
            [':lang' => $lang]
        );
    }

    public static function getByPole(string $pole, string $lang = 'fr'): array
    {
        return Database::fetchAll(
            'SELECT s.*, st.name, st.tagline, st.description
             FROM subsidiaries s
             JOIN subsidiary_translations st ON st.subsidiary_id = s.id AND st.lang = :lang
             WHERE s.pole = :pole AND s.is_active = 1
             ORDER BY s.sort_order',
            [':lang' => $lang, ':pole' => $pole]
        );
    }

    public static function getBySlug(string $slug, string $lang = 'fr'): array|false
    {
    return Database::fetchOne(
        'SELECT s.*, st.name, st.tagline, st.description, st.meta_desc
         FROM subsidiaries s
         JOIN subsidiary_translations st ON st.subsidiary_id = s.id
         WHERE s.slug = :slug 
         AND st.lang = :lang 
         AND s.is_active = 1',
        [':lang' => $lang, ':slug' => $slug]
    );
    }

    public static function groupedByPole(string $lang = 'fr'): array
    {
        $all     = self::getAll($lang);
        $grouped = [];
        foreach ($all as $sub) {
            $grouped[$sub['pole']][] = $sub;
        }
        return $grouped;
    }
}
