public function execute($parameters = [])
 {
     if (!isset($parameters['action'])) {
         $result = ['Result' => 'ERROR', 'Message' => 'Faltan parámetros'];
         return json_encode($result);
     }
     switch ($parameters['action']) {
         case 'emailExists':
             if (isset($parameters['email'])) {
                 return json_encode($this->emailExists($parameters['email']));
             } else {
                 return json_encode(SiteService::MissingParameters());
             }
         case 'logout':
             return json_encode(User::logOut());
             break;
         case 'login':
             extract($parameters);
             $password = $pass;
             //  Válido que el correo exista en la base de datos
             if ($this->usernameExists($user)) {
                 $login = User::loginNormal($user, $password);
                 return json_encode($this->processLoginResult($login));
             }
             $result = ['Result' => 'ERROR', 'Message' => 'El correo electrónico no existe'];
             return $result;
             break;
         case 'password-recovery':
             $email = $parameters['email'];
             break;
         default:
             $result = [];
             $result['Result'] = 'ERROR';
             $result['Message'] = 'Acción no definida';
             return json_encode($result);
     }
 }