Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
18 / 18
ManagerError
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
18
100.00% covered (success)
100.00%
18 / 18
 explicit
100.00% covered (success)
100.00%
1 / 1
18
100.00% covered (success)
100.00%
18 / 18
<?php
    
    namespace manager;
    class ManagerError{
        /* SUCCESS */
            const Success             = 0;
        /* Parsage json */
            const ParsingFailed       = 1;
        /* ResourceDispatcher */
            // Drapeaux invalides
            const InvalidFlags        = 2;
            // Fichier inexistant
            const UnreachableResource = 3;
        /* ModuleRequest */
            // Le @path n'est pas renseigne
            const MissingPath         = 4;
            // Verification de la coherence du chemin (existe dans la conf)
            const WrongPathModule     = 5;
            // Module non specifie dans la conf
            const UnknownModule       = 6;
            // Methode non specifie pour ce Module dans la conf
            const UnknownMethod       = 7;
            // Methode inamorcable
            const UncallableMethod    = 8;
            // Erreur de parametre(s)
            const ParamError          = 9;
            // Erreur dans le traitement
            const ModuleError         = 10;
        /* Repo */
            // Verification de la coherence du chemin (existe dans la conf)
            const WrongPathRepo       = 11;
            // Module non specifie dans la conf
            const UnknownRepo         = 12;
            // Erreur dans le traitement
            const RepoError           = 13;
        /* Database */
            // Erreur lors de la creation d'un objet PDO (connection)
            const PDOConnection       = 14;
        /* API token */
            // Token inexistant ou faux
            const TokenError          = 15;
            const PermissionError     = 16;
        /* EXPLICITE UN CODE D'ERREUR
        *
        * @error<Integer>                                     Code d'erreur
        *
        * @return explicit<String>                             Description explicite du code d'erreur
        *
        */
        public static function explicit($error){
            switch($error){
                case self::Success:             return "Tout s'est bien deroule";                                             break;
                case self::ParsingFailed:       return "La lecture du fichier JSON ou XML a echoue";                          break;
                
                case self::InvalidFlags:        return "Les specifications (drapeaux) sont incorrects";                       break;
                case self::UnreachableResource: return "La ressource n'existe pas (404)";                                     break;
                case self::MissingPath:         return "Le chemin de delegation n'a pas ete renseigne";                       break;
                case self::WrongPathModule:     return "Le chemin de delegation est incorrect ('nomModule/nomMethode')";      break;
                case self::WrongPathRepo:       return "Le chemin de delegation est incorrect ('nomRepo/nomMethode')";        break;
                case self::UnknownModule:       return "Le module n'existe pas";                                              break;
                case self::UnknownRepo:         return "Le repo n'existe pas";                                                break;
                case self::UnknownMethod:       return "Le methode n'existe pas";                                             break;
                case self::UncallableMethod:    return "Le methode n'est pas amorcable";                                      break;
                case self::ParamError:          return "Un ou plusieurs parametres sont manquants ou incorrects";             break;
                case self::ModuleError:         return "Erreur lors du traitement du module";                                 break;
                case self::RepoError:           return "Erreur lors du traitement du repo";                                   break;
                case self::PDOConnection:       return "La connexion avec la base de donnees a echoue";                       break;
                case self::TokenError:          return "Le token de connection est absent ou errone";                         break;
                case self::PermissionError:     return "Vous n'avez pas la permission d'effectuer cette action";              break;
                // default:                        return "Erreur inconnue...";                                                  break;
            }
            // Erreur inconnue
            return null;
        }
    }
?>