/**
  * Set token
  *
  * @param User $user Registered token
  * @param string $token Access token
  * @return bool|string Confirmation for setting token
  */
 public static function setToken(User $user, $token)
 {
     self::setTimezone();
     $user->token = $token;
     $user->token_expire = date('Y-m-d H:i:s', strtotime('+30 minutes'));
     return $user->save();
 }
 /**
  * Create a user account
  *
  * @param Slim $app
  * @return string
  */
 public static function create(Slim $app)
 {
     $app->response->headers->set('Content-Type', 'application/json');
     $fields = $app->request->post();
     if (!empty($fields) && !is_null($fields['purpose'])) {
         if ($fields['password1'] == $fields['password']) {
             $user = new User();
             $user->username = $fields['username'];
             $user->password = md5($fields['password']);
             $user->token = NULL;
             $user->token_expire = NULL;
             $check = $user->save();
             if ($check === 1) {
                 $userCreated = $user->where('username', $user->getRecord()['username'])->getRecord()['dbData']['username'];
                 return json_encode(['username' => $userCreated, 'message' => 'Registration Complete! Go ahead and login to get a token.']);
             } else {
                 $app->halt(503, json_encode(['message' => 'Confirm all fields have entry']));
             }
         } else {
             $app->halt(404, json_encode(['message' => 'Passwords did not match!']));
         }
     } else {
         $app->halt(422, json_encode(['message' => 'All fields must have entry']));
     }
 }