diff --git a/README.md b/README.md
index 4f4e3767..bed23755 100644
--- a/README.md
+++ b/README.md
@@ -62,16 +62,20 @@ There are two installation methods.
The advantage of using this command is that it runs through the whole installation process. Run the following command:
- composer create-project dotkernel/admin -s dev dk
+```shell
+composer create-project dotkernel/admin -s dev dk
+```
The above command downloads the `admin` package, then downloads and installs the `dependencies`.
The setup script prompts for some configuration settings, for example the lines below:
- Please select which config file you wish to inject 'Laminas\Diactoros\ConfigProvider' into:
+```text
+Please select which config file you wish to inject 'Laminas\Diactoros\ConfigProvider' into:
[0] Do not inject
[1] config/config.php
Make your selection (default is 1):
+```
Simply select `[0] Do not inject`, because Dotkernel includes its own configProvider which already contains the prompted
configurations.
@@ -89,11 +93,15 @@ Type `y` here, and hit `enter`
This method requires more manual input, but it ensures that the default branch is installed, even if it is not released.
Run the following command:
- git clone https://github.com/dotkernel/admin.git .
+```shell
+git clone https://github.com/dotkernel/admin.git .
+```
The dependencies have to be installed separately, by running this command
- composer install
+```shell
+composer install
+```
Just like for `II Installing Dotkernel admin using composer` (see above), the setup asks for configuration settings
regarding injections (type `0` and hit `enter`) and a confirmation to use this setting for other packages (type `y` and
@@ -106,18 +114,34 @@ hit `enter`)
Run the migrations and seeds with these commands:
- php bin/doctrine-migrations migrate
+```shell
+php bin/doctrine-migrations migrate
+```
- php bin/doctrine fixtures:execute
+```shell
+php bin/doctrine fixtures:execute
+```
- If you use `composer create-project`, the project will go into development mode automatically after installing. The
development mode status can be checked and toggled by using these composer commands:
- composer development-status
+You can check if you have development mode enabled by running:
- composer development-enable
+```shell
+composer development-status
+```
- composer development-disable
+You can enable development mode by running:
+
+```shell
+composer development-enable
+```
+
+You can disable development mode by running:
+
+```shell
+composer development-disable
+```
- If not already done on installation, remove the `.dist` extension from `config/autoload/development.global.php.dist`.
This will enable dev mode by turning debug flag to `true` and turning configuration caching to `off`. It will also
@@ -129,13 +153,17 @@ Run the migrations and seeds with these commands:
You can download/update a specific GeoLite2 database, by running the following command:
- php bin/cli.php geoip:synchronize -d {DATABASE}
+```shell
+php bin/cli.php geoip:synchronize -d {DATABASE}
+```
Where _{DATABASE}_ takes one of the following values: `asn`, `city`, `country`.
You can download/update all GeoLite2 databases at once, by running the following command:
- php bin/cli.php geoip:synchronize
+```shell
+php bin/cli.php geoip:synchronize
+```
The output should be similar to the below, displaying per
row: `database identifier`: `previous build datetime` -> `current build datetime`.
@@ -148,7 +176,9 @@ row: `database identifier`: `previous build datetime` -> `current build datetime
Get help for this command by running:
- php bin/cli.php help geoip:synchronize
+```shell
+php bin/cli.php help geoip:synchronize
+```
**Tip**: If you setup the synchronizer command as a cronjob, you can add the `-q|--quiet` option, and it will output
data only if an error has occurred.
@@ -157,18 +187,24 @@ data only if an error has occurred.
To install dependencies into the `node_modules` directory run this command.
- npm install
+```shell
+npm install
+```
If `npm install` fails, this could be caused by user permissions of npm. Recommendation is to install npm
through `Node Version Manager`.
The watch command compiles the components then watches the files and recompiles when one of them changes.
- npm run watch
+```shell
+npm run watch
+```
After all updates are done, this command compiles the assets locally, minifies them and makes them ready for production.
- npm run prod
+```shell
+npm run prod
+```
## Authorization Guards
@@ -180,49 +216,53 @@ the platform by specifying the type of role the user has.
The `authorization.global.php` file provides multiple configurations specifying multiple roles as well as the types of
permissions to which these roles have access.
- 'roles' => [
- 'superuser' => [
- 'permissions' => [
- 'authenticated',
- 'edit',
- 'delete',
- //etc..
- ]
- ],
- 'admin' => [
- 'permissions' => [
- 'authenticated',
- //etc..
- ]
- ]
- ]
+```text
+ 'roles' => [
+ 'superuser' => [
+ 'permissions' => [
+ 'authenticated',
+ 'edit',
+ 'delete',
+ //etc..
+ ]
+ ],
+ 'admin' => [
+ 'permissions' => [
+ 'authenticated',
+ //etc..
+ ]
+ ]
+ ]
+```
The `authorization-guards.global.php` file provides configuration to restrict access to certain actions based on the
permissions defined in `authorization.global.php` so basically we have to add the permissions in the dot-rbac
configuration file first to specify the action restriction permissions.
- 'rules' => [
- [
- 'route' => 'account',
- 'actions' => [//list of actions to apply , or empty array for all actions
- 'unregister',
- 'avatar',
- 'details',
- 'changePassword'
- ],
- 'permissions' => ['authenticated']
- ],
- [
- 'route' => 'admin',
- 'actions' => [
- 'deleteAccount'
- ],
- 'permissions' => [
- 'delete'
- //list of roles to allow
- ]
- ]
+```text
+ 'rules' => [
+ [
+ 'route' => 'account',
+ 'actions' => [//list of actions to apply , or empty array for all actions
+ 'unregister',
+ 'avatar',
+ 'details',
+ 'changePassword'
+ ],
+ 'permissions' => ['authenticated']
+ ],
+ [
+ 'route' => 'admin',
+ 'actions' => [
+ 'deleteAccount'
+ ],
+ 'permissions' => [
+ 'delete'
+ //list of roles to allow
+ ]
]
+ ]
+```
## Testing (Running)
@@ -230,7 +270,9 @@ Note: **Do not enable dev mode in production**
- Run the following command in your project's directory to start PHPs built-in server:
- php -S 0.0.0.0:8080 -t public
+```shell
+php -S 0.0.0.0:8080 -t public
+```
> Running command `composer serve` will do the exact same, but the above is faster.
@@ -241,7 +283,9 @@ Note: **Do not enable dev mode in production**
**NOTE:**
If you are still getting exceptions or errors regarding some missing services, try running the following command
- php bin/clear-config-cache.php
+```shell
+php bin/clear-config-cache.php
+```
> If `config-cache.php` is present that config will be loaded regardless of the `ConfigAggregator::ENABLE_CACHE`
> in `config/autoload/mezzio.global.php`
@@ -260,10 +304,12 @@ If you ran the migrations you will have an admin user in the database with the f
- **Production only**: Make sure you modify the default admin credentials.
- **Development only**: `session.cookie_secure` does not work locally so make sure you modify your `local.php`, as per the following:
- return [
- 'session_config' => [
- 'cookie_secure' => false,
- ]
- ];
+```text
+ return [
+ 'session_config' => [
+ 'cookie_secure' => false,
+ ]
+ ];
+```
Do not change this in `local.php.dist` as well because this value should remain `true` on production.
diff --git a/composer.json b/composer.json
index e76af613..8c1740af 100644
--- a/composer.json
+++ b/composer.json
@@ -74,7 +74,8 @@
"Admin\\Page\\": "src/Page/src/",
"Admin\\Dashboard\\": "src/Dashboard/src/",
"Admin\\Setting\\": "src/Setting/src/",
- "Admin\\Fixtures\\": "data/doctrine/fixtures"
+ "Core\\App\\": "src/Core/src/App/src",
+ "Core\\Admin\\": "src/Core/src/Admin/src"
}
},
"autoload-dev": {
diff --git a/config/autoload/authentication.global.php b/config/autoload/authentication.global.php
index f8f71cf0..ddc16e29 100644
--- a/config/autoload/authentication.global.php
+++ b/config/autoload/authentication.global.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-use Admin\Admin\Entity\Admin;
+use Core\Admin\Entity\Admin;
return [
'doctrine' => [
diff --git a/config/autoload/doctrine.global.php b/config/autoload/doctrine.global.php
deleted file mode 100644
index 3b89f8bd..00000000
--- a/config/autoload/doctrine.global.php
+++ /dev/null
@@ -1,65 +0,0 @@
- [
- 'configuration' => [
- 'orm_default' => [
- 'entity_listener_resolver' => EntityListenerResolver::class,
- 'result_cache' => 'filesystem',
- 'metadata_cache' => 'filesystem',
- 'query_cache' => 'filesystem',
- 'hydration_cache' => 'array',
- 'typed_field_mapper' => null,
- 'second_level_cache' => [
- 'enabled' => true,
- 'default_lifetime' => 3600,
- 'default_lock_lifetime' => 60,
- 'file_lock_region_directory' => '',
- 'regions' => [],
- ],
- ],
- ],
- 'connection' => [
- 'orm_default' => [
- 'doctrine_mapping_types' => [
- UuidBinaryType::NAME => 'binary',
- UuidBinaryOrderedTimeType::NAME => 'binary',
- ],
- ],
- ],
- 'driver' => [
- // default metadata driver, aggregates all other drivers into a single one.
- // Override `orm_default` only if you know what you're doing
- 'orm_default' => [
- 'class' => MappingDriverChain::class,
- 'drivers' => [],
- ],
- ],
- 'types' => [
- UuidType::NAME => UuidType::class,
- UuidBinaryType::NAME => UuidBinaryType::class,
- UuidBinaryOrderedTimeType::NAME => UuidBinaryOrderedTimeType::class,
- ],
- 'cache' => [
- 'array' => [
- 'class' => ArrayAdapter::class,
- ],
- 'filesystem' => [
- 'class' => FilesystemAdapter::class,
- 'directory' => getcwd() . '/data/cache',
- 'namespace' => 'doctrine',
- ],
- ],
- 'fixtures' => getcwd() . '/data/doctrine/fixtures',
- ],
-];
diff --git a/config/cli-config.php b/config/cli-config.php
index 7385bed1..202c2fd9 100644
--- a/config/cli-config.php
+++ b/config/cli-config.php
@@ -3,14 +3,17 @@
declare(strict_types=1);
use Doctrine\Migrations\Configuration\EntityManager\ExistingEntityManager;
-use Doctrine\Migrations\Configuration\Migration\PhpFile;
+use Doctrine\Migrations\Configuration\Migration\ConfigurationArray;
use Doctrine\Migrations\DependencyFactory;
use Doctrine\ORM\EntityManager;
$container = require __DIR__ . '/container.php';
-$config = new PhpFile('config/migrations.php');
-
-$entityManager = $container->get(EntityManager::class);
-
-return DependencyFactory::fromEntityManager($config, new ExistingEntityManager($entityManager));
+return DependencyFactory::fromEntityManager(
+ new ConfigurationArray(
+ $container->get('config')['doctrine']['migrations']
+ ),
+ new ExistingEntityManager(
+ $container->get(EntityManager::class)
+ )
+);
diff --git a/config/config.php b/config/config.php
index f134cc64..f1f650f5 100644
--- a/config/config.php
+++ b/config/config.php
@@ -54,6 +54,8 @@
Admin\Page\ConfigProvider::class,
Admin\Dashboard\ConfigProvider::class,
+ Core\App\ConfigProvider::class,
+ Core\Admin\ConfigProvider::class,
// Load application config in a pre-defined order in such a way that local settings
// overwrite global settings. (Loaded as first to last):
// - `global.php`
diff --git a/phpcs.xml b/phpcs.xml
index a725e9d8..f2575524 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -14,7 +14,6 @@
bin
config
- data/doctrine/fixtures
public
src
test
@@ -23,5 +22,6 @@
+ src/Core/src/App/src/Migration/*
diff --git a/src/Admin/src/Adapter/AuthenticationAdapter.php b/src/Admin/src/Adapter/AuthenticationAdapter.php
index 10b252d8..80094214 100644
--- a/src/Admin/src/Adapter/AuthenticationAdapter.php
+++ b/src/Admin/src/Adapter/AuthenticationAdapter.php
@@ -4,9 +4,9 @@
namespace Admin\Admin\Adapter;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Entity\AdminRole;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Entity\AdminRole;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Exception\ORMException;
use Dot\DependencyInjection\Attribute\Inject;
diff --git a/src/Admin/src/ConfigProvider.php b/src/Admin/src/ConfigProvider.php
index 6caffe70..5d02b7af 100644
--- a/src/Admin/src/ConfigProvider.php
+++ b/src/Admin/src/ConfigProvider.php
@@ -5,13 +5,7 @@
namespace Admin\Admin;
use Admin\Admin\Adapter\AuthenticationAdapter;
-use Admin\Admin\DBAL\Types\AdminRoleEnumType;
-use Admin\Admin\DBAL\Types\AdminStatusEnumType;
-use Admin\Admin\DBAL\Types\SuccessFailureEnumType;
-use Admin\Admin\DBAL\Types\YesNoEnumType;
use Admin\Admin\Delegator\AdminRoleDelegator;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminInterface;
use Admin\Admin\Factory\AuthenticationServiceFactory;
use Admin\Admin\Form\AdminDeleteForm;
use Admin\Admin\Form\AdminForm;
@@ -31,15 +25,6 @@
use Admin\Admin\Handler\Admin\PostAdminCreateHandler;
use Admin\Admin\Handler\Admin\PostAdminDeleteHandler;
use Admin\Admin\Handler\Admin\PostAdminEditHandler;
-use Admin\Admin\Repository\AdminLoginRepository;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Repository\AdminRoleRepository;
-use Admin\Admin\Service\AdminRoleService;
-use Admin\Admin\Service\AdminRoleServiceInterface;
-use Admin\Admin\Service\AdminService;
-use Admin\Admin\Service\AdminServiceInterface;
-use Doctrine\ORM\Mapping\Driver\AttributeDriver;
-use Dot\DependencyInjection\Factory\AttributedRepositoryFactory;
use Dot\DependencyInjection\Factory\AttributedServiceFactory;
use Laminas\Authentication\AuthenticationService;
use Laminas\Form\ElementFactory;
@@ -53,7 +38,6 @@ public function __invoke(): array
'dependencies' => $this->getDependencies(),
'templates' => $this->getTemplates(),
'form' => $this->getForms(),
- 'doctrine' => $this->getDoctrineConfig(),
];
}
@@ -83,20 +67,10 @@ public function getDependencies(): array
GetAccountLoginFormHandler::class => AttributedServiceFactory::class,
PostAccountLoginHandler::class => AttributedServiceFactory::class,
GetAccountLogoutHandler::class => AttributedServiceFactory::class,
- AdminService::class => AttributedServiceFactory::class,
- AdminRoleService::class => AttributedServiceFactory::class,
- AdminRepository::class => AttributedRepositoryFactory::class,
- AdminRoleRepository::class => AttributedRepositoryFactory::class,
- AdminLoginRepository::class => AttributedRepositoryFactory::class,
AdminForm::class => ElementFactory::class,
AuthenticationService::class => AuthenticationServiceFactory::class,
AuthenticationAdapter::class => AttributedServiceFactory::class,
],
- 'aliases' => [
- AdminInterface::class => Admin::class,
- AdminServiceInterface::class => AdminService::class,
- AdminRoleServiceInterface::class => AdminRoleService::class,
- ],
];
}
@@ -124,28 +98,4 @@ public function getForms(): array
],
];
}
-
- public function getDoctrineConfig(): array
- {
- return [
- 'driver' => [
- 'orm_default' => [
- 'drivers' => [
- 'Admin\Admin\Entity' => 'AdminEntities',
- ],
- ],
- 'AdminEntities' => [
- 'class' => AttributeDriver::class,
- 'cache' => 'array',
- 'paths' => [__DIR__ . '/Entity'],
- ],
- ],
- 'types' => [
- AdminStatusEnumType::NAME => AdminStatusEnumType::class,
- SuccessFailureEnumType::NAME => SuccessFailureEnumType::class,
- YesNoEnumType::NAME => YesNoEnumType::class,
- AdminRoleEnumType::NAME => AdminRoleEnumType::class,
- ],
- ];
- }
}
diff --git a/src/Admin/src/Delegator/AdminRoleDelegator.php b/src/Admin/src/Delegator/AdminRoleDelegator.php
index 47e2da60..e8eb7ac7 100644
--- a/src/Admin/src/Delegator/AdminRoleDelegator.php
+++ b/src/Admin/src/Delegator/AdminRoleDelegator.php
@@ -4,9 +4,9 @@
namespace Admin\Admin\Delegator;
-use Admin\Admin\Entity\AdminRole;
use Admin\Admin\Form\AdminForm;
-use Admin\Admin\Service\AdminRoleServiceInterface;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Service\AdminRoleServiceInterface;
use Laminas\ServiceManager\Factory\DelegatorFactoryInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
diff --git a/src/Admin/src/Form/AdminForm.php b/src/Admin/src/Form/AdminForm.php
index dc2d1308..8f3f7e17 100644
--- a/src/Admin/src/Form/AdminForm.php
+++ b/src/Admin/src/Form/AdminForm.php
@@ -4,8 +4,8 @@
namespace Admin\Admin\Form;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\InputFilter\AdminInputFilter;
+use Core\Admin\Enum\AdminStatusEnum;
use Fig\Http\Message\RequestMethodInterface;
use Laminas\Form\Element\Csrf;
use Laminas\Form\Form;
diff --git a/src/Admin/src/FormData/AdminFormData.php b/src/Admin/src/FormData/AdminFormData.php
index 4975d63e..7faff6f5 100644
--- a/src/Admin/src/FormData/AdminFormData.php
+++ b/src/Admin/src/FormData/AdminFormData.php
@@ -4,8 +4,8 @@
namespace Admin\Admin\FormData;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminRole;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminRole;
use function array_map;
diff --git a/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php b/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php
index b306b559..114e9581 100644
--- a/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php
+++ b/src/Admin/src/Handler/Account/GetAccountEditFormHandler.php
@@ -6,7 +6,7 @@
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
-use Admin\Admin\Service\AdminServiceInterface;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\DependencyInjection\Attribute\Inject;
use Laminas\Authentication\AuthenticationServiceInterface;
use Laminas\Diactoros\Response\HtmlResponse;
diff --git a/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php b/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php
index 2172c76f..426a6f60 100644
--- a/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php
+++ b/src/Admin/src/Handler/Account/PostAccountChangePasswordHandler.php
@@ -4,13 +4,13 @@
namespace Admin\Admin\Handler\Account;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Common\ServerRequestAwareTrait;
+use Core\App\Exception\IdentityException;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/Handler/Account/PostAccountEditHandler.php b/src/Admin/src/Handler/Account/PostAccountEditHandler.php
index 1748c4f9..102f8cf5 100644
--- a/src/Admin/src/Handler/Account/PostAccountEditHandler.php
+++ b/src/Admin/src/Handler/Account/PostAccountEditHandler.php
@@ -6,10 +6,10 @@
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Common\ServerRequestAwareTrait;
+use Core\App\Exception\IdentityException;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/Handler/Account/PostAccountLoginHandler.php b/src/Admin/src/Handler/Account/PostAccountLoginHandler.php
index 684f3c6f..38883205 100644
--- a/src/Admin/src/Handler/Account/PostAccountLoginHandler.php
+++ b/src/Admin/src/Handler/Account/PostAccountLoginHandler.php
@@ -5,14 +5,14 @@
namespace Admin\Admin\Handler\Account;
use Admin\Admin\Adapter\AuthenticationAdapter;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\Admin\Enum\SuccessFailureEnum;
use Admin\Admin\Form\LoginForm;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
use Admin\App\Message;
use Admin\App\Plugin\FormsPlugin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Common\ServerRequestAwareTrait;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php b/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php
index 68d2b274..3a66e918 100644
--- a/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php
+++ b/src/Admin/src/Handler/Admin/GetAdminDeleteFormHandler.php
@@ -4,10 +4,10 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminDeleteForm;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Fig\Http\Message\StatusCodeInterface;
diff --git a/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php b/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php
index 8c9f0be1..e857b8d0 100644
--- a/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php
+++ b/src/Admin/src/Handler/Admin/GetAdminEditFormHandler.php
@@ -4,13 +4,13 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminRole;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\FormData\AdminFormData;
-use Admin\Admin\Service\AdminRoleServiceInterface;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Service\AdminRoleServiceInterface;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Fig\Http\Message\StatusCodeInterface;
diff --git a/src/Admin/src/Handler/Admin/GetAdminListHandler.php b/src/Admin/src/Handler/Admin/GetAdminListHandler.php
index e263101f..c4ff5727 100644
--- a/src/Admin/src/Handler/Admin/GetAdminListHandler.php
+++ b/src/Admin/src/Handler/Admin/GetAdminListHandler.php
@@ -4,12 +4,12 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\Form\AdminForm;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
use Admin\App\Pagination;
use Admin\Setting\Enum\SettingEnum;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Common\ServerRequestAwareTrait;
use Dot\DependencyInjection\Attribute\Inject;
use Laminas\Authentication\AuthenticationServiceInterface;
use Laminas\Diactoros\Response\HtmlResponse;
diff --git a/src/Admin/src/Handler/Admin/GetAdminLoginListHandler.php b/src/Admin/src/Handler/Admin/GetAdminLoginListHandler.php
index 0ce1086c..31ee1adc 100644
--- a/src/Admin/src/Handler/Admin/GetAdminLoginListHandler.php
+++ b/src/Admin/src/Handler/Admin/GetAdminLoginListHandler.php
@@ -4,11 +4,11 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
use Admin\App\Pagination;
use Admin\Setting\Enum\SettingEnum;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Common\ServerRequestAwareTrait;
use Dot\DependencyInjection\Attribute\Inject;
use Laminas\Authentication\AuthenticationServiceInterface;
use Laminas\Diactoros\Response\HtmlResponse;
diff --git a/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php b/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php
index 06e0f7ae..cbd2ea31 100644
--- a/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php
+++ b/src/Admin/src/Handler/Admin/PostAdminCreateHandler.php
@@ -5,9 +5,9 @@
namespace Admin\Admin\Handler\Admin;
use Admin\Admin\Form\AdminForm;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php b/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php
index 93cf5559..d8af1ec0 100644
--- a/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php
+++ b/src/Admin/src/Handler/Admin/PostAdminDeleteHandler.php
@@ -4,10 +4,10 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminDeleteForm;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/Handler/Admin/PostAdminEditHandler.php b/src/Admin/src/Handler/Admin/PostAdminEditHandler.php
index 1ee86880..038aa063 100644
--- a/src/Admin/src/Handler/Admin/PostAdminEditHandler.php
+++ b/src/Admin/src/Handler/Admin/PostAdminEditHandler.php
@@ -4,12 +4,12 @@
namespace Admin\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\InputFilter\EditAdminInputFilter;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\DependencyInjection\Attribute\Inject;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
diff --git a/src/Admin/src/InputFilter/AdminInputFilter.php b/src/Admin/src/InputFilter/AdminInputFilter.php
index 32a00433..0943ff5e 100644
--- a/src/Admin/src/InputFilter/AdminInputFilter.php
+++ b/src/Admin/src/InputFilter/AdminInputFilter.php
@@ -4,8 +4,8 @@
namespace Admin\Admin\InputFilter;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\App\InputFilter\Input\CsrfInput;
+use Core\Admin\Enum\AdminStatusEnum;
use Laminas\Filter\StringTrim;
use Laminas\InputFilter\Input;
use Laminas\InputFilter\InputFilter;
diff --git a/src/Admin/src/InputFilter/EditAdminInputFilter.php b/src/Admin/src/InputFilter/EditAdminInputFilter.php
index 6a9c9af4..6add1221 100644
--- a/src/Admin/src/InputFilter/EditAdminInputFilter.php
+++ b/src/Admin/src/InputFilter/EditAdminInputFilter.php
@@ -4,8 +4,8 @@
namespace Admin\Admin\InputFilter;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\App\InputFilter\Input\CsrfInput;
+use Core\Admin\Enum\AdminStatusEnum;
use Laminas\Filter\StringTrim;
use Laminas\InputFilter\Input;
use Laminas\InputFilter\InputFilter;
diff --git a/src/App/src/ConfigProvider.php b/src/App/src/ConfigProvider.php
index 8d480b5c..37889104 100644
--- a/src/App/src/ConfigProvider.php
+++ b/src/App/src/ConfigProvider.php
@@ -4,15 +4,12 @@
namespace Admin\App;
-use Admin\App\Factory\EntityListenerResolverFactory;
use Admin\App\Factory\FormsPluginFactory;
use Admin\App\Handler\GetIndexRedirectHandler;
use Admin\App\Plugin\FormsPlugin;
-use Admin\App\Resolver\EntityListenerResolver;
use Admin\App\Twig\Extension\RouteExtension;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface;
-use Doctrine\ORM\Mapping\Driver\AttributeDriver;
use Dot\Controller\Factory\PluginManagerFactory;
use Dot\Controller\Plugin\PluginManager;
use Dot\DependencyInjection\Factory\AttributedServiceFactory;
@@ -39,7 +36,6 @@ public function getDependencies(): array
],
'factories' => [
'doctrine.entity_manager.orm_default' => EntityManagerFactory::class,
- EntityListenerResolver::class => EntityListenerResolverFactory::class,
GetIndexRedirectHandler::class => AttributedServiceFactory::class,
PluginManager::class => PluginManagerFactory::class,
FormsPlugin::class => FormsPluginFactory::class,
@@ -52,24 +48,6 @@ public function getDependencies(): array
];
}
- public function getDoctrineConfig(): array
- {
- return [
- 'driver' => [
- 'orm_default' => [
- 'drivers' => [
- 'Admin\App\Entity' => 'AppEntities',
- ],
- ],
- 'AppEntities' => [
- 'class' => AttributeDriver::class,
- 'cache' => 'array',
- 'paths' => [__DIR__ . '/Entity'],
- ],
- ],
- ];
- }
-
public function getTemplates(): array
{
return [
diff --git a/src/Core/src/Admin/src/ConfigProvider.php b/src/Core/src/Admin/src/ConfigProvider.php
new file mode 100644
index 00000000..6bba14d2
--- /dev/null
+++ b/src/Core/src/Admin/src/ConfigProvider.php
@@ -0,0 +1,75 @@
+ $this->getDependencies(),
+ 'doctrine' => $this->getDoctrineConfig(),
+ ];
+ }
+
+ public function getDependencies(): array
+ {
+ return [
+ 'factories' => [
+ AdminService::class => AttributedServiceFactory::class,
+ AdminRoleService::class => AttributedServiceFactory::class,
+ AdminRepository::class => AttributedRepositoryFactory::class,
+ AdminRoleRepository::class => AttributedRepositoryFactory::class,
+ AdminLoginRepository::class => AttributedRepositoryFactory::class,
+ ],
+ 'aliases' => [
+ AdminInterface::class => Admin::class,
+ AdminServiceInterface::class => AdminService::class,
+ AdminRoleServiceInterface::class => AdminRoleService::class,
+ ],
+ ];
+ }
+
+ public function getDoctrineConfig(): array
+ {
+ return [
+ 'driver' => [
+ 'orm_default' => [
+ 'drivers' => [
+ 'Core\Admin\Entity' => 'AdminEntities',
+ ],
+ ],
+ 'AdminEntities' => [
+ 'class' => AttributeDriver::class,
+ 'cache' => 'array',
+ 'paths' => [__DIR__ . '/Entity'],
+ ],
+ ],
+ 'types' => [
+ AdminStatusEnumType::NAME => AdminStatusEnumType::class,
+ SuccessFailureEnumType::NAME => SuccessFailureEnumType::class,
+ YesNoEnumType::NAME => YesNoEnumType::class,
+ AdminRoleEnumType::NAME => AdminRoleEnumType::class,
+ ],
+ ];
+ }
+}
diff --git a/src/Admin/src/DBAL/Types/AdminRoleEnumType.php b/src/Core/src/Admin/src/DBAL/Types/AdminRoleEnumType.php
similarity index 72%
rename from src/Admin/src/DBAL/Types/AdminRoleEnumType.php
rename to src/Core/src/Admin/src/DBAL/Types/AdminRoleEnumType.php
index 79f9718d..3900773f 100644
--- a/src/Admin/src/DBAL/Types/AdminRoleEnumType.php
+++ b/src/Core/src/Admin/src/DBAL/Types/AdminRoleEnumType.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\DBAL\Types;
+namespace Core\Admin\DBAL\Types;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\App\DBAL\Types\AbstractEnumType;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\App\DBAL\Types\AbstractEnumType;
class AdminRoleEnumType extends AbstractEnumType
{
diff --git a/src/Admin/src/DBAL/Types/AdminStatusEnumType.php b/src/Core/src/Admin/src/DBAL/Types/AdminStatusEnumType.php
similarity index 73%
rename from src/Admin/src/DBAL/Types/AdminStatusEnumType.php
rename to src/Core/src/Admin/src/DBAL/Types/AdminStatusEnumType.php
index 67a48d3b..53dd5e82 100644
--- a/src/Admin/src/DBAL/Types/AdminStatusEnumType.php
+++ b/src/Core/src/Admin/src/DBAL/Types/AdminStatusEnumType.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\DBAL\Types;
+namespace Core\Admin\DBAL\Types;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\App\DBAL\Types\AbstractEnumType;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\App\DBAL\Types\AbstractEnumType;
class AdminStatusEnumType extends AbstractEnumType
{
diff --git a/src/Admin/src/DBAL/Types/SuccessFailureEnumType.php b/src/Core/src/Admin/src/DBAL/Types/SuccessFailureEnumType.php
similarity index 73%
rename from src/Admin/src/DBAL/Types/SuccessFailureEnumType.php
rename to src/Core/src/Admin/src/DBAL/Types/SuccessFailureEnumType.php
index e5a5aa07..d932cf5b 100644
--- a/src/Admin/src/DBAL/Types/SuccessFailureEnumType.php
+++ b/src/Core/src/Admin/src/DBAL/Types/SuccessFailureEnumType.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\DBAL\Types;
+namespace Core\Admin\DBAL\Types;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\App\DBAL\Types\AbstractEnumType;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\App\DBAL\Types\AbstractEnumType;
class SuccessFailureEnumType extends AbstractEnumType
{
diff --git a/src/Admin/src/DBAL/Types/YesNoEnumType.php b/src/Core/src/Admin/src/DBAL/Types/YesNoEnumType.php
similarity index 72%
rename from src/Admin/src/DBAL/Types/YesNoEnumType.php
rename to src/Core/src/Admin/src/DBAL/Types/YesNoEnumType.php
index 1ded4ef0..7ce00268 100644
--- a/src/Admin/src/DBAL/Types/YesNoEnumType.php
+++ b/src/Core/src/Admin/src/DBAL/Types/YesNoEnumType.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\DBAL\Types;
+namespace Core\Admin\DBAL\Types;
-use Admin\Admin\Enum\YesNoEnum;
-use Admin\App\DBAL\Types\AbstractEnumType;
+use Core\Admin\Enum\YesNoEnum;
+use Core\App\DBAL\Types\AbstractEnumType;
class YesNoEnumType extends AbstractEnumType
{
diff --git a/src/Admin/src/Entity/Admin.php b/src/Core/src/Admin/src/Entity/Admin.php
similarity index 95%
rename from src/Admin/src/Entity/Admin.php
rename to src/Core/src/Admin/src/Entity/Admin.php
index 415cfd3a..f5b3b79d 100644
--- a/src/Admin/src/Entity/Admin.php
+++ b/src/Core/src/Admin/src/Entity/Admin.php
@@ -2,13 +2,13 @@
declare(strict_types=1);
-namespace Admin\Admin\Entity;
+namespace Core\Admin\Entity;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\App\Entity\AbstractEntity;
-use Admin\App\Entity\TimestampsTrait;
use Admin\Setting\Entity\Setting;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Repository\AdminRepository;
+use Core\App\Entity\AbstractEntity;
+use Core\App\Entity\TimestampsTrait;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
diff --git a/src/Admin/src/Entity/AdminIdentity.php b/src/Core/src/Admin/src/Entity/AdminIdentity.php
similarity index 93%
rename from src/Admin/src/Entity/AdminIdentity.php
rename to src/Core/src/Admin/src/Entity/AdminIdentity.php
index 1b35e836..0ade33f6 100644
--- a/src/Admin/src/Entity/AdminIdentity.php
+++ b/src/Core/src/Admin/src/Entity/AdminIdentity.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace Admin\Admin\Entity;
+namespace Core\Admin\Entity;
-use Admin\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Enum\AdminStatusEnum;
use Mezzio\Authentication\UserInterface;
class AdminIdentity implements UserInterface
diff --git a/src/Admin/src/Entity/AdminInterface.php b/src/Core/src/Admin/src/Entity/AdminInterface.php
similarity index 92%
rename from src/Admin/src/Entity/AdminInterface.php
rename to src/Core/src/Admin/src/Entity/AdminInterface.php
index 7b7dc914..d9eb3209 100644
--- a/src/Admin/src/Entity/AdminInterface.php
+++ b/src/Core/src/Admin/src/Entity/AdminInterface.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace Admin\Admin\Entity;
+namespace Core\Admin\Entity;
-use Admin\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Enum\AdminStatusEnum;
use Doctrine\Common\Collections\ArrayCollection;
interface AdminInterface
diff --git a/src/Admin/src/Entity/AdminLogin.php b/src/Core/src/Admin/src/Entity/AdminLogin.php
similarity index 96%
rename from src/Admin/src/Entity/AdminLogin.php
rename to src/Core/src/Admin/src/Entity/AdminLogin.php
index 391f173f..ae20ebae 100644
--- a/src/Admin/src/Entity/AdminLogin.php
+++ b/src/Core/src/Admin/src/Entity/AdminLogin.php
@@ -2,13 +2,13 @@
declare(strict_types=1);
-namespace Admin\Admin\Entity;
+namespace Core\Admin\Entity;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\Admin\Enum\YesNoEnum;
-use Admin\Admin\Repository\AdminLoginRepository;
-use Admin\App\Entity\AbstractEntity;
-use Admin\App\Entity\TimestampsTrait;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Enum\YesNoEnum;
+use Core\Admin\Repository\AdminLoginRepository;
+use Core\App\Entity\AbstractEntity;
+use Core\App\Entity\TimestampsTrait;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: AdminLoginRepository::class)]
diff --git a/src/Admin/src/Entity/AdminRole.php b/src/Core/src/Admin/src/Entity/AdminRole.php
similarity index 84%
rename from src/Admin/src/Entity/AdminRole.php
rename to src/Core/src/Admin/src/Entity/AdminRole.php
index a0a9a2f3..6dfc9a07 100644
--- a/src/Admin/src/Entity/AdminRole.php
+++ b/src/Core/src/Admin/src/Entity/AdminRole.php
@@ -2,12 +2,12 @@
declare(strict_types=1);
-namespace Admin\Admin\Entity;
+namespace Core\Admin\Entity;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Repository\AdminRoleRepository;
-use Admin\App\Entity\AbstractEntity;
-use Admin\App\Entity\TimestampsTrait;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Repository\AdminRoleRepository;
+use Core\App\Entity\AbstractEntity;
+use Core\App\Entity\TimestampsTrait;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: AdminRoleRepository::class)]
diff --git a/src/Admin/src/Enum/AdminRoleEnum.php b/src/Core/src/Admin/src/Enum/AdminRoleEnum.php
similarity index 90%
rename from src/Admin/src/Enum/AdminRoleEnum.php
rename to src/Core/src/Admin/src/Enum/AdminRoleEnum.php
index cef802a8..fe828b96 100644
--- a/src/Admin/src/Enum/AdminRoleEnum.php
+++ b/src/Core/src/Admin/src/Enum/AdminRoleEnum.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Admin\Enum;
+namespace Core\Admin\Enum;
use function array_column;
diff --git a/src/Admin/src/Enum/AdminStatusEnum.php b/src/Core/src/Admin/src/Enum/AdminStatusEnum.php
similarity index 90%
rename from src/Admin/src/Enum/AdminStatusEnum.php
rename to src/Core/src/Admin/src/Enum/AdminStatusEnum.php
index 2f640b21..0c205664 100644
--- a/src/Admin/src/Enum/AdminStatusEnum.php
+++ b/src/Core/src/Admin/src/Enum/AdminStatusEnum.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Admin\Enum;
+namespace Core\Admin\Enum;
use function array_column;
diff --git a/src/Admin/src/Enum/SuccessFailureEnum.php b/src/Core/src/Admin/src/Enum/SuccessFailureEnum.php
similarity index 90%
rename from src/Admin/src/Enum/SuccessFailureEnum.php
rename to src/Core/src/Admin/src/Enum/SuccessFailureEnum.php
index 8c2c67cf..5ff3ddf8 100644
--- a/src/Admin/src/Enum/SuccessFailureEnum.php
+++ b/src/Core/src/Admin/src/Enum/SuccessFailureEnum.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Admin\Enum;
+namespace Core\Admin\Enum;
use function array_column;
diff --git a/src/Admin/src/Enum/YesNoEnum.php b/src/Core/src/Admin/src/Enum/YesNoEnum.php
similarity index 89%
rename from src/Admin/src/Enum/YesNoEnum.php
rename to src/Core/src/Admin/src/Enum/YesNoEnum.php
index 83eadf9d..cc479234 100644
--- a/src/Admin/src/Enum/YesNoEnum.php
+++ b/src/Core/src/Admin/src/Enum/YesNoEnum.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Admin\Enum;
+namespace Core\Admin\Enum;
use function array_column;
diff --git a/src/Admin/src/Repository/AdminLoginRepository.php b/src/Core/src/Admin/src/Repository/AdminLoginRepository.php
similarity index 82%
rename from src/Admin/src/Repository/AdminLoginRepository.php
rename to src/Core/src/Admin/src/Repository/AdminLoginRepository.php
index 992be73a..2b277bbf 100644
--- a/src/Admin/src/Repository/AdminLoginRepository.php
+++ b/src/Core/src/Admin/src/Repository/AdminLoginRepository.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\Repository;
+namespace Core\Admin\Repository;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\App\Repository\AbstractRepository;
+use Core\Admin\Entity\AdminLogin;
+use Core\App\Repository\AbstractRepository;
use Dot\DependencyInjection\Attribute\Entity;
use function array_column;
diff --git a/src/Admin/src/Repository/AdminRepository.php b/src/Core/src/Admin/src/Repository/AdminRepository.php
similarity index 96%
rename from src/Admin/src/Repository/AdminRepository.php
rename to src/Core/src/Admin/src/Repository/AdminRepository.php
index 5e43d79f..3afb0cca 100644
--- a/src/Admin/src/Repository/AdminRepository.php
+++ b/src/Core/src/Admin/src/Repository/AdminRepository.php
@@ -2,11 +2,11 @@
declare(strict_types=1);
-namespace Admin\Admin\Repository;
+namespace Core\Admin\Repository;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\App\Repository\AbstractRepository;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminLogin;
+use Core\App\Repository\AbstractRepository;
use Doctrine\ORM\NonUniqueResultException;
use Dot\DependencyInjection\Attribute\Entity;
use Throwable;
diff --git a/src/Admin/src/Repository/AdminRoleRepository.php b/src/Core/src/Admin/src/Repository/AdminRoleRepository.php
similarity index 89%
rename from src/Admin/src/Repository/AdminRoleRepository.php
rename to src/Core/src/Admin/src/Repository/AdminRoleRepository.php
index 62c380f1..a5750711 100644
--- a/src/Admin/src/Repository/AdminRoleRepository.php
+++ b/src/Core/src/Admin/src/Repository/AdminRoleRepository.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Admin\Repository;
+namespace Core\Admin\Repository;
-use Admin\Admin\Entity\AdminRole;
-use Admin\App\Repository\AbstractRepository;
+use Core\Admin\Entity\AdminRole;
+use Core\App\Repository\AbstractRepository;
use Doctrine\ORM\NonUniqueResultException;
use Dot\DependencyInjection\Attribute\Entity;
diff --git a/src/Admin/src/Service/AdminRoleService.php b/src/Core/src/Admin/src/Service/AdminRoleService.php
similarity index 84%
rename from src/Admin/src/Service/AdminRoleService.php
rename to src/Core/src/Admin/src/Service/AdminRoleService.php
index 735c4ebd..ce788b53 100644
--- a/src/Admin/src/Service/AdminRoleService.php
+++ b/src/Core/src/Admin/src/Service/AdminRoleService.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace Admin\Admin\Service;
+namespace Core\Admin\Service;
-use Admin\Admin\Repository\AdminRoleRepository;
+use Core\Admin\Repository\AdminRoleRepository;
use Dot\DependencyInjection\Attribute\Inject;
class AdminRoleService implements AdminRoleServiceInterface
diff --git a/src/Admin/src/Service/AdminRoleServiceInterface.php b/src/Core/src/Admin/src/Service/AdminRoleServiceInterface.php
similarity index 78%
rename from src/Admin/src/Service/AdminRoleServiceInterface.php
rename to src/Core/src/Admin/src/Service/AdminRoleServiceInterface.php
index 979876e0..d5403e1e 100644
--- a/src/Admin/src/Service/AdminRoleServiceInterface.php
+++ b/src/Core/src/Admin/src/Service/AdminRoleServiceInterface.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Admin\Service;
+namespace Core\Admin\Service;
interface AdminRoleServiceInterface
{
diff --git a/src/Admin/src/Service/AdminService.php b/src/Core/src/Admin/src/Service/AdminService.php
similarity index 94%
rename from src/Admin/src/Service/AdminService.php
rename to src/Core/src/Admin/src/Service/AdminService.php
index aea9d7cb..f4e3c64b 100644
--- a/src/Admin/src/Service/AdminService.php
+++ b/src/Core/src/Admin/src/Service/AdminService.php
@@ -2,19 +2,19 @@
declare(strict_types=1);
-namespace Admin\Admin\Service;
-
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\Admin\Enum\YesNoEnum;
-use Admin\Admin\Repository\AdminLoginRepository;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Repository\AdminRoleRepository;
-use Admin\App\Exception\IdentityException;
+namespace Core\Admin\Service;
+
use Admin\App\Service\IpService;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminLogin;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Enum\YesNoEnum;
+use Core\Admin\Repository\AdminLoginRepository;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Repository\AdminRoleRepository;
+use Core\App\Exception\IdentityException;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\NonUniqueResultException;
use Dot\DependencyInjection\Attribute\Inject;
diff --git a/src/Admin/src/Service/AdminServiceInterface.php b/src/Core/src/Admin/src/Service/AdminServiceInterface.php
similarity index 87%
rename from src/Admin/src/Service/AdminServiceInterface.php
rename to src/Core/src/Admin/src/Service/AdminServiceInterface.php
index cbba96fd..387fe6ad 100644
--- a/src/Admin/src/Service/AdminServiceInterface.php
+++ b/src/Core/src/Admin/src/Service/AdminServiceInterface.php
@@ -2,12 +2,12 @@
declare(strict_types=1);
-namespace Admin\Admin\Service;
+namespace Core\Admin\Service;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\Admin\Repository\AdminRepository;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminLogin;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Repository\AdminRepository;
use Doctrine\ORM\Exception\ORMException;
use Doctrine\ORM\NonUniqueResultException;
diff --git a/src/App/src/Common/ServerRequestAwareInterface.php b/src/Core/src/App/src/Common/ServerRequestAwareInterface.php
similarity index 98%
rename from src/App/src/Common/ServerRequestAwareInterface.php
rename to src/Core/src/App/src/Common/ServerRequestAwareInterface.php
index 0bff31e0..e79ef72a 100644
--- a/src/App/src/Common/ServerRequestAwareInterface.php
+++ b/src/Core/src/App/src/Common/ServerRequestAwareInterface.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Common;
+namespace Core\App\Common;
use Psr\Http\Message\ServerRequestInterface;
diff --git a/src/App/src/Common/ServerRequestAwareTrait.php b/src/Core/src/App/src/Common/ServerRequestAwareTrait.php
similarity index 99%
rename from src/App/src/Common/ServerRequestAwareTrait.php
rename to src/Core/src/App/src/Common/ServerRequestAwareTrait.php
index d3b85712..01fc1c75 100644
--- a/src/App/src/Common/ServerRequestAwareTrait.php
+++ b/src/Core/src/App/src/Common/ServerRequestAwareTrait.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Common;
+namespace Core\App\Common;
use Exception;
use Fig\Http\Message\RequestMethodInterface;
diff --git a/src/Core/src/App/src/ConfigProvider.php b/src/Core/src/App/src/ConfigProvider.php
new file mode 100644
index 00000000..fa345c36
--- /dev/null
+++ b/src/Core/src/App/src/ConfigProvider.php
@@ -0,0 +1,105 @@
+ $this->getDependencies(),
+ 'doctrine' => $this->getDoctrineConfig(),
+ ];
+ }
+
+ public function getDependencies(): array
+ {
+ return [
+ 'factories' => [
+ EntityListenerResolver::class => EntityListenerResolverFactory::class,
+ ],
+ ];
+ }
+
+ private function getDoctrineConfig(): array
+ {
+ return [
+ 'cache' => [
+ 'array' => [
+ 'class' => ArrayAdapter::class,
+ ],
+ 'filesystem' => [
+ 'class' => FilesystemAdapter::class,
+ 'directory' => getcwd() . '/data/cache',
+ 'namespace' => 'doctrine',
+ ],
+ ],
+ 'configuration' => [
+ 'orm_default' => [
+ 'entity_listener_resolver' => EntityListenerResolver::class,
+ 'result_cache' => 'filesystem',
+ 'metadata_cache' => 'filesystem',
+ 'query_cache' => 'filesystem',
+ 'hydration_cache' => 'array',
+ 'typed_field_mapper' => null,
+ 'second_level_cache' => [
+ 'enabled' => true,
+ 'default_lifetime' => 3600,
+ 'default_lock_lifetime' => 60,
+ 'file_lock_region_directory' => '',
+ 'regions' => [],
+ ],
+ ],
+ ],
+ 'connection' => [
+ 'orm_default' => [
+ 'doctrine_mapping_types' => [
+ UuidBinaryType::NAME => 'binary',
+ UuidBinaryOrderedTimeType::NAME => 'binary',
+ ],
+ ],
+ ],
+ 'driver' => [
+ // default metadata driver, aggregates all other drivers into a single one.
+ // Override `orm_default` only if you know what you're doing
+ 'orm_default' => [
+ 'class' => MappingDriverChain::class,
+ 'drivers' => [],
+ ],
+ ],
+ 'fixtures' => getcwd() . '/src/Core/src/App/src/Fixture',
+ 'migrations' => [
+ 'table_storage' => [
+ 'table_name' => 'doctrine_migration_versions',
+ 'version_column_name' => 'version',
+ 'version_column_length' => 191,
+ 'executed_at_column_name' => 'executed_at',
+ 'execution_time_column_name' => 'execution_time',
+ ],
+ 'migrations_paths' => [
+ 'Core\App\Migration' => 'src/Core/src/App/src/Migration',
+ ],
+ 'all_or_nothing' => true,
+ 'check_database_platform' => true,
+ ],
+ 'types' => [
+ UuidType::NAME => UuidType::class,
+ UuidBinaryType::NAME => UuidBinaryType::class,
+ UuidBinaryOrderedTimeType::NAME => UuidBinaryOrderedTimeType::class,
+ ],
+ ];
+ }
+}
diff --git a/src/App/src/DBAL/Types/AbstractEnumType.php b/src/Core/src/App/src/DBAL/Types/AbstractEnumType.php
similarity index 86%
rename from src/App/src/DBAL/Types/AbstractEnumType.php
rename to src/Core/src/App/src/DBAL/Types/AbstractEnumType.php
index 84ae92dd..efa9cc23 100644
--- a/src/App/src/DBAL/Types/AbstractEnumType.php
+++ b/src/Core/src/App/src/DBAL/Types/AbstractEnumType.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\DBAL\Types;
+namespace Core\App\DBAL\Types;
use BackedEnum;
use Doctrine\DBAL\Platforms\AbstractPlatform;
@@ -28,20 +28,12 @@ public function getSQLDeclaration(array $column, AbstractPlatform $platform): st
public function convertToPHPValue(mixed $value, AbstractPlatform $platform): mixed
{
- if (! $value instanceof BackedEnum) {
- return $value;
- }
-
- return $value->value;
+ return $this->getValue($value);
}
public function convertToDatabaseValue(mixed $value, AbstractPlatform $platform): mixed
{
- if (! $value instanceof BackedEnum) {
- return $value;
- }
-
- return $value->value;
+ return $this->getValue($value);
}
/**
@@ -53,4 +45,13 @@ private function getEnumValues(): array
{
return $this->getEnumClass()::cases();
}
+
+ private function getValue(mixed $value): mixed
+ {
+ if (! $value instanceof BackedEnum) {
+ return $value;
+ }
+
+ return $value->value;
+ }
}
diff --git a/src/App/src/Entity/AbstractEntity.php b/src/Core/src/App/src/Entity/AbstractEntity.php
similarity index 94%
rename from src/App/src/Entity/AbstractEntity.php
rename to src/Core/src/App/src/Entity/AbstractEntity.php
index 379b033c..b1b60f77 100644
--- a/src/App/src/Entity/AbstractEntity.php
+++ b/src/Core/src/App/src/Entity/AbstractEntity.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Entity;
+namespace Core\App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Ramsey\Uuid\Uuid;
diff --git a/src/App/src/Resolver/EntityListenerResolver.php b/src/Core/src/App/src/Entity/EntityListenerResolver.php
similarity index 83%
rename from src/App/src/Resolver/EntityListenerResolver.php
rename to src/Core/src/App/src/Entity/EntityListenerResolver.php
index 305ecfc4..b5edb6c2 100644
--- a/src/App/src/Resolver/EntityListenerResolver.php
+++ b/src/Core/src/App/src/Entity/EntityListenerResolver.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Resolver;
+namespace Core\App\Entity;
use Doctrine\ORM\Mapping\DefaultEntityListenerResolver;
use Psr\Container\ContainerExceptionInterface;
@@ -17,11 +17,10 @@ public function __construct(
}
/**
- * @param string $className
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
- public function resolve($className): object
+ public function resolve(string $className): object
{
return $this->container->get($className);
}
diff --git a/src/App/src/Entity/TimestampsTrait.php b/src/Core/src/App/src/Entity/TimestampsTrait.php
similarity index 97%
rename from src/App/src/Entity/TimestampsTrait.php
rename to src/Core/src/App/src/Entity/TimestampsTrait.php
index 0571ed67..29a86e53 100644
--- a/src/App/src/Entity/TimestampsTrait.php
+++ b/src/Core/src/App/src/Entity/TimestampsTrait.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Entity;
+namespace Core\App\Entity;
use DateTimeImmutable;
use Doctrine\ORM\Mapping as ORM;
diff --git a/src/App/src/Exception/IdentityException.php b/src/Core/src/App/src/Exception/IdentityException.php
similarity index 93%
rename from src/App/src/Exception/IdentityException.php
rename to src/Core/src/App/src/Exception/IdentityException.php
index 862cd625..58638853 100644
--- a/src/App/src/Exception/IdentityException.php
+++ b/src/Core/src/App/src/Exception/IdentityException.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Exception;
+namespace Core\App\Exception;
use Admin\App\Message;
use Fig\Http\Message\StatusCodeInterface;
diff --git a/src/App/src/Exception/ORMException.php b/src/Core/src/App/src/Exception/ORMException.php
similarity index 81%
rename from src/App/src/Exception/ORMException.php
rename to src/Core/src/App/src/Exception/ORMException.php
index 87800081..a5f87e0d 100644
--- a/src/App/src/Exception/ORMException.php
+++ b/src/Core/src/App/src/Exception/ORMException.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Exception;
+namespace Core\App\Exception;
use Exception;
diff --git a/src/App/src/Factory/EntityListenerResolverFactory.php b/src/Core/src/App/src/Factory/EntityListenerResolverFactory.php
similarity index 77%
rename from src/App/src/Factory/EntityListenerResolverFactory.php
rename to src/Core/src/App/src/Factory/EntityListenerResolverFactory.php
index edcc8d6e..8e9e336b 100644
--- a/src/App/src/Factory/EntityListenerResolverFactory.php
+++ b/src/Core/src/App/src/Factory/EntityListenerResolverFactory.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace Admin\App\Factory;
+namespace Core\App\Factory;
-use Admin\App\Resolver\EntityListenerResolver;
+use Core\App\Entity\EntityListenerResolver;
use Psr\Container\ContainerInterface;
class EntityListenerResolverFactory
diff --git a/data/doctrine/fixtures/AdminLoader.php b/src/Core/src/App/src/Fixture/AdminLoader.php
similarity index 88%
rename from data/doctrine/fixtures/AdminLoader.php
rename to src/Core/src/App/src/Fixture/AdminLoader.php
index e930470e..1f783b61 100644
--- a/data/doctrine/fixtures/AdminLoader.php
+++ b/src/Core/src/App/src/Fixture/AdminLoader.php
@@ -2,11 +2,11 @@
declare(strict_types=1);
-namespace Admin\Fixtures;
+namespace Core\App\Fixture;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Persistence\ObjectManager;
diff --git a/data/doctrine/fixtures/AdminRoleLoader.php b/src/Core/src/App/src/Fixture/AdminRoleLoader.php
similarity index 83%
rename from data/doctrine/fixtures/AdminRoleLoader.php
rename to src/Core/src/App/src/Fixture/AdminRoleLoader.php
index d34dfdde..6c25083e 100644
--- a/data/doctrine/fixtures/AdminRoleLoader.php
+++ b/src/Core/src/App/src/Fixture/AdminRoleLoader.php
@@ -2,10 +2,10 @@
declare(strict_types=1);
-namespace Admin\Fixtures;
+namespace Core\App\Fixture;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Persistence\ObjectManager;
diff --git a/data/doctrine/migrations/Version20250310084727.php b/src/Core/src/App/src/Migration/Version20250310084727.php
similarity index 99%
rename from data/doctrine/migrations/Version20250310084727.php
rename to src/Core/src/App/src/Migration/Version20250310084727.php
index 3daad313..fdc01d0b 100644
--- a/data/doctrine/migrations/Version20250310084727.php
+++ b/src/Core/src/App/src/Migration/Version20250310084727.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\Migrations;
+namespace Core\App\Migration;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
diff --git a/src/App/src/Repository/AbstractRepository.php b/src/Core/src/App/src/Repository/AbstractRepository.php
similarity index 91%
rename from src/App/src/Repository/AbstractRepository.php
rename to src/Core/src/App/src/Repository/AbstractRepository.php
index 26fa9040..b36a7180 100644
--- a/src/App/src/Repository/AbstractRepository.php
+++ b/src/Core/src/App/src/Repository/AbstractRepository.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Admin\App\Repository;
+namespace Core\App\Repository;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
diff --git a/src/Setting/src/DBAL/Types/SettingEnumType.php b/src/Setting/src/DBAL/Types/SettingEnumType.php
index 225242db..d50933dd 100644
--- a/src/Setting/src/DBAL/Types/SettingEnumType.php
+++ b/src/Setting/src/DBAL/Types/SettingEnumType.php
@@ -4,8 +4,8 @@
namespace Admin\Setting\DBAL\Types;
-use Admin\App\DBAL\Types\AbstractEnumType;
use Admin\Setting\Enum\SettingEnum;
+use Core\App\DBAL\Types\AbstractEnumType;
class SettingEnumType extends AbstractEnumType
{
diff --git a/src/Setting/src/Entity/Setting.php b/src/Setting/src/Entity/Setting.php
index 96ca8333..e5538b84 100644
--- a/src/Setting/src/Entity/Setting.php
+++ b/src/Setting/src/Entity/Setting.php
@@ -4,11 +4,11 @@
namespace Admin\Setting\Entity;
-use Admin\Admin\Entity\Admin;
-use Admin\App\Entity\AbstractEntity;
-use Admin\App\Entity\TimestampsTrait;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\Repository\SettingRepository;
+use Core\Admin\Entity\Admin;
+use Core\App\Entity\AbstractEntity;
+use Core\App\Entity\TimestampsTrait;
use Doctrine\ORM\Mapping as ORM;
use function array_unique;
diff --git a/src/Setting/src/Handler/GetSettingViewHandler.php b/src/Setting/src/Handler/GetSettingViewHandler.php
index ca9a85d1..fd2d279f 100644
--- a/src/Setting/src/Handler/GetSettingViewHandler.php
+++ b/src/Setting/src/Handler/GetSettingViewHandler.php
@@ -4,13 +4,13 @@
namespace Admin\Setting\Handler;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Service\AdminService;
use Admin\App\Message;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\InputFilter\SettingInputFilter;
use Admin\Setting\Service\SettingService;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Service\AdminService;
use Dot\DependencyInjection\Attribute\Inject;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
diff --git a/src/Setting/src/Handler/PostSettingStoreHandler.php b/src/Setting/src/Handler/PostSettingStoreHandler.php
index fb16691a..747c2f20 100644
--- a/src/Setting/src/Handler/PostSettingStoreHandler.php
+++ b/src/Setting/src/Handler/PostSettingStoreHandler.php
@@ -4,14 +4,14 @@
namespace Admin\Setting\Handler;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Service\AdminService;
use Admin\App\Message;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\InputFilter\Input\SettingValueInput;
use Admin\Setting\InputFilter\SettingInputFilter;
use Admin\Setting\Service\SettingService;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Service\AdminService;
use Dot\DependencyInjection\Attribute\Inject;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
diff --git a/src/Setting/src/Repository/SettingRepository.php b/src/Setting/src/Repository/SettingRepository.php
index 6a3c2ec5..dbc4f072 100644
--- a/src/Setting/src/Repository/SettingRepository.php
+++ b/src/Setting/src/Repository/SettingRepository.php
@@ -4,8 +4,8 @@
namespace Admin\Setting\Repository;
-use Admin\App\Repository\AbstractRepository;
use Admin\Setting\Entity\Setting;
+use Core\App\Repository\AbstractRepository;
use Dot\DependencyInjection\Attribute\Entity;
#[Entity(Setting::class)]
diff --git a/src/Setting/src/Service/SettingService.php b/src/Setting/src/Service/SettingService.php
index c44e324f..54b0ecc7 100644
--- a/src/Setting/src/Service/SettingService.php
+++ b/src/Setting/src/Service/SettingService.php
@@ -4,10 +4,10 @@
namespace Admin\Setting\Service;
-use Admin\Admin\Entity\Admin;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\Repository\SettingRepository;
+use Core\Admin\Entity\Admin;
use Dot\DependencyInjection\Attribute\Inject;
class SettingService
diff --git a/test/Unit/Admin/Adapter/AuthenticationAdapterTest.php b/test/Unit/Admin/Adapter/AuthenticationAdapterTest.php
index b686fab5..44c195b5 100644
--- a/test/Unit/Admin/Adapter/AuthenticationAdapterTest.php
+++ b/test/Unit/Admin/Adapter/AuthenticationAdapterTest.php
@@ -5,10 +5,10 @@
namespace AdminTest\Unit\Admin\Adapter;
use Admin\Admin\Adapter\AuthenticationAdapter;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\Admin\Repository\AdminRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Repository\AdminRepository;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Exception\ORMException;
use PHPUnit\Framework\MockObject\Exception as MockObjectException;
diff --git a/test/Unit/Admin/ConfigProviderTest.php b/test/Unit/Admin/ConfigProviderTest.php
index a5612c61..8fda56fd 100644
--- a/test/Unit/Admin/ConfigProviderTest.php
+++ b/test/Unit/Admin/ConfigProviderTest.php
@@ -7,12 +7,9 @@
use Admin\Admin\Adapter\AuthenticationAdapter;
use Admin\Admin\ConfigProvider;
use Admin\Admin\Delegator\AdminRoleDelegator;
-use Admin\Admin\Entity\AdminInterface;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\Form\ChangePasswordForm;
use Admin\Admin\Form\LoginForm;
-use Admin\Admin\Service\AdminService;
-use Admin\Admin\Service\AdminServiceInterface;
use AdminTest\Unit\UnitTest;
use Laminas\Authentication\AuthenticationService;
@@ -45,19 +42,11 @@ public function testConfigHasDotForm(): void
public function testDependenciesHasFactories(): void
{
$this->assertArrayHasKey('factories', $this->config['dependencies']);
- $this->assertArrayHasKey(AdminService::class, $this->config['dependencies']['factories']);
$this->assertArrayHasKey(AdminForm::class, $this->config['dependencies']['factories']);
$this->assertArrayHasKey(AuthenticationService::class, $this->config['dependencies']['factories']);
$this->assertArrayHasKey(AuthenticationAdapter::class, $this->config['dependencies']['factories']);
}
- public function testDependenciesHasAliases(): void
- {
- $this->assertArrayHasKey('aliases', $this->config['dependencies']);
- $this->assertArrayHasKey(AdminInterface::class, $this->config['dependencies']['aliases']);
- $this->assertArrayHasKey(AdminServiceInterface::class, $this->config['dependencies']['aliases']);
- }
-
public function testDependenciesHasDelegators(): void
{
$this->assertArrayHasKey('delegators', $this->config['dependencies']);
@@ -86,28 +75,4 @@ public function testGetForms(): void
$this->assertArrayHasKey('aliases', $this->config['form']['form_manager']);
$this->assertArrayHasKey('delegators', $this->config['form']['form_manager']);
}
-
- public function testGetDoctrineConfig(): void
- {
- $this->assertArrayHasKey('driver', $this->config['doctrine']);
- $this->assertIsArray($this->config['doctrine']['driver']);
- $this->assertArrayHasKey('orm_default', $this->config['doctrine']['driver']);
- $this->assertIsArray($this->config['doctrine']['driver']['orm_default']);
- $this->assertArrayHasKey('drivers', $this->config['doctrine']['driver']['orm_default']);
- $this->assertArrayHasKey(
- 'Admin\Admin\Entity',
- $this->config['doctrine']['driver']['orm_default']['drivers']
- );
- $this->assertArrayHasKey('AdminEntities', $this->config['doctrine']['driver']);
- $this->assertIsArray($this->config['doctrine']['driver']['AdminEntities']);
- $this->assertArrayHasKey('class', $this->config['doctrine']['driver']['AdminEntities']);
- $this->assertIsString($this->config['doctrine']['driver']['AdminEntities']['class']);
- $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['class']);
- $this->assertArrayHasKey('cache', $this->config['doctrine']['driver']['AdminEntities']);
- $this->assertIsString($this->config['doctrine']['driver']['AdminEntities']['cache']);
- $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['cache']);
- $this->assertArrayHasKey('paths', $this->config['doctrine']['driver']['AdminEntities']);
- $this->assertIsArray($this->config['doctrine']['driver']['AdminEntities']['paths']);
- $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['paths']);
- }
}
diff --git a/test/Unit/Admin/Delegator/AdminRoleDelegatorTest.php b/test/Unit/Admin/Delegator/AdminRoleDelegatorTest.php
index 7f263b9f..04e274e0 100644
--- a/test/Unit/Admin/Delegator/AdminRoleDelegatorTest.php
+++ b/test/Unit/Admin/Delegator/AdminRoleDelegatorTest.php
@@ -6,8 +6,8 @@
use Admin\Admin\Delegator\AdminRoleDelegator;
use Admin\Admin\Form\AdminForm;
-use Admin\Admin\Service\AdminRoleServiceInterface;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Service\AdminRoleServiceInterface;
use PHPUnit\Framework\MockObject\Exception;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
diff --git a/test/Unit/Admin/Entity/AdminIdentityTest.php b/test/Unit/Admin/Entity/AdminIdentityTest.php
index b9d6579a..cc9f17eb 100644
--- a/test/Unit/Admin/Entity/AdminIdentityTest.php
+++ b/test/Unit/Admin/Entity/AdminIdentityTest.php
@@ -4,11 +4,11 @@
namespace AdminTest\Unit\Admin\Entity;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Enum\AdminStatusEnum;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Enum\AdminStatusEnum;
class AdminIdentityTest extends UnitTest
{
diff --git a/test/Unit/Admin/Entity/AdminInterfaceTest.php b/test/Unit/Admin/Entity/AdminInterfaceTest.php
index e1d21714..026130c2 100644
--- a/test/Unit/Admin/Entity/AdminInterfaceTest.php
+++ b/test/Unit/Admin/Entity/AdminInterfaceTest.php
@@ -4,10 +4,10 @@
namespace AdminTest\Unit\Admin\Entity;
-use Admin\Admin\Entity\AdminInterface;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminStatusEnum;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminInterface;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminStatusEnum;
use Doctrine\Common\Collections\ArrayCollection;
class AdminInterfaceTest extends UnitTest
diff --git a/test/Unit/Admin/Entity/AdminLoginTest.php b/test/Unit/Admin/Entity/AdminLoginTest.php
index 29297c0f..7547e0a3 100644
--- a/test/Unit/Admin/Entity/AdminLoginTest.php
+++ b/test/Unit/Admin/Entity/AdminLoginTest.php
@@ -4,11 +4,11 @@
namespace AdminTest\Unit\Admin\Entity;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\Admin\Enum\SuccessFailureEnum;
-use Admin\Admin\Enum\YesNoEnum;
-use Admin\Admin\Repository\AdminLoginRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminLogin;
+use Core\Admin\Enum\SuccessFailureEnum;
+use Core\Admin\Enum\YesNoEnum;
+use Core\Admin\Repository\AdminLoginRepository;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Table;
use Ramsey\Uuid\UuidInterface;
diff --git a/test/Unit/Admin/Entity/AdminRoleTest.php b/test/Unit/Admin/Entity/AdminRoleTest.php
index 81f034cf..a7d9b295 100644
--- a/test/Unit/Admin/Entity/AdminRoleTest.php
+++ b/test/Unit/Admin/Entity/AdminRoleTest.php
@@ -4,10 +4,10 @@
namespace AdminTest\Unit\Admin\Entity;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Repository\AdminRoleRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Repository\AdminRoleRepository;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Table;
use Ramsey\Uuid\UuidInterface;
diff --git a/test/Unit/Admin/Entity/AdminTest.php b/test/Unit/Admin/Entity/AdminTest.php
index cccb77f4..d710b7ca 100644
--- a/test/Unit/Admin/Entity/AdminTest.php
+++ b/test/Unit/Admin/Entity/AdminTest.php
@@ -4,12 +4,12 @@
namespace AdminTest\Unit\Admin\Entity;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Enum\AdminStatusEnum;
-use Admin\Admin\Repository\AdminRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Repository\AdminRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Table;
diff --git a/test/Unit/Admin/FormData/AdminFormDataTest.php b/test/Unit/Admin/FormData/AdminFormDataTest.php
index d8533d60..6984420c 100644
--- a/test/Unit/Admin/FormData/AdminFormDataTest.php
+++ b/test/Unit/Admin/FormData/AdminFormDataTest.php
@@ -4,12 +4,12 @@
namespace AdminTest\Unit\Admin\FormData;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\FormData\AdminFormData;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Enum\AdminStatusEnum;
use function array_map;
diff --git a/test/Unit/Admin/Handler/Account/GetAccountEditFormHandlerTest.php b/test/Unit/Admin/Handler/Account/GetAccountEditFormHandlerTest.php
index 679d25ac..53bc97e2 100644
--- a/test/Unit/Admin/Handler/Account/GetAccountEditFormHandlerTest.php
+++ b/test/Unit/Admin/Handler/Account/GetAccountEditFormHandlerTest.php
@@ -4,14 +4,14 @@
namespace AdminTest\Unit\Admin\Handler\Account;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
use Admin\Admin\Handler\Account\GetAccountEditFormHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
use Mezzio\Router\RouterInterface;
diff --git a/test/Unit/Admin/Handler/Account/PostAccountChangePasswordHandlerTest.php b/test/Unit/Admin/Handler/Account/PostAccountChangePasswordHandlerTest.php
index 3959ad89..1072a1c7 100644
--- a/test/Unit/Admin/Handler/Account/PostAccountChangePasswordHandlerTest.php
+++ b/test/Unit/Admin/Handler/Account/PostAccountChangePasswordHandlerTest.php
@@ -4,16 +4,16 @@
namespace AdminTest\Unit\Admin\Handler\Account;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
use Admin\Admin\Handler\Account\PostAccountChangePasswordHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Exception;
diff --git a/test/Unit/Admin/Handler/Account/PostAccountEditHandlerTest.php b/test/Unit/Admin/Handler/Account/PostAccountEditHandlerTest.php
index 5f6e1596..01dd0a58 100644
--- a/test/Unit/Admin/Handler/Account/PostAccountEditHandlerTest.php
+++ b/test/Unit/Admin/Handler/Account/PostAccountEditHandlerTest.php
@@ -4,16 +4,16 @@
namespace AdminTest\Unit\Admin\Handler\Account;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Form\AccountForm;
use Admin\Admin\Form\ChangePasswordForm;
use Admin\Admin\Handler\Account\PostAccountEditHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Exception;
diff --git a/test/Unit/Admin/Handler/Account/PostAccountLoginHandlerTest.php b/test/Unit/Admin/Handler/Account/PostAccountLoginHandlerTest.php
index 1ca47e4a..cd765b72 100644
--- a/test/Unit/Admin/Handler/Account/PostAccountLoginHandlerTest.php
+++ b/test/Unit/Admin/Handler/Account/PostAccountLoginHandlerTest.php
@@ -5,14 +5,14 @@
namespace AdminTest\Unit\Admin\Handler\Account;
use Admin\Admin\Adapter\AuthenticationAdapter;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\Form\LoginForm;
use Admin\Admin\Handler\Account\PostAccountLoginHandler;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
use Admin\App\Plugin\FormsPlugin;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Exception;
diff --git a/test/Unit/Admin/Handler/Admin/GetAdminDeleteFormHandlerTest.php b/test/Unit/Admin/Handler/Admin/GetAdminDeleteFormHandlerTest.php
index 7bf8a962..ce0657c9 100644
--- a/test/Unit/Admin/Handler/Admin/GetAdminDeleteFormHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/GetAdminDeleteFormHandlerTest.php
@@ -4,13 +4,13 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminDeleteForm;
use Admin\Admin\Handler\Admin\GetAdminDeleteFormHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\FlashMessenger\FlashMessengerInterface;
use Fig\Http\Message\StatusCodeInterface;
use Mezzio\Router\RouterInterface;
diff --git a/test/Unit/Admin/Handler/Admin/GetAdminEditFormHandlerTest.php b/test/Unit/Admin/Handler/Admin/GetAdminEditFormHandlerTest.php
index 2f618442..2ae3f958 100644
--- a/test/Unit/Admin/Handler/Admin/GetAdminEditFormHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/GetAdminEditFormHandlerTest.php
@@ -4,15 +4,15 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\Handler\Admin\GetAdminEditFormHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminRoleServiceInterface;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Enum\AdminStatusEnum;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminRoleServiceInterface;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\FlashMessenger\FlashMessengerInterface;
use Fig\Http\Message\StatusCodeInterface;
use Mezzio\Router\RouterInterface;
diff --git a/test/Unit/Admin/Handler/Admin/GetAdminListHandlerTest.php b/test/Unit/Admin/Handler/Admin/GetAdminListHandlerTest.php
index 6ea6eacf..193117e0 100644
--- a/test/Unit/Admin/Handler/Admin/GetAdminListHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/GetAdminListHandlerTest.php
@@ -4,13 +4,13 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\Handler\Admin\GetAdminListHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
use Mezzio\Router\RouterInterface;
diff --git a/test/Unit/Admin/Handler/Admin/GetAdminLoginListHandlerTest.php b/test/Unit/Admin/Handler/Admin/GetAdminLoginListHandlerTest.php
index a65abee0..b57a0005 100644
--- a/test/Unit/Admin/Handler/Admin/GetAdminLoginListHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/GetAdminLoginListHandlerTest.php
@@ -4,12 +4,12 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
use Admin\Admin\Handler\Admin\GetAdminLoginListHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
use Mezzio\Template\TemplateRendererInterface;
diff --git a/test/Unit/Admin/Handler/Admin/PostAdminCreateHandlerTest.php b/test/Unit/Admin/Handler/Admin/PostAdminCreateHandlerTest.php
index 958931cf..76570365 100644
--- a/test/Unit/Admin/Handler/Admin/PostAdminCreateHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/PostAdminCreateHandlerTest.php
@@ -6,10 +6,10 @@
use Admin\Admin\Form\AdminForm;
use Admin\Admin\Handler\Admin\PostAdminCreateHandler;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Exception;
diff --git a/test/Unit/Admin/Handler/Admin/PostAdminDeleteHandlerTest.php b/test/Unit/Admin/Handler/Admin/PostAdminDeleteHandlerTest.php
index f8086ee8..1f993fc5 100644
--- a/test/Unit/Admin/Handler/Admin/PostAdminDeleteHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/PostAdminDeleteHandlerTest.php
@@ -4,13 +4,13 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminDeleteForm;
use Admin\Admin\Handler\Admin\PostAdminDeleteHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Fig\Http\Message\StatusCodeInterface;
diff --git a/test/Unit/Admin/Handler/Admin/PostAdminEditHandlerTest.php b/test/Unit/Admin/Handler/Admin/PostAdminEditHandlerTest.php
index 063b76b3..3e1d2b42 100644
--- a/test/Unit/Admin/Handler/Admin/PostAdminEditHandlerTest.php
+++ b/test/Unit/Admin/Handler/Admin/PostAdminEditHandlerTest.php
@@ -4,14 +4,14 @@
namespace AdminTest\Unit\Admin\Handler\Admin;
-use Admin\Admin\Entity\Admin;
use Admin\Admin\Form\AdminForm;
use Admin\Admin\Handler\Admin\PostAdminEditHandler;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminServiceInterface;
-use Admin\App\Exception\IdentityException;
use Admin\App\Message;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminServiceInterface;
+use Core\App\Exception\IdentityException;
use Dot\FlashMessenger\FlashMessengerInterface;
use Dot\Log\Logger;
use Exception;
diff --git a/test/Unit/Admin/InputFilter/AdminInputFilterTest.php b/test/Unit/Admin/InputFilter/AdminInputFilterTest.php
index 9fe015c6..45bb2a9c 100644
--- a/test/Unit/Admin/InputFilter/AdminInputFilterTest.php
+++ b/test/Unit/Admin/InputFilter/AdminInputFilterTest.php
@@ -4,10 +4,10 @@
namespace AdminTest\Unit\Admin\InputFilter;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\InputFilter\AdminInputFilter;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Enum\AdminStatusEnum;
use Laminas\Session\Container;
use Laminas\Session\Validator\Csrf;
diff --git a/test/Unit/Admin/InputFilter/EditAdminInputFilterTest.php b/test/Unit/Admin/InputFilter/EditAdminInputFilterTest.php
index a81f58b4..a19ab8e5 100644
--- a/test/Unit/Admin/InputFilter/EditAdminInputFilterTest.php
+++ b/test/Unit/Admin/InputFilter/EditAdminInputFilterTest.php
@@ -4,10 +4,10 @@
namespace AdminTest\Unit\Admin\InputFilter;
-use Admin\Admin\Enum\AdminRoleEnum;
-use Admin\Admin\Enum\AdminStatusEnum;
use Admin\Admin\InputFilter\EditAdminInputFilter;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Enum\AdminRoleEnum;
+use Core\Admin\Enum\AdminStatusEnum;
use Laminas\Session\Container;
use Laminas\Session\Validator\Csrf;
diff --git a/test/Unit/Admin/Repository/AdminLoginRepositoryTest.php b/test/Unit/Admin/Repository/AdminLoginRepositoryTest.php
index 486a3a04..bb8dc624 100644
--- a/test/Unit/Admin/Repository/AdminLoginRepositoryTest.php
+++ b/test/Unit/Admin/Repository/AdminLoginRepositoryTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\Admin\Repository;
-use Admin\Admin\Entity\AdminLogin;
-use Admin\Admin\Repository\AdminLoginRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminLogin;
+use Core\Admin\Repository\AdminLoginRepository;
use Doctrine\ORM\EntityManager;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
diff --git a/test/Unit/Admin/Repository/AdminRepositoryTest.php b/test/Unit/Admin/Repository/AdminRepositoryTest.php
index 444d812a..8b4cf5be 100644
--- a/test/Unit/Admin/Repository/AdminRepositoryTest.php
+++ b/test/Unit/Admin/Repository/AdminRepositoryTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\Admin\Repository;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Repository\AdminRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Repository\AdminRepository;
use Doctrine\ORM\EntityManager;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
diff --git a/test/Unit/Admin/Repository/AdminRoleRepositoryTest.php b/test/Unit/Admin/Repository/AdminRoleRepositoryTest.php
index 70cb6ff5..45ade363 100644
--- a/test/Unit/Admin/Repository/AdminRoleRepositoryTest.php
+++ b/test/Unit/Admin/Repository/AdminRoleRepositoryTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\Admin\Repository;
-use Admin\Admin\Entity\AdminRole;
-use Admin\Admin\Repository\AdminRoleRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\AdminRole;
+use Core\Admin\Repository\AdminRoleRepository;
use Doctrine\ORM\EntityManager;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
diff --git a/test/Unit/Admin/Service/AdminServiceTest.php b/test/Unit/Admin/Service/AdminServiceTest.php
index d6fe1658..348ee5ca 100644
--- a/test/Unit/Admin/Service/AdminServiceTest.php
+++ b/test/Unit/Admin/Service/AdminServiceTest.php
@@ -4,12 +4,12 @@
namespace AdminTest\Unit\Admin\Service;
-use Admin\Admin\Repository\AdminLoginRepository;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Repository\AdminRoleRepository;
-use Admin\Admin\Service\AdminService;
-use Admin\Admin\Service\AdminServiceInterface;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Repository\AdminLoginRepository;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Repository\AdminRoleRepository;
+use Core\Admin\Service\AdminService;
+use Core\Admin\Service\AdminServiceInterface;
use Doctrine\ORM\Exception\NotSupported;
use Dot\GeoIP\Service\LocationServiceInterface;
use PHPUnit\Framework\MockObject\Exception;
diff --git a/test/Unit/App/Common/ServerRequestAwareTest.php b/test/Unit/App/Common/ServerRequestAwareTest.php
index f9cb953d..d953fe69 100644
--- a/test/Unit/App/Common/ServerRequestAwareTest.php
+++ b/test/Unit/App/Common/ServerRequestAwareTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\App\Common;
-use Admin\App\Common\ServerRequestAwareInterface;
-use Admin\App\Common\ServerRequestAwareTrait;
use AdminTest\Unit\UnitTest;
+use Core\App\Common\ServerRequestAwareInterface;
+use Core\App\Common\ServerRequestAwareTrait;
use Fig\Http\Message\RequestMethodInterface;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Diactoros\Response\EmptyResponse;
diff --git a/test/Unit/App/ConfigProviderTest.php b/test/Unit/App/ConfigProviderTest.php
index 2ee13f81..37772739 100644
--- a/test/Unit/App/ConfigProviderTest.php
+++ b/test/Unit/App/ConfigProviderTest.php
@@ -6,7 +6,6 @@
use Admin\App\ConfigProvider;
use Admin\App\Plugin\FormsPlugin;
-use Admin\App\Resolver\EntityListenerResolver;
use Admin\App\RoutesDelegator as AppDelegator;
use AdminTest\Unit\UnitTest;
use Doctrine\ORM\EntityManager;
@@ -51,7 +50,6 @@ public function testDependenciesHasFactories(): void
{
$this->assertArrayHasKey('factories', $this->config['dependencies']);
$this->assertIsArray($this->config['dependencies']['factories']);
- $this->assertArrayHasKey(EntityListenerResolver::class, $this->config['dependencies']['factories']);
$this->assertArrayHasKey(PluginManager::class, $this->config['dependencies']['factories']);
$this->assertArrayHasKey(FormsPlugin::class, $this->config['dependencies']['factories']);
}
diff --git a/test/Unit/App/Entity/AbstractEntityTest.php b/test/Unit/App/Entity/AbstractEntityTest.php
index 26f53e25..beb234f7 100644
--- a/test/Unit/App/Entity/AbstractEntityTest.php
+++ b/test/Unit/App/Entity/AbstractEntityTest.php
@@ -4,8 +4,8 @@
namespace AdminTest\Unit\App\Entity;
-use Admin\App\Entity\AbstractEntity;
use AdminTest\Unit\UnitTest;
+use Core\App\Entity\AbstractEntity;
use Ramsey\Uuid\UuidInterface;
class AbstractEntityTest extends UnitTest
diff --git a/test/Unit/App/Factory/EntityListenerResolverFactoryTest.php b/test/Unit/App/Factory/EntityListenerResolverFactoryTest.php
index 4ae226d2..347e2570 100644
--- a/test/Unit/App/Factory/EntityListenerResolverFactoryTest.php
+++ b/test/Unit/App/Factory/EntityListenerResolverFactoryTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\App\Factory;
-use Admin\App\Factory\EntityListenerResolverFactory;
-use Admin\App\Resolver\EntityListenerResolver;
use AdminTest\Unit\UnitTest;
+use Core\App\Entity\EntityListenerResolver;
+use Core\App\Factory\EntityListenerResolverFactory;
use PHPUnit\Framework\MockObject\Exception;
use Psr\Container\ContainerInterface;
diff --git a/test/Unit/App/Repository/AbstractRepositoryTest.php b/test/Unit/App/Repository/AbstractRepositoryTest.php
index b617ae10..c907e3c4 100644
--- a/test/Unit/App/Repository/AbstractRepositoryTest.php
+++ b/test/Unit/App/Repository/AbstractRepositoryTest.php
@@ -4,9 +4,9 @@
namespace AdminTest\Unit\App\Repository;
-use Admin\Admin\Entity\Admin;
-use Admin\App\Repository\AbstractRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\App\Repository\AbstractRepository;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
use Psr\Container\ContainerExceptionInterface;
diff --git a/test/Unit/App/Resolver/EntityListenerResolverTest.php b/test/Unit/App/Resolver/EntityListenerResolverTest.php
index bbf85152..5a205854 100644
--- a/test/Unit/App/Resolver/EntityListenerResolverTest.php
+++ b/test/Unit/App/Resolver/EntityListenerResolverTest.php
@@ -4,8 +4,8 @@
namespace AdminTest\Unit\App\Resolver;
-use Admin\App\Resolver\EntityListenerResolver;
use AdminTest\Unit\UnitTest;
+use Core\App\Entity\EntityListenerResolver;
use PHPUnit\Framework\MockObject\Exception;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
diff --git a/test/Unit/Core/Admin/ConfigProviderTest.php b/test/Unit/Core/Admin/ConfigProviderTest.php
new file mode 100644
index 00000000..9e7ab30a
--- /dev/null
+++ b/test/Unit/Core/Admin/ConfigProviderTest.php
@@ -0,0 +1,65 @@
+config = (new ConfigProvider())();
+ }
+
+ public function testConfigHasDependencies(): void
+ {
+ $this->assertArrayHasKey('dependencies', $this->config);
+ }
+
+ public function testDependenciesHasFactories(): void
+ {
+ $this->assertArrayHasKey('factories', $this->config['dependencies']);
+ $this->assertArrayHasKey(AdminService::class, $this->config['dependencies']['factories']);
+ }
+
+ public function testDependenciesHasAliases(): void
+ {
+ $this->assertArrayHasKey('aliases', $this->config['dependencies']);
+ $this->assertArrayHasKey(AdminInterface::class, $this->config['dependencies']['aliases']);
+ $this->assertArrayHasKey(AdminServiceInterface::class, $this->config['dependencies']['aliases']);
+ }
+
+ public function testGetDoctrineConfig(): void
+ {
+ $this->assertArrayHasKey('driver', $this->config['doctrine']);
+ $this->assertIsArray($this->config['doctrine']['driver']);
+ $this->assertArrayHasKey('orm_default', $this->config['doctrine']['driver']);
+ $this->assertIsArray($this->config['doctrine']['driver']['orm_default']);
+ $this->assertArrayHasKey('drivers', $this->config['doctrine']['driver']['orm_default']);
+ $this->assertArrayHasKey(
+ 'Core\Admin\Entity',
+ $this->config['doctrine']['driver']['orm_default']['drivers']
+ );
+ $this->assertArrayHasKey('AdminEntities', $this->config['doctrine']['driver']);
+ $this->assertIsArray($this->config['doctrine']['driver']['AdminEntities']);
+ $this->assertArrayHasKey('class', $this->config['doctrine']['driver']['AdminEntities']);
+ $this->assertIsString($this->config['doctrine']['driver']['AdminEntities']['class']);
+ $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['class']);
+ $this->assertArrayHasKey('cache', $this->config['doctrine']['driver']['AdminEntities']);
+ $this->assertIsString($this->config['doctrine']['driver']['AdminEntities']['cache']);
+ $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['cache']);
+ $this->assertArrayHasKey('paths', $this->config['doctrine']['driver']['AdminEntities']);
+ $this->assertIsArray($this->config['doctrine']['driver']['AdminEntities']['paths']);
+ $this->assertNotEmpty($this->config['doctrine']['driver']['AdminEntities']['paths']);
+ }
+}
diff --git a/test/Unit/Core/App/ConfigProviderTest.php b/test/Unit/Core/App/ConfigProviderTest.php
new file mode 100644
index 00000000..ecce1937
--- /dev/null
+++ b/test/Unit/Core/App/ConfigProviderTest.php
@@ -0,0 +1,33 @@
+config = (new ConfigProvider())();
+ }
+
+ public function testConfigHasDependencies(): void
+ {
+ $this->assertArrayHasKey('dependencies', $this->config);
+ }
+
+ public function testDependenciesHasFactories(): void
+ {
+ $this->assertArrayHasKey('factories', $this->config['dependencies']);
+ $this->assertIsArray($this->config['dependencies']['factories']);
+ $this->assertArrayHasKey(EntityListenerResolver::class, $this->config['dependencies']['factories']);
+ }
+}
diff --git a/test/Unit/Setting/Entity/SettingEntityTest.php b/test/Unit/Setting/Entity/SettingEntityTest.php
index 652be798..3050862b 100644
--- a/test/Unit/Setting/Entity/SettingEntityTest.php
+++ b/test/Unit/Setting/Entity/SettingEntityTest.php
@@ -4,11 +4,11 @@
namespace AdminTest\Unit\Setting\Entity;
-use Admin\Admin\Entity\Admin;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\Repository\SettingRepository;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Table;
use PHPUnit\Framework\MockObject\Exception;
diff --git a/test/Unit/Setting/Handler/GetSettingHandlerTest.php b/test/Unit/Setting/Handler/GetSettingHandlerTest.php
index 80c008aa..c1bfd4c9 100644
--- a/test/Unit/Setting/Handler/GetSettingHandlerTest.php
+++ b/test/Unit/Setting/Handler/GetSettingHandlerTest.php
@@ -4,16 +4,16 @@
namespace AdminTest\Unit\Setting\Handler;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminService;
use Admin\App\Message;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\Handler\GetSettingViewHandler;
use Admin\Setting\Service\SettingService;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminService;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
use PHPUnit\Framework\MockObject\Exception;
diff --git a/test/Unit/Setting/Handler/StoreSettingHandlerTest.php b/test/Unit/Setting/Handler/StoreSettingHandlerTest.php
index 32e77f60..d9895d19 100644
--- a/test/Unit/Setting/Handler/StoreSettingHandlerTest.php
+++ b/test/Unit/Setting/Handler/StoreSettingHandlerTest.php
@@ -4,16 +4,16 @@
namespace AdminTest\Unit\Setting\Handler;
-use Admin\Admin\Entity\Admin;
-use Admin\Admin\Entity\AdminIdentity;
-use Admin\Admin\Repository\AdminRepository;
-use Admin\Admin\Service\AdminService;
use Admin\App\Message;
use Admin\Setting\Entity\Setting;
use Admin\Setting\Enum\SettingEnum;
use Admin\Setting\Handler\PostSettingStoreHandler;
use Admin\Setting\Service\SettingService;
use AdminTest\Unit\UnitTest;
+use Core\Admin\Entity\Admin;
+use Core\Admin\Entity\AdminIdentity;
+use Core\Admin\Repository\AdminRepository;
+use Core\Admin\Service\AdminService;
use Fig\Http\Message\StatusCodeInterface;
use Laminas\Authentication\AuthenticationServiceInterface;
use PHPUnit\Framework\MockObject\Exception;