Пример #1
0
 /**
  * @param $username
  * @param $password
  * @return User
  * @throws InvalidPasswordException
  * @throws UserNotFoundException
  */
 public function GetAuthorizedUserForUsernameAndPassword($username, $password)
 {
     /** @var User $user */
     $user = $this->GetOneWhere('{' . $this->userModel->GetAuthUsernameProperty() . '} = :username', ['username' => $username]);
     if (isset($user)) {
         if ($user->IsPasswordValid($password)) {
             return $user;
         } else {
             throw new InvalidPasswordException(sprintf('Incorrect password'));
         }
     } else {
         throw new UserNotFoundException(sprintf('User not found'));
     }
 }
Пример #2
0
 /**
  * @param Request $request
  * @param array $params
  * @return Reply
  */
 public function Delete(Request $request, $params = [])
 {
     // $request is unused in this implementation
     $request = null;
     if (empty($params)) {
         // cannot delete if we don't have an id
         return new Reply(422, ['error' => 'ID is required for DELETE operation.']);
     } else {
         if ($this->authUserFilter && !isset($this->authUser)) {
             return new Reply(403, ['error' => 'Must be logged in to access this resource.']);
         }
         $id = $params[0];
         $delete = $this->mapper->GetOneById($id);
         if ($this->authUserFilter) {
             if ($delete->{$this->authUserIDProperty} !== $this->authUser->GetID()) {
                 $delete = null;
             }
         }
         if (!isset($delete)) {
             return new Reply(403, ['error' => 'Must be logged in to access this resource.']);
         } else {
             $this->mapper->Delete($delete);
             return new Reply(204, ['success' => 'The item was deleted.']);
         }
     }
 }