Imbo\Resource\Keys::setKey PHP Метод

setKey() публичный Метод

Add or update public key
public setKey ( Imbo\EventManager\EventInterface $event )
$event Imbo\EventManager\EventInterface The current event
    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);
    }