/**
  * Api Login
  * @return array
  */
 public function login()
 {
     $rules = ['email' => 'required_without:username|email', 'username' => 'required_without:email', 'password' => 'required'];
     $validate = Hyfn::validate($rules);
     if ($validate !== true) {
         return Api::error($validate->errors()->getMessages());
     }
     $input = array('email' => Input::get('email'), 'username' => Input::get('username'), 'password' => Input::get('password'));
     $user = new User();
     $login = $user->login($input);
     if ($login !== true) {
         return Api::error($login);
     }
     $token = $user->token;
     $user = User::getFromToken($token);
     $user = $user->toArray();
     $user['token'] = $token;
     return Api::response($user);
 }
 public function __construct()
 {
     $this->token = Input::get('token');
     $this->user = User::getFromToken($this->token);
 }