public function setKey(EventInterface $event) {
        $acl = $event->getAccessControl();

        if (!($acl instanceof MutableAdapterInterface)) {
            throw new ResourceException('Access control adapter is immutable', 405);
        }

        $request = $event->getRequest();
        $data = json_decode($request->getContent(), true);

        if (!isset($data['privateKey'])) {
            throw new InvalidArgumentException('No privateKey provided', 400);
        }

        $publicKey = $request->getRoute()->get('publickey');
        $privateKey = $data['privateKey'];

        $keyExists = $acl->publicKeyExists($publicKey);

        if ($keyExists) {
            $acl->updatePrivateKey($publicKey, $privateKey);
        } else {
            $acl->addKeyPair($publicKey, $privateKey);
        }

        $event->getResponse()->setStatusCode($keyExists ? 200 : 201);
    }
public function setKey(EventInterface $event) {
        $acl = $event->getAccessControl();

        if (!($acl instanceof MutableAdapterInterface)) {
            throw new ResourceException('Access control adapter is immutable', 405);
        }

        $request = $event->getRequest();
        $data = json_decode($request->getContent(), true);

        if (!isset($data['privateKey'])) {
            throw new InvalidArgumentException('No privateKey provided', 400);
        }

        $publicKey = $request->getRoute()->get('publickey');
        $privateKey = $data['privateKey'];

        $keyExists = $acl->publicKeyExists($publicKey);

        if ($keyExists) {
            $acl->updatePrivateKey($publicKey, $privateKey);
        } else {
            $acl->addKeyPair($publicKey, $privateKey);
        }

        $event->getResponse()->setStatusCode($keyExists ? 200 : 201);
    }
public function setKey ( EventInterface $ event ) { $ acl = $ event -> getAccessControl ( ) ; if ( ! ( $ acl instanceof MutableAdapterInterface ) ) { throw new ResourceException ( 'Access control adapter is immutable' , 405 ) ; } $ request = $ event -> getRequest ( ) ; $ data = json_decode ( $ request -> getContent ( ) , true ) ; if ( ! isset ( $ data [ 'privateKey' ] ) ) { throw new InvalidArgumentException ( 'No privateKey provided' , 400 ) ; } $ publicKey = $ request -> getRoute ( ) -> get ( 'publickey' ) ; $ privateKey = $ data [ 'privateKey' ] ; $ keyExists = $ acl -> publicKeyExists ( $ publicKey ) ; if ( $ keyExists ) { $ acl -> updatePrivateKey ( $ publicKey , $ privateKey ) ; } else { $ acl -> addKeyPair ( $ publicKey , $ privateKey ) ; } $ event -> getResponse ( ) -> setStatusCode ( $ keyExists ? 200 : 201 ) ; }
Add or update public key

@param EventInterface $event The current event
Add or update public key