public function __construct($key) { // vérification que la clef est en argument if (empty($key)) { throw new ApiException(401); } // vérification que la clef est dans la base $this->auth = AuthkeyQuery::create()->findOneByCle($key); if (!$this->auth) { throw new ApiException(403); } // Initialisation de Accounts if (Config::$ACCOUNTS_BACKEND === 'ginger') { $this->accounts = new GingerAccountsApi(Config::$ACCOUNTS_URL, Config::$REMOTE_GINGER_KEY, Config::$REMOTE_GINGER_TIMEOUT); } else { $this->accounts = new AccountsApi(Config::$ACCOUNTS_URL); } }
/** * Removes this object from datastore and sets delete attribute. * * @param PropelPDO $con * @return void * @throws PropelException * @throws Exception * @see BaseObject::setDeleted() * @see BaseObject::isDeleted() */ public function delete(PropelPDO $con = null) { if ($this->isDeleted()) { throw new PropelException("This object has already been deleted."); } if ($con === null) { $con = Propel::getConnection(AuthkeyPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = AuthkeyQuery::create()->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { $deleteQuery->delete($con); $this->postDelete($con); $con->commit(); $this->setDeleted(true); } else { $con->commit(); } } catch (Exception $e) { $con->rollBack(); throw $e; } }