diff --git a/app/modules/api/Bootstrap.php b/app/modules/api/Bootstrap.php index 80773d88..1511c41d 100644 --- a/app/modules/api/Bootstrap.php +++ b/app/modules/api/Bootstrap.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -31,7 +31,7 @@ use Klein\Response; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use SP\Core\Bootstrap\BootstrapBase; -use SP\Domain\Api\Ports\ApiRequestInterface; +use SP\Domain\Api\Ports\ApiRequestService; use SP\Domain\Api\Services\JsonRpcResponse; use SP\Domain\Core\Bootstrap\BootstrapInterface; use SP\Domain\Core\Bootstrap\ModuleInterface; @@ -73,7 +73,7 @@ final class Bootstrap extends BootstrapBase try { logger('API route'); - $apiRequest = $this->createObjectFor(ApiRequestInterface::class); + $apiRequest = $this->createObjectFor(ApiRequestService::class); [$controllerName, $actionName] = explode('/', $apiRequest->getMethod()); diff --git a/app/modules/api/Controllers/Account/AccountBase.php b/app/modules/api/Controllers/Account/AccountBase.php index 578332db..47ba2f74 100644 --- a/app/modules/api/Controllers/Account/AccountBase.php +++ b/app/modules/api/Controllers/Account/AccountBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2022, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -26,12 +26,11 @@ namespace SP\Modules\Api\Controllers\Account; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; use SP\Domain\Account\Adapters\AccountAdapterInterface; use SP\Domain\Account\Ports\AccountPresetService; use SP\Domain\Account\Ports\AccountService; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Core\Acl\AclInterface; use SP\Domain\Core\Exceptions\InvalidClassException; use SP\Domain\CustomField\Ports\CustomFieldServiceInterface; @@ -54,7 +53,7 @@ abstract class AccountBase extends ControllerBase public function __construct( Application $application, Klein $router, - ApiServiceInterface $apiService, + ApiService $apiService, AclInterface $acl, AccountPresetService $accountPresetService, AccountService $accountService, diff --git a/app/modules/api/Controllers/Account/CreateController.php b/app/modules/api/Controllers/Account/CreateController.php index f28f3d0b..aaee7487 100644 --- a/app/modules/api/Controllers/Account/CreateController.php +++ b/app/modules/api/Controllers/Account/CreateController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\Domain\Account\Dtos\AccountRequest; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Account/DeleteController.php b/app/modules/api/Controllers/Account/DeleteController.php index 44618cc4..e95cb44b 100644 --- a/app/modules/api/Controllers/Account/DeleteController.php +++ b/app/modules/api/Controllers/Account/DeleteController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Account; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/Account/EditController.php b/app/modules/api/Controllers/Account/EditController.php index bdd3a200..92a8a2b0 100644 --- a/app/modules/api/Controllers/Account/EditController.php +++ b/app/modules/api/Controllers/Account/EditController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\Domain\Account\Dtos\AccountRequest; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Account/EditPassController.php b/app/modules/api/Controllers/Account/EditPassController.php index 04c865e5..e84584a2 100644 --- a/app/modules/api/Controllers/Account/EditPassController.php +++ b/app/modules/api/Controllers/Account/EditPassController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\Domain\Account\Dtos\AccountRequest; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Account/SearchController.php b/app/modules/api/Controllers/Account/SearchController.php index 84b144dd..f19a8f3e 100644 --- a/app/modules/api/Controllers/Account/SearchController.php +++ b/app/modules/api/Controllers/Account/SearchController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -30,8 +30,8 @@ use SP\Core\Application; use SP\Domain\Account\Dtos\AccountSearchFilterDto; use SP\Domain\Account\Ports\AccountSearchConstants; use SP\Domain\Account\Ports\AccountSearchService; -use SP\Domain\Api\Ports\ApiServiceInterface; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Domain\Core\Acl\AclInterface; @@ -45,10 +45,10 @@ final class SearchController extends ControllerBase private AccountSearchService $accountSearchService; public function __construct( - Application $application, - Klein $router, - ApiServiceInterface $apiService, - AclInterface $acl, + Application $application, + Klein $router, + ApiService $apiService, + AclInterface $acl, AccountSearchService $accountSearchService ) { parent::__construct($application, $router, $apiService, $acl); @@ -79,7 +79,7 @@ final class SearchController extends ControllerBase } /** - * @return \SP\Domain\Account\Dtos\AccountSearchFilterDto + * @return AccountSearchFilterDto * @throws ServiceException */ private function buildAccountSearchFilter(): AccountSearchFilterDto diff --git a/app/modules/api/Controllers/Account/ViewController.php b/app/modules/api/Controllers/Account/ViewController.php index 6f7ec23e..4ae34c1f 100644 --- a/app/modules/api/Controllers/Account/ViewController.php +++ b/app/modules/api/Controllers/Account/ViewController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -30,7 +30,7 @@ use League\Fractal\Resource\Item; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\Domain\Account\Dtos\AccountEnrichedDto; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Util\Util; diff --git a/app/modules/api/Controllers/Account/ViewPassController.php b/app/modules/api/Controllers/Account/ViewPassController.php index b1a48128..422a5d95 100644 --- a/app/modules/api/Controllers/Account/ViewPassController.php +++ b/app/modules/api/Controllers/Account/ViewPassController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Crypt\Crypt; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/Category/CategoryBase.php b/app/modules/api/Controllers/Category/CategoryBase.php index 723b7f9c..188132ab 100644 --- a/app/modules/api/Controllers/Category/CategoryBase.php +++ b/app/modules/api/Controllers/Category/CategoryBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2022, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -26,9 +26,8 @@ namespace SP\Modules\Api\Controllers\Category; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Category\Ports\CategoryAdapterInterface; use SP\Domain\Category\Ports\CategoryServiceInterface; use SP\Domain\Core\Acl\AclInterface; @@ -48,10 +47,10 @@ abstract class CategoryBase extends ControllerBase * @throws InvalidClassException */ public function __construct( - Application $application, - Klein $router, - ApiServiceInterface $apiService, - AclInterface $acl, + Application $application, + Klein $router, + ApiService $apiService, + AclInterface $acl, CategoryServiceInterface $categoryService, CategoryAdapterInterface $categoryAdapter ) { diff --git a/app/modules/api/Controllers/Category/CreateController.php b/app/modules/api/Controllers/Category/CreateController.php index c15243d4..4280ff47 100644 --- a/app/modules/api/Controllers/Category/CreateController.php +++ b/app/modules/api/Controllers/Category/CreateController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Category; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Category\Models\Category; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Category/DeleteController.php b/app/modules/api/Controllers/Category/DeleteController.php index 02abdd17..f4827134 100644 --- a/app/modules/api/Controllers/Category/DeleteController.php +++ b/app/modules/api/Controllers/Category/DeleteController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Category; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/Category/EditController.php b/app/modules/api/Controllers/Category/EditController.php index 6dfbe86d..cedf517b 100644 --- a/app/modules/api/Controllers/Category/EditController.php +++ b/app/modules/api/Controllers/Category/EditController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Category; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Category\Models\Category; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Category/SearchController.php b/app/modules/api/Controllers/Category/SearchController.php index 5290ae55..db8fa176 100644 --- a/app/modules/api/Controllers/Category/SearchController.php +++ b/app/modules/api/Controllers/Category/SearchController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Category; use Exception; use SP\Core\Events\Event; use SP\DataModel\ItemSearchData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Category/ViewController.php b/app/modules/api/Controllers/Category/ViewController.php index 48429e2d..9bfe4833 100644 --- a/app/modules/api/Controllers/Category/ViewController.php +++ b/app/modules/api/Controllers/Category/ViewController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ use Exception; use League\Fractal\Resource\Item; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Util\Util; diff --git a/app/modules/api/Controllers/Client/ClientBase.php b/app/modules/api/Controllers/Client/ClientBase.php index 2fefe616..56515e45 100644 --- a/app/modules/api/Controllers/Client/ClientBase.php +++ b/app/modules/api/Controllers/Client/ClientBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2022, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -26,9 +26,8 @@ namespace SP\Modules\Api\Controllers\Client; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Client\Ports\ClientAdapterInterface; use SP\Domain\Client\Ports\ClientServiceInterface; use SP\Domain\Core\Acl\AclInterface; @@ -50,7 +49,7 @@ abstract class ClientBase extends ControllerBase public function __construct( Application $application, Klein $router, - ApiServiceInterface $apiService, + ApiService $apiService, AclInterface $acl, ClientServiceInterface $clientService, ClientAdapterInterface $clientAdapter diff --git a/app/modules/api/Controllers/Client/CreateController.php b/app/modules/api/Controllers/Client/CreateController.php index 1513fd19..9fbf737e 100644 --- a/app/modules/api/Controllers/Client/CreateController.php +++ b/app/modules/api/Controllers/Client/CreateController.php @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Client; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Client\Models\Client; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Client/DeleteController.php b/app/modules/api/Controllers/Client/DeleteController.php index cd23d6b9..2c5a7ca1 100644 --- a/app/modules/api/Controllers/Client/DeleteController.php +++ b/app/modules/api/Controllers/Client/DeleteController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Client; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/Client/EditController.php b/app/modules/api/Controllers/Client/EditController.php index 274fdb9a..30beb3fb 100644 --- a/app/modules/api/Controllers/Client/EditController.php +++ b/app/modules/api/Controllers/Client/EditController.php @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Client; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Client\Models\Client; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Client/SearchController.php b/app/modules/api/Controllers/Client/SearchController.php index b6014ca0..70d1ecdc 100644 --- a/app/modules/api/Controllers/Client/SearchController.php +++ b/app/modules/api/Controllers/Client/SearchController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Client; use Exception; use SP\Core\Events\Event; use SP\DataModel\ItemSearchData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Client/ViewController.php b/app/modules/api/Controllers/Client/ViewController.php index a779ab90..d7984c9a 100644 --- a/app/modules/api/Controllers/Client/ViewController.php +++ b/app/modules/api/Controllers/Client/ViewController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ use Exception; use League\Fractal\Resource\Item; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Util\Util; diff --git a/app/modules/api/Controllers/Config/BackupController.php b/app/modules/api/Controllers/Config/BackupController.php index fc9450ea..0252d8ee 100644 --- a/app/modules/api/Controllers/Config/BackupController.php +++ b/app/modules/api/Controllers/Config/BackupController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -26,12 +26,11 @@ namespace SP\Modules\Api\Controllers\Config; use Exception; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Ports\ApiServiceInterface; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Domain\Core\Acl\AclInterface; use SP\Domain\Core\Exceptions\InvalidClassException; @@ -53,10 +52,10 @@ final class BackupController extends ControllerBase * @throws InvalidClassException */ public function __construct( - Application $application, - Klein $router, - ApiServiceInterface $apiService, - AclInterface $acl, + Application $application, + Klein $router, + ApiService $apiService, + AclInterface $acl, FileBackupServiceInterface $fileBackupService ) { parent::__construct($application, $router, $apiService, $acl); diff --git a/app/modules/api/Controllers/Config/ExportController.php b/app/modules/api/Controllers/Config/ExportController.php index 55e55d1f..9a166207 100644 --- a/app/modules/api/Controllers/Config/ExportController.php +++ b/app/modules/api/Controllers/Config/ExportController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -27,12 +27,11 @@ namespace SP\Modules\Api\Controllers\Config; use Exception; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Ports\ApiServiceInterface; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Domain\Core\Acl\AclInterface; use SP\Domain\Core\Exceptions\InvalidClassException; @@ -51,10 +50,10 @@ final class ExportController extends ControllerBase * @throws InvalidClassException */ public function __construct( - Application $application, - Klein $router, - ApiServiceInterface $apiService, - AclInterface $acl, + Application $application, + Klein $router, + ApiService $apiService, + AclInterface $acl, XmlExportServiceInterface $xmlExportService ) { parent::__construct($application, $router, $apiService, $acl); diff --git a/app/modules/api/Controllers/ControllerBase.php b/app/modules/api/Controllers/ControllerBase.php index 76352efc..ef5f3be6 100644 --- a/app/modules/api/Controllers/ControllerBase.php +++ b/app/modules/api/Controllers/ControllerBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -31,8 +31,8 @@ use SP\Core\Acl\Acl; use SP\Core\Application; use SP\Core\Bootstrap\BootstrapBase; use SP\Core\Events\EventDispatcher; -use SP\Domain\Api\Ports\ApiServiceInterface; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Api\Services\JsonRpcResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Config\Ports\ConfigDataInterface; @@ -52,9 +52,9 @@ abstract class ControllerBase protected string $controllerName; protected ContextInterface $context; - protected EventDispatcher $eventDispatcher; - protected ApiServiceInterface $apiService; - protected Klein $router; + protected EventDispatcher $eventDispatcher; + protected ApiService $apiService; + protected Klein $router; protected ConfigDataInterface $configData; protected Manager $fractal; protected Acl $acl; @@ -63,8 +63,8 @@ abstract class ControllerBase public function __construct( Application $application, - Klein $router, - ApiServiceInterface $apiService, + Klein $router, + ApiService $apiService, AclInterface $acl ) { $this->context = $application->getContext(); diff --git a/app/modules/api/Controllers/Tag/CreateController.php b/app/modules/api/Controllers/Tag/CreateController.php index 45d37eac..e17adf9b 100644 --- a/app/modules/api/Controllers/Tag/CreateController.php +++ b/app/modules/api/Controllers/Tag/CreateController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\DataModel\TagData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Tag/DeleteController.php b/app/modules/api/Controllers/Tag/DeleteController.php index 922a44ca..f53adcc6 100644 --- a/app/modules/api/Controllers/Tag/DeleteController.php +++ b/app/modules/api/Controllers/Tag/DeleteController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Tag; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/Tag/EditController.php b/app/modules/api/Controllers/Tag/EditController.php index 4854498a..9d2052c0 100644 --- a/app/modules/api/Controllers/Tag/EditController.php +++ b/app/modules/api/Controllers/Tag/EditController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\DataModel\TagData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Tag/SearchController.php b/app/modules/api/Controllers/Tag/SearchController.php index c3ee2f2e..a720686b 100644 --- a/app/modules/api/Controllers/Tag/SearchController.php +++ b/app/modules/api/Controllers/Tag/SearchController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\Tag; use Exception; use SP\Core\Events\Event; use SP\DataModel\ItemSearchData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/Tag/TagBase.php b/app/modules/api/Controllers/Tag/TagBase.php index 6172d2a0..ff32c9cd 100644 --- a/app/modules/api/Controllers/Tag/TagBase.php +++ b/app/modules/api/Controllers/Tag/TagBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2022, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -26,9 +26,8 @@ namespace SP\Modules\Api\Controllers\Tag; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Core\Acl\AclInterface; use SP\Domain\Core\Exceptions\InvalidClassException; use SP\Domain\Tag\Ports\TagServiceInterface; @@ -48,7 +47,7 @@ abstract class TagBase extends ControllerBase public function __construct( Application $application, Klein $router, - ApiServiceInterface $apiService, + ApiService $apiService, AclInterface $acl, TagServiceInterface $tagService ) { diff --git a/app/modules/api/Controllers/Tag/ViewController.php b/app/modules/api/Controllers/Tag/ViewController.php index c1fd0cba..fb72a0d8 100644 --- a/app/modules/api/Controllers/Tag/ViewController.php +++ b/app/modules/api/Controllers/Tag/ViewController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -27,7 +27,7 @@ namespace SP\Modules\Api\Controllers\Tag; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/UserGroup/CreateController.php b/app/modules/api/Controllers/UserGroup/CreateController.php index 95ff1fbc..a4ea9c87 100644 --- a/app/modules/api/Controllers/UserGroup/CreateController.php +++ b/app/modules/api/Controllers/UserGroup/CreateController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\DataModel\UserGroupData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/UserGroup/DeleteController.php b/app/modules/api/Controllers/UserGroup/DeleteController.php index 5c1ae00a..a23675e2 100644 --- a/app/modules/api/Controllers/UserGroup/DeleteController.php +++ b/app/modules/api/Controllers/UserGroup/DeleteController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\UserGroup; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/Controllers/UserGroup/EditController.php b/app/modules/api/Controllers/UserGroup/EditController.php index d3c63ced..c447930a 100644 --- a/app/modules/api/Controllers/UserGroup/EditController.php +++ b/app/modules/api/Controllers/UserGroup/EditController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -29,7 +29,7 @@ use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\DataModel\UserGroupData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/UserGroup/SearchController.php b/app/modules/api/Controllers/UserGroup/SearchController.php index 24955831..89fc6728 100644 --- a/app/modules/api/Controllers/UserGroup/SearchController.php +++ b/app/modules/api/Controllers/UserGroup/SearchController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -28,7 +28,7 @@ namespace SP\Modules\Api\Controllers\UserGroup; use Exception; use SP\Core\Events\Event; use SP\DataModel\ItemSearchData; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Acl\AclActionsInterface; diff --git a/app/modules/api/Controllers/UserGroup/UserGroupBase.php b/app/modules/api/Controllers/UserGroup/UserGroupBase.php index fa611234..a2049941 100644 --- a/app/modules/api/Controllers/UserGroup/UserGroupBase.php +++ b/app/modules/api/Controllers/UserGroup/UserGroupBase.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2022, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -25,9 +25,8 @@ namespace SP\Modules\Api\Controllers\UserGroup; use Klein\Klein; -use SP\Core\Acl\Acl; use SP\Core\Application; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Core\Acl\AclInterface; use SP\Domain\Core\Exceptions\InvalidClassException; use SP\Domain\User\Ports\UserGroupServiceInterface; @@ -45,10 +44,10 @@ abstract class UserGroupBase extends ControllerBase * @throws InvalidClassException */ public function __construct( - Application $application, - Klein $router, - ApiServiceInterface $apiService, - AclInterface $acl, + Application $application, + Klein $router, + ApiService $apiService, + AclInterface $acl, UserGroupServiceInterface $groupService ) { parent::__construct($application, $router, $apiService, $acl); diff --git a/app/modules/api/Controllers/UserGroup/ViewController.php b/app/modules/api/Controllers/UserGroup/ViewController.php index 95b9c49a..13fb1e2b 100644 --- a/app/modules/api/Controllers/UserGroup/ViewController.php +++ b/app/modules/api/Controllers/UserGroup/ViewController.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -27,7 +27,7 @@ namespace SP\Modules\Api\Controllers\UserGroup; use Exception; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Acl\AclActionsInterface; /** diff --git a/app/modules/api/module.php b/app/modules/api/module.php index 45009ca9..6ced4c39 100644 --- a/app/modules/api/module.php +++ b/app/modules/api/module.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -22,7 +22,7 @@ * along with sysPass. If not, see . */ -use SP\Domain\Api\Ports\ApiRequestInterface; +use SP\Domain\Api\Ports\ApiRequestService; use SP\Domain\Api\Services\ApiRequest; use SP\Domain\Core\Bootstrap\BootstrapInterface; use SP\Domain\Core\Bootstrap\ModuleInterface; @@ -36,7 +36,7 @@ const MODULE_PATH = __DIR__; const PLUGINS_PATH = MODULE_PATH . DIRECTORY_SEPARATOR . 'plugins'; return [ - ApiRequestInterface::class => factory([ApiRequest::class, 'buildFromRequest']), + ApiRequestService::class => factory([ApiRequest::class, 'buildFromRequest']), BootstrapInterface::class => autowire(Bootstrap::class), ModuleInterface::class => autowire(Init::class) ]; diff --git a/lib/SP/Domain/Api/Services/ApiRequestData.php b/lib/SP/Domain/Api/Dtos/ApiRequestData.php similarity index 90% rename from lib/SP/Domain/Api/Services/ApiRequestData.php rename to lib/SP/Domain/Api/Dtos/ApiRequestData.php index 17a7f708..a7d6fd1b 100644 --- a/lib/SP/Domain/Api/Services/ApiRequestData.php +++ b/lib/SP/Domain/Api/Dtos/ApiRequestData.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -22,7 +22,7 @@ * along with sysPass. If not, see . */ -namespace SP\Domain\Api\Services; +namespace SP\Domain\Api\Dtos; use SP\Core\DataCollection; diff --git a/lib/SP/Domain/Api/Services/ApiResponse.php b/lib/SP/Domain/Api/Dtos/ApiResponse.php similarity index 66% rename from lib/SP/Domain/Api/Services/ApiResponse.php rename to lib/SP/Domain/Api/Dtos/ApiResponse.php index 4579d2eb..1e817b37 100644 --- a/lib/SP/Domain/Api/Services/ApiResponse.php +++ b/lib/SP/Domain/Api/Dtos/ApiResponse.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -22,7 +22,7 @@ * along with sysPass. If not, see . */ -namespace SP\Domain\Api\Services; +namespace SP\Domain\Api\Dtos; /** * Class ApiResponse @@ -37,36 +37,37 @@ final class ApiResponse /** * ApiResponse constructor. * - * @param mixed $result - * @param int $resultCode - * @param string|null $resultMessage - * @param int|null $itemId + * @param mixed $result + * @param int $resultCode + * @param string|null $resultMessage + * @param int|null $itemId */ public function __construct( - private mixed $result, - private int $resultCode, - private ?string $resultMessage = null, - private ?int $itemId = null - ) {} + private readonly mixed $result, + private readonly int $resultCode, + private readonly ?string $resultMessage = null, + private readonly ?int $itemId = null + ) { + } /** - * @param mixed $result - * @param int|null $itemId - * @param string|null $message + * @param mixed $result + * @param int|null $itemId + * @param string|null $message * * @return ApiResponse */ public static function makeSuccess( mixed $result, string $message = null, - ?int $itemId = null, + ?int $itemId = null, ): ApiResponse { return new self($result, self::RESULT_SUCCESS, $message, $itemId); } /** - * @param mixed $result - * @param string|null $message + * @param mixed $result + * @param string|null $message * * @return ApiResponse */ @@ -83,11 +84,11 @@ final class ApiResponse public function getResponse(): array { return [ - 'itemId' => $this->itemId, - 'result' => $this->result, - 'resultCode' => $this->resultCode, + 'itemId' => $this->itemId, + 'result' => $this->result, + 'resultCode' => $this->resultCode, 'resultMessage' => $this->resultMessage, - 'count' => is_array($this->result) ? count($this->result) : null, + 'count' => is_array($this->result) ? count($this->result) : null, ]; } } diff --git a/lib/SP/Domain/Api/Ports/ApiRequestInterface.php b/lib/SP/Domain/Api/Ports/ApiRequestService.php similarity index 80% rename from lib/SP/Domain/Api/Ports/ApiRequestInterface.php rename to lib/SP/Domain/Api/Ports/ApiRequestService.php index 6d200abe..2f9ea995 100644 --- a/lib/SP/Domain/Api/Ports/ApiRequestInterface.php +++ b/lib/SP/Domain/Api/Ports/ApiRequestService.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -24,12 +24,14 @@ namespace SP\Domain\Api\Ports; +use SP\Domain\Api\Services\ApiRequestException; + /** * Class ApiRequest * * @package SP\Domain\Api\Services */ -interface ApiRequestInterface +interface ApiRequestService { public const PHP_REQUEST_STREAM = 'php://input'; @@ -38,23 +40,23 @@ interface ApiRequestInterface * * It will read the 'php://input' strean and get the contents into a JSON format * - * @param string $stream + * @param string $stream * - * @return ApiRequestInterface - * @throws \SP\Domain\Api\Services\ApiRequestException + * @return ApiRequestService + * @throws ApiRequestException */ - public static function buildFromRequest(string $stream = self::PHP_REQUEST_STREAM): ApiRequestInterface; + public static function buildFromRequest(string $stream = self::PHP_REQUEST_STREAM): ApiRequestService; /** - * @param string $key - * @param mixed|null $default + * @param string $key + * @param mixed|null $default * * @return mixed */ public function get(string $key, mixed $default = null): mixed; /** - * @param string $key + * @param string $key * * @return bool */ diff --git a/lib/SP/Domain/Api/Ports/ApiServiceInterface.php b/lib/SP/Domain/Api/Ports/ApiService.php similarity index 96% rename from lib/SP/Domain/Api/Ports/ApiServiceInterface.php rename to lib/SP/Domain/Api/Ports/ApiService.php index b69bcc6f..a6fef1b9 100644 --- a/lib/SP/Domain/Api/Ports/ApiServiceInterface.php +++ b/lib/SP/Domain/Api/Ports/ApiService.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -35,7 +35,7 @@ use SP\Domain\Core\Exceptions\SPException; * * @package SP\Domain\Common\Services\ApiService */ -interface ApiServiceInterface +interface ApiService { /** * Sets up API diff --git a/lib/SP/Domain/Api/Services/Api.php b/lib/SP/Domain/Api/Services/Api.php index 6bebf738..3313d064 100644 --- a/lib/SP/Domain/Api/Services/Api.php +++ b/lib/SP/Domain/Api/Services/Api.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -30,8 +30,8 @@ use SP\Core\Context\ContextException; use SP\Core\Crypt\Crypt; use SP\Core\Crypt\Hash; use SP\Core\Crypt\Vault; -use SP\Domain\Api\Ports\ApiRequestInterface; -use SP\Domain\Api\Ports\ApiServiceInterface; +use SP\Domain\Api\Ports\ApiRequestService; +use SP\Domain\Api\Ports\ApiService; use SP\Domain\Auth\Models\AuthToken as AuthTokenModel; use SP\Domain\Auth\Ports\AuthTokenServiceInterface; use SP\Domain\Auth\Services\AuthToken; @@ -59,7 +59,7 @@ use function SP\processException; /** * Class Api */ -final class Api extends Service implements ApiServiceInterface +final class Api extends Service implements ApiService { private TrackRequest $trackRequest; private ?AuthTokenModel $authToken = null; @@ -72,7 +72,7 @@ final class Api extends Service implements ApiServiceInterface public function __construct( Application $application, private readonly TrackServiceInterface $trackService, - private readonly ApiRequestInterface $apiRequest, + private readonly ApiRequestService $apiRequest, private readonly AuthTokenServiceInterface $authTokenService, private readonly UserServiceInterface $userService, private readonly UserProfileServiceInterface $userProfileService diff --git a/lib/SP/Domain/Api/Services/ApiRequest.php b/lib/SP/Domain/Api/Services/ApiRequest.php index 00ef413e..509768d6 100644 --- a/lib/SP/Domain/Api/Services/ApiRequest.php +++ b/lib/SP/Domain/Api/Services/ApiRequest.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -25,7 +25,8 @@ namespace SP\Domain\Api\Services; use JsonException; -use SP\Domain\Api\Ports\ApiRequestInterface; +use SP\Domain\Api\Dtos\ApiRequestData; +use SP\Domain\Api\Ports\ApiRequestService; use SP\Domain\Core\Exceptions\SPException; use function SP\__u; @@ -35,25 +36,27 @@ use function SP\__u; * * @package SP\Domain\Api\Services */ -final class ApiRequest implements ApiRequestInterface +final class ApiRequest implements ApiRequestService { protected ?string $method = null; protected ?int $id = null; protected ?ApiRequestData $data = null; - private function __construct() {} + private function __construct() + { + } /** * Build the ApiRequest from the request itself. * * It will read the 'php://input' strean and get the contents into a JSON format * - * @param string $stream + * @param string $stream * - * @return ApiRequestInterface + * @return ApiRequestService * @throws ApiRequestException */ - public static function buildFromRequest(string $stream = self::PHP_REQUEST_STREAM): ApiRequestInterface + public static function buildFromRequest(string $stream = self::PHP_REQUEST_STREAM): ApiRequestService { $content = file_get_contents($stream); @@ -72,12 +75,12 @@ final class ApiRequest implements ApiRequestInterface /** * Build the ApiRequest from a JSON data structure. * - * @param string $json + * @param string $json * - * @return ApiRequestInterface + * @return ApiRequestService * @throws ApiRequestException */ - private static function buildFromJson(string $json): ApiRequestInterface + private static function buildFromJson(string $json): ApiRequestService { try { $data = json_decode( @@ -119,8 +122,8 @@ final class ApiRequest implements ApiRequestInterface } /** - * @param string $key - * @param mixed|null $default + * @param string $key + * @param mixed|null $default * * @return mixed */ @@ -130,7 +133,7 @@ final class ApiRequest implements ApiRequestInterface } /** - * @param string $key + * @param string $key * * @return bool */ diff --git a/lib/SP/Domain/Api/Services/ApiStatuses.php b/lib/SP/Domain/Api/Services/ApiStatuses.php index 699053db..cceec8bb 100644 --- a/lib/SP/Domain/Api/Services/ApiStatuses.php +++ b/lib/SP/Domain/Api/Services/ApiStatuses.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -24,6 +24,9 @@ namespace SP\Domain\Api\Services; +/** + * Class ApiStatuses + */ enum ApiStatuses: int { case INITIALIZED = 0; diff --git a/lib/SP/Domain/Api/Services/JsonRpcResponse.php b/lib/SP/Domain/Api/Services/JsonRpcResponse.php index 9b758fe2..ac84d9a0 100644 --- a/lib/SP/Domain/Api/Services/JsonRpcResponse.php +++ b/lib/SP/Domain/Api/Services/JsonRpcResponse.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -25,6 +25,7 @@ namespace SP\Domain\Api\Services; use Exception; +use SP\Domain\Api\Dtos\ApiResponse; use SP\Domain\Core\Exceptions\SPException; use SP\Http\JsonResponse; @@ -43,8 +44,8 @@ final class JsonRpcResponse public const SERVER_ERROR = -32000; /** - * @param ApiResponse $apiResponse - * @param int $id + * @param ApiResponse $apiResponse + * @param int $id * * @return string * @throws SPException @@ -54,9 +55,9 @@ final class JsonRpcResponse int $id ): string { return JsonResponse::buildJsonFrom([ - 'jsonrpc' => '2.0', - 'result' => $apiResponse->getResponse(), - 'id' => $id, + 'jsonrpc' => '2.0', + 'result' => $apiResponse->getResponse(), + 'id' => $id, ], JSON_UNESCAPED_SLASHES); } @@ -68,27 +69,27 @@ final class JsonRpcResponse } /** - * @param string $message - * @param int $code - * @param int $id - * @param mixed|null $data + * @param string $message + * @param int $code + * @param int $id + * @param mixed|null $data * * @return string */ public static function getResponseError( string $message, - int $code, - int $id, - $data = null + int $code, + int $id, + mixed $data = null ): string { return json_encode([ - 'jsonrpc' => '2.0', - 'error' => [ - 'message' => __($message), - 'code' => $code, - 'data' => $data, - ], - 'id' => $id, - ], JSON_PARTIAL_OUTPUT_ON_ERROR); + 'jsonrpc' => '2.0', + 'error' => [ + 'message' => __($message), + 'code' => $code, + 'data' => $data, + ], + 'id' => $id, + ], JSON_PARTIAL_OUTPUT_ON_ERROR); } } diff --git a/tests/SPT/Domain/Api/Services/ApiResponseTest.php b/tests/SPT/Domain/Api/Services/ApiResponseTest.php index 3f22441c..0ad203e2 100644 --- a/tests/SPT/Domain/Api/Services/ApiResponseTest.php +++ b/tests/SPT/Domain/Api/Services/ApiResponseTest.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -24,7 +24,7 @@ namespace SPT\Domain\Api\Services; -use SP\Domain\Api\Services\ApiResponse; +use SP\Domain\Api\Dtos\ApiResponse; use SPT\UnitaryTestCase; /** diff --git a/tests/SPT/Domain/Api/Services/ApiServiceTest.php b/tests/SPT/Domain/Api/Services/ApiServiceTest.php index 788fb3e8..e3b51372 100644 --- a/tests/SPT/Domain/Api/Services/ApiServiceTest.php +++ b/tests/SPT/Domain/Api/Services/ApiServiceTest.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link https://syspass.org - * @copyright 2012-2023, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2024, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -31,7 +31,7 @@ use ReflectionClass; use SP\Core\Context\ContextException; use SP\Core\Crypt\Crypt; use SP\Core\Crypt\Vault; -use SP\Domain\Api\Ports\ApiRequestInterface; +use SP\Domain\Api\Ports\ApiRequestService; use SP\Domain\Api\Services\Api; use SP\Domain\Auth\Models\AuthToken; use SP\Domain\Auth\Ports\AuthTokenServiceInterface; @@ -63,9 +63,9 @@ use function PHPUnit\Framework\onConsecutiveCalls; class ApiServiceTest extends UnitaryTestCase { - private TrackServiceInterface|MockObject $trackService; - private ApiRequestInterface|MockObject $apiRequest; - private AuthTokenServiceInterface|MockObject $authTokenService; + private TrackServiceInterface|MockObject $trackService; + private ApiRequestService|MockObject $apiRequest; + private AuthTokenServiceInterface|MockObject $authTokenService; private UserServiceInterface|MockObject $userService; private MockObject|UserProfileServiceInterface $userProfileService; private Api $apiService; @@ -196,7 +196,7 @@ class ApiServiceTest extends UnitaryTestCase */ public function testGetParamWithHelp() { - $apiRequest = $this->createMock(ApiRequestInterface::class); + $apiRequest = $this->createMock(ApiRequestService::class); $apiRequest->method('exists')->willReturn(false); $apiRequest->method('getMethod')->willReturn('account/view'); @@ -298,7 +298,7 @@ class ApiServiceTest extends UnitaryTestCase parent::setUp(); $this->trackService = $this->createMock(TrackServiceInterface::class); - $this->apiRequest = $this->createMock(ApiRequestInterface::class); + $this->apiRequest = $this->createMock(ApiRequestService::class); $this->authTokenService = $this->createMock(AuthTokenServiceInterface::class); $this->userService = $this->createMock(UserServiceInterface::class); $this->userProfileService = $this->createMock(UserProfileServiceInterface::class);