<?php

class ControleurObjet
{
    public static function lireObjets() : string
    {
        $titre = "Listes des " . strtolower(static::$object) . "s";
        return $titre;
    }

    /**
     * Affiche la page de cration d'un objet et se charge également de sa création.
     * @return string
     */
    public static function creerObjet() : string
    {
        $createdObject = [];
        // Si reçoie une requête POST pour créer un objet et qu'on a plus d'une entrée
        if(!empty($_POST["objectName"]) && count($_POST) > 1){
            $columns = [];
            foreach ($_POST as $index => $value){
                if(!in_array($index, ["action", "objectName"])){
                    $columns[$index] = $value;
                }
            }

            $createdObject = Objet::addObject($_POST["objectName"], $columns);
            if($createdObject["status"] === "fail"){
                $createdObject["status"] = "danger"; // Pour le style Bootstrap
            }
        }
        if(!empty($_GET["describeTable"])){
            return json_encode(Objet::describeObject($_GET["describeTable"]));
        }

        return view('formulaire-creation-objet', [
            'pageTitle' => 'Créer un objet',
            'insertMessage' => $createdObject
        ]);
    }
}