/** * Persist new app session to DB * @author zbrown * * @param ApiRequestObject $apiRequest * @param $applicationId * @return string */ public function persistNewAppSession(ApiRequestObject $apiRequest, $applicationId) { $publicKey = $apiRequest->getPublicKey(); $privateKey = $apiRequest->getPrivateKey(); $sessionToken = $this->generateSessionToken($applicationId); $session = new Session(); $session->setSession($sessionToken); $session->setPublic($publicKey); $session->setSecret($privateKey); $session->setAppid($applicationId); $now = new DateTime('now'); $session->setTimestamp($now); $this->getDoctrine()->getEntityManager()->persist($session); $this->getDoctrine()->getEntityManager()->flush(); return $sessionToken; }
/** * Reset application API keyset * @author zbrown * * @param ApiRequestObject $apiRequest * @param $appId * @return bool * @throws \Doctrine\DBAL\DBALException */ public function resetKeys(ApiRequestObject $apiRequest, $appId) { $qb = $this->getDoctrine()->getEntityManager()->getConnection(); $q = $qb->prepare('UPDATE Apps SET PublicKey=:publicKey, SecretKey=:privateKey WHERE id=:appId'); $q->bindValue('publicKey', $apiRequest->getPublicKey()); $q->bindValue('privateKey', $apiRequest->getPrivateKey()); $q->bindvalue('appId', $appId); $q->execute(); return true; }