/**
  * Revokes to the given uniqueness, the given role.
  *
  * @param string $uniqueness
  * @param string $role
  *
  * @throws NonExistentUniquenessAndRoleInternalException
  */
 public function revoke($uniqueness, $role)
 {
     $result = $this->connectToAssignedRoleStorageInternalWorker->connect()->remove(['uniqueness' => $uniqueness, 'role' => $role]);
     if ($result['n'] == 0) {
         throw new NonExistentUniquenessAndRoleInternalException($uniqueness, $role);
     }
 }
Beispiel #2
0
 /**
  * Picks the profile with given uniqueness.
  *
  * @param string $uniqueness
  *
  * @return array An array with keys uniqueness and roles
  */
 public function pick($uniqueness)
 {
     $assignedRoles = $this->connectToAssignedRoleStorageInternalWorker->connect()->find(['uniqueness' => $uniqueness])->fields(['_id' => 0, 'role' => 1]);
     $roles = [];
     foreach ($assignedRoles as $assignedRole) {
         $roles[] = $assignedRole['role'];
     }
     return ['uniqueness' => $uniqueness, 'roles' => $roles];
 }
 /**
  * Deletes the assigned roles and assigned invitation cards for given uniqueness.
  *
  * @param string $uniqueness
  */
 public function delete($uniqueness)
 {
     $this->connectToAssignedRoleStorageInternalWorker->connect()->remove(['uniqueness' => $uniqueness]);
 }
 /**
  * Assigns to the given uniqueness, the given role.
  *
  * @param string $uniqueness
  * @param string $role
  */
 public function assign($uniqueness, $role)
 {
     $this->connectToStorageInternalWorker->connect()->insert(['uniqueness' => $uniqueness, 'role' => $role]);
 }
 /**
  * Collects internet profiles.
  *
  * @return \Iterator
  */
 public function collect()
 {
     return $this->connectToStorageInternalWorker->connect()->find()->fields(['_id' => 0]);
 }