D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
psa
/
admin
/
plib
/
modules
/
rest-api
/
v2
/
externals
/
Handler
/
Filename :
AuthKeys.php
back
Copy
<?php // Copyright 1999-2024. WebPros International GmbH. All rights reserved. namespace PleskExt\RestApi\v2\Handler; use PleskExt\RestApi\v2\Annotation\Consumer; use PleskExt\RestApi\v2\Entity\ErrorResponse; use PleskExt\RestApi\v2\Entity\SuccessResponse; use PleskExt\RestApi\v2\Helper\InvokableHandler; use PleskExt\RestApi\v2\Entity\SecretKeyRequest; use PleskExt\RestApi\v2\Entity\SecretKeyResponse; use PleskExt\RestApi\v2\SDK; use PleskRestApi\Slim\Psr7\Request; use PleskRestApi\Slim\Psr7\Response; class AuthKeys extends InvokableHandler { /** * @Consumer(type=SecretKeyRequest::class) */ protected function post(Request $request, Response $response) { $secretKeyRequest = $this->consume(); $secretKey = new SecretKeyResponse(); $secretKey->key = SDK\pm_Auth::createSecretKey(\array_merge((array) $secretKeyRequest->ip, (array) $secretKeyRequest->ips) ?: null, $secretKeyRequest->description, $secretKeyRequest->login); $response->getBody()->write($this->produce($secretKey)); return $response->withStatus(201); } protected function delete(Request $request, Response $response) { SDK\pm_Auth::deleteSecretKey($request->getAttribute('key')); $response->getBody()->write($this->produce(new SuccessResponse())); return $response; } }