migrations/Version20230705102937.php line 1

Open in your IDE?
  1. <?php
  2. /**
  3.  * @noinspection PhpUnused
  4.  * @noinspection PhpInternalEntityUsedInspection
  5.  */
  6. declare(strict_types=1);
  7. namespace DoctrineMigrations;
  8. use App\Helper\Api\Constants\Roles\AccidentManagement;
  9. use App\Helper\Api\Constants\Roles\Cmr;
  10. use App\Helper\Api\Constants\Roles\CoreModule;
  11. use App\Helper\Api\Constants\Roles\JobLab;
  12. use App\Helper\Api\Constants\Roles\MedicalSurveillance;
  13. use App\Helper\Api\Constants\Roles\OperationalIntegrationManagement;
  14. use App\Helper\Api\Constants\Roles\SkillScreening;
  15. use App\Helper\Api\Constants\Roles\SocialCounseling;
  16. use App\Helper\Api\Constants\Roles\WorkplaceConfigurator;
  17. use App\Validator\Constraints\Api\CoreModule\Module\AbstractModuleIdCompound;
  18. use Doctrine\DBAL\Schema\Schema;
  19. use Doctrine\Migrations\AbstractMigration;
  20. /**
  21.  * Auto-generated Migration: Please modify to your needs!
  22.  *
  23.  * @package API
  24.  * @internal
  25.  */
  26. final class Version20230705102937 extends AbstractMigration
  27. {
  28.     /**
  29.      * Local admin role name.
  30.      *
  31.      * Prevent SonarQube issue php:S1192 String literals should not be duplicated.
  32.      *
  33.      * @var string
  34.      */
  35.     public const LOCAL_ADMIN 'Local admin';
  36.     public function down(Schema $schema): void
  37.     {
  38.         // this down() migration is auto-generated, please modify it to your needs
  39.     }
  40.     public function getDescription(): string
  41.     {
  42.         return
  43.             "- Seeding of role table.";
  44.     }
  45.     /**
  46.      * @param Schema $schema
  47.      * @return void
  48.      *
  49.      */
  50.     public function up(Schema $schema): void
  51.     {
  52.         // this up() migration is auto-generated, please modify it to your needs
  53.         $roles = [
  54.             AbstractModuleIdCompound::CORE_MODULE_MODULE_ID => [
  55.                 CoreModule::ROLE_CORE_MODULE_EMPLOYEE_MANAGER => 'Employee manager',
  56.                 CoreModule::ROLE_CORE_MODULE_HEALTH_INSURANCE_PROVIDER_MANAGER => 'Health insurance provider manager',
  57.                 CoreModule::ROLE_CORE_MODULE_ORG_UNIT_MANAGER => 'Organizational unit manager',
  58.                 CoreModule::ROLE_CORE_MODULE_ROLE_MANAGER => 'Role manager',
  59.                 CoreModule::ROLE_CORE_MODULE_SETTINGS_MANAGER => 'Settings manager',
  60.                 CoreModule::ROLE_CORE_MODULE_USER_MANAGER => 'User manager'
  61.             ],
  62.             AbstractModuleIdCompound::ACCIDENT_MANAGEMENT_MODULE_ID => [
  63.                 AccidentManagement::ROLE_ACCIDENT_MANAGEMENT_DATA_MANAGER => 'Accident ' self::LOCAL_ADMIN,
  64.                 AccidentManagement::ROLE_ACCIDENT_MANAGEMENT_EMPLOYEE_REPRESENTATIVE => 'Work council',
  65.                 AccidentManagement::ROLE_ACCIDENT_MANAGEMENT_HEALTH_AND_SAFETY_OFFICER => 'Authorized person',
  66.                 AccidentManagement::ROLE_ACCIDENT_MANAGEMENT_SETTINGS_MANAGER => 'Accident management settings manager',
  67.                 AccidentManagement::ROLE_ACCIDENT_MANAGEMENT_USER => 'Accident management user'
  68.             ],
  69.             AbstractModuleIdCompound::OPERATIONAL_INTEGRATION_MANAGEMENT_MODULE_ID => [
  70.                 OperationalIntegrationManagement::ROLE_OPERATIONAL_INTEGRATION_MANAGEMENT_DATA_MANAGER =>
  71.                     'OIM ' self::LOCAL_ADMIN,
  72.                 OperationalIntegrationManagement::ROLE_OPERATIONAL_INTEGRATION_MANAGEMENT_MANAGER =>
  73.                     'Operational integration management manager',
  74.                 OperationalIntegrationManagement::ROLE_OPERATIONAL_INTEGRATION_MANAGEMENT_SETTINGS_MANAGER =>
  75.                     'Operational integration management settings manager'
  76.             ],
  77.             AbstractModuleIdCompound::WORKPLACE_CONFIGURATOR_MODULE_ID => [
  78.                 WorkplaceConfigurator::ROLE_WORKPLACE_CONFIGURATOR_MANAGER => 'Workplace configurator manager',
  79.                 WorkplaceConfigurator::ROLE_WORKPLACE_CONFIGURATOR_SCREENING_MANAGER => 'Workplace screening manager',
  80.                 WorkplaceConfigurator::ROLE_WORKPLACE_CONFIGURATOR_DATA_MANAGER => 'Workplace ' self::LOCAL_ADMIN
  81.             ],
  82.             AbstractModuleIdCompound::SKILL_SCREENING_MODULE_ID => [
  83.                 SkillScreening::ROLE_SKILL_SCREENING_MANAGER => 'Skill screening manager',
  84.                 SkillScreening::ROLE_SKILL_SCREENING_DATA_MANAGER => 'Skill screening ' self::LOCAL_ADMIN
  85.             ],
  86.             AbstractModuleIdCompound::JOB_LAB_MODULE_ID => [
  87.                 JobLab::ROLE_JOB_LAB_DATA_MANAGER => 'Job lab ' self::LOCAL_ADMIN,
  88.                 JobLab::ROLE_JOB_LAB_MANAGER => 'Job integration manager',
  89.                 JobLab::ROLE_JOB_LAB_SETTINGS_MANAGER => 'Job integration settings manager'
  90.             ],
  91.             AbstractModuleIdCompound::SOCIAL_COUNSELING_MODULE_ID => [
  92.                 SocialCounseling::ROLE_SOCIAL_COUNSELING_SETTINGS_MANAGER => 'SOB settings manager',
  93.                 SocialCounseling::ROLE_SOCIAL_COUNSELING_MANAGER => 'SOB manager',
  94.                 SocialCounseling::ROLE_SOCIAL_COUNSELING_DATA_MANAGER => 'SOB ' self::LOCAL_ADMIN,
  95.                 SocialCounseling::ROLE_SOCIAL_COUNSELING_REGISTRAR => 'SOB registrar',
  96.             ],
  97.             AbstractModuleIdCompound::MEDICAL_SURVEILLANCE_ID => [
  98.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_SETTINGS_MANAGER => 'Medical surveillance settings manager',
  99.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_MANAGER => 'Medical surveillance manager',
  100.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_DATA_MANAGER => 'Medical surveillance ' self::LOCAL_ADMIN,
  101.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_MEDICAL_MANAGER => 'Medical surveillance medical manager',
  102.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_SAFETY_MANAGER => 'Medical surveillance safety manager',
  103.                 MedicalSurveillance::ROLE_MEDICAL_SURVEILLANCE_SAFETY_OFFICER => 'Medical surveillance safety officer',
  104.             ],
  105.             AbstractModuleIdCompound::CMR_MODULE_ID => [
  106.                 Cmr::ROLE_CMR_DATA_MANAGER => 'Cmr ' self::LOCAL_ADMIN,
  107.                 Cmr::ROLE_CMR_MANAGER => 'Cmr manager',
  108.                 Cmr::ROLE_CMR_SETTINGS_MANAGER => 'Cmr settings manager'
  109.             ],
  110.         ];
  111.         foreach ($roles as $moduleId => $roleDataSets) {
  112.             foreach ($roleDataSets as $id => $name) {
  113.                 $this->addSql(
  114.                     '
  115.                     INSERT INTO role
  116.                         (id, name, module_id)
  117.                     VALUES
  118.                         (:id, :name, :moduleId)
  119.                     ;
  120.                 ',
  121.                     [
  122.                         'id' => $id,
  123.                         'name' => $name,
  124.                         'moduleId' => $moduleId
  125.                     ]
  126.                 );
  127.             }
  128.         }
  129.     }
  130. }