migrations/Version20240302173349.php line 1

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace DoctrineMigrations;
  3. use Doctrine\DBAL\Schema\Schema;
  4. use Doctrine\Migrations\AbstractMigration;
  5. final class Version20240302173349 extends AbstractMigration
  6. {
  7.     public function getDescription(): string
  8.     {
  9.         return 'Refactors SMS Intent configurations';
  10.     }
  11.     public function up(Schema $schema): void
  12.     {
  13.         $this->addSql('ALTER TABLE processor_credentials DROP sms_response_messages');
  14.         $this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D8514A7680');
  15.         $this->addSql('ALTER TABLE sms_intents CHANGE confirmation_key confirmation_key VARCHAR(16) DEFAULT NULL');
  16.         $this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON DELETE SET NULL');
  17.         $this->addSql('DROP INDEX IDX_811A48D8704B0348 ON sms_intents');
  18.         $this->addSql('ALTER TABLE sms_intents CHANGE confirmation_key sms_confirmation_key VARCHAR(8) DEFAULT NULL');
  19.         $this->addSql('CREATE INDEX IDX_811A48D8924917 ON sms_intents (sms_confirmation_key)');
  20.         $this->addSql('ALTER TABLE sms_intents ADD sms_init_key VARCHAR(8) DEFAULT NULL');
  21.         // Pricing
  22.         $this->addSql('ALTER TABLE sms_intents ADD sms_price NUMERIC(8, 3) NOT NULL DEFAULT 0');
  23.         $this->addSql(
  24.             <<<SQL
  25.                 UPDATE sms_intents
  26.                 SET sms_price = sms_price_in_cents / 100
  27.             SQL
  28.         );
  29.         $this->addSql('ALTER TABLE sms_intents DROP sms_price_in_cents');
  30.         // Galati
  31.         $this->addSql(
  32.             <<<SQL
  33.                 UPDATE
  34.                     processor_credentials
  35.                 SET
  36.                     sms_config = '{"generalResponseMessages":{"new_sms_intent":"Doresti rezervare pentru %registrationPlate% - %reservationType%. Confirma trimitind %confirmationKey%, cost %smsPrice% %smsCurrency% (TVA inclus). Mai simplu cu https://AmParcat.ro","out_of_service":"Momentan sistemul nu accepta plati prin SMS in afara programului de lucru. Nu ati fost taxat! https://AmParcat.ro","service_not_active":"Momentan sistemul nu accepta plati prin SMS. Incercati mai tarziu sau utilizati aplicatia pentru mobil https://AmParcat.ro","intent_already_confirmed":"Aceasta rezervare a fost deja confirmata. Nu ati fost taxat! Pentru un proces mai usor utilizati aplicatia pentru mobil https://AmParcat.ro","invalid_format_specified":"Codul introdus este incorect! Verificati mesajul precedent si retrimiteti codul pentru confirmarea rezervarii. Nu ati fost taxat! https://AmParcat.ro","invalid_confirmation_code":"Codul introdus este incorect! Verificati mesajul precedent si retrimiteti codul pentru confirmarea rezervarii. Nu ati fost taxat! https://AmParcat.ro","invalid_parameters_specified":"Ati gresit formatul mesajului! Verificati materialele de informare si retransmiteti mesajul corectat! Nu ati fost taxat! https://AmParcat.ro","intent_confirmed_successfully":"Multumim, rezervarea ta pentru %registrationPlate% - %reservationType%, incepand cu %reservationStartHour%, a fost confirmata! Cost %smsPrice%%smsCurrency% (TVA inclus). Mai simplu cu https://AmParcat.ro"},"services":{"1":{"schedule":{"Friday":{"to":20,"from":8},"Monday":{"to":20,"from":8},"Sunday":{"to":20,"from":8},"Tuesday":{"to":20,"from":8},"Saturday":{"to":20,"from":8},"Thursday":{"to":20,"from":8},"Wednesday":{"to":20,"from":8}},"periodUom":60,"productPrice":0.714,"productNumber":"881273-232745-519903","productKeyword":null,"productTypeMessage":"1 ora"},"1ZI":{"schedule":{"Friday":{"to":20,"from":8},"Monday":{"to":20,"from":8},"Sunday":{"to":20,"from":8},"Tuesday":{"to":20,"from":8},"Saturday":{"to":20,"from":8},"Thursday":{"to":20,"from":8},"Wednesday":{"to":20,"from":8}},"periodUom":1440,"productPrice":3.927,"productNumber":"593918-639935-417925","productKeyword":"GLB","productTypeMessage":"1 zi"}}}',
  37.                     sms_regexp_pattern = 'L14oPzxjaXR5SWQ+Z2wpKFxzKyk/KD88cGFya2luZ0xvdEFyZWE+XGR7MCwxfSkoPzxzZXJ2aWNlS2V5d29yZD4xWj9JPykoPzxwYXJraW5nTG90SWQ+WzAtOV17MCwxfSkoXHMrKT8oPzxyZWdpc3RyYXRpb25QbGF0ZT5bYS16MC05XXszLDE2fSkkL21p'
  38.                 WHERE
  39.                     id = 'd9edfcd8-a4b9-44a5-a62c-fc37a1295251'
  40.             SQL
  41.         );
  42.         // Sinaia
  43.         $this->addSql(
  44.             <<<SQL
  45.                 UPDATE
  46.                     processor_credentials
  47.                 SET
  48.                     sms_config = '{"generalResponseMessages":{"new_sms_intent":"Doresti rezervare pentru %registrationPlate% - %reservationType%. Confirma trimitind %confirmationKey%, cost %smsPrice% %smsCurrency% (TVA inclus). Mai simplu cu https://AmParcat.ro","out_of_service":"Momentan sistemul nu accepta plati prin SMS in afara programului de lucru. Nu ati fost taxat! https://AmParcat.ro","service_not_active":"Momentan sistemul nu accepta plati prin SMS. Incercati mai tarziu sau utilizati aplicatia pentru mobil https://AmParcat.ro","intent_already_confirmed":"Aceasta rezervare a fost deja confirmata. Nu ati fost taxat! Pentru un proces mai usor utilizati aplicatia pentru mobil https://AmParcat.ro","invalid_format_specified":"Codul introdus este incorect! Verificati mesajul precedent si retrimiteti codul pentru confirmarea rezervarii. Nu ati fost taxat! https://AmParcat.ro","invalid_confirmation_code":"Codul introdus este incorect! Verificati mesajul precedent si retrimiteti codul pentru confirmarea rezervarii. Nu ati fost taxat! https://AmParcat.ro","invalid_parameters_specified":"Ati gresit formatul mesajului! Verificati materialele de informare si retransmiteti mesajul corectat! Nu ati fost taxat! https://AmParcat.ro","intent_confirmed_successfully":"Multumim, rezervarea ta pentru %registrationPlate% - %reservationType%, incepand cu %reservationStartHour%, a fost confirmata! Cost %smsPrice%%smsCurrency% (TVA inclus). Mai simplu cu https://AmParcat.ro"},"services":{"1A":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":1.1,"productNumber":"138043-793188-551816","productKeyword":"SIB","productTypeMessage":"1 ora"},"1M":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":2.1,"productNumber":"785796-768720-486213","productKeyword":"SID","productTypeMessage":"1 ora"},"2A":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":0.9,"productNumber":"839655-903350-997785","productKeyword":"SIA","productTypeMessage":"1 ora"},"2M":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":1.8,"productNumber":"699251-518356-494025","productKeyword":"SIC","productTypeMessage":"1 ora"},"3A":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":1.1,"productNumber":"767224-520043-298543","productKeyword":"SIN","productTypeMessage":"1 ora"},"3M":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":2.1,"productNumber":"871261-447758-625002","productKeyword":"SIE","productTypeMessage":"1 ora"},"1ZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":6,"productNumber":"768575-109205-240301","productKeyword":"SIH","productTypeMessage":"1 zi"},"2ZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":4.5,"productNumber":"079929-004336-781892","productKeyword":"SIG","productTypeMessage":"1 zi"},"3ZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":6,"productNumber":"699498-121616-509584","productKeyword":"SIJ","productTypeMessage":"1 zi"},"1MZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":11,"productNumber":"888861-637599-521414","productKeyword":"SIL","productTypeMessage":"1 zi"},"2BUS":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":60,"productPrice":4,"productNumber":"285323-438571-336889","productKeyword":"SIF","productTypeMessage":"1 ora"},"2MZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":9,"productNumber":"452422-829979-792632","productKeyword":"SIK","productTypeMessage":"1 zi"},"3MZI":{"schedule":{"Friday":{"to":20,"from":7},"Monday":{"to":20,"from":7},"Sunday":{"to":20,"from":7},"Tuesday":{"to":20,"from":7},"Saturday":{"to":20,"from":7},"Thursday":{"to":20,"from":7},"Wednesday":{"to":20,"from":7}},"periodUom":1440,"productPrice":11,"productNumber":"811009-012193-627938","productKeyword":"SIM","productTypeMessage":"1 zi"}}}',
  49.                     sms_regexp_pattern = 'L14oPzxjaXR5SWQ+c2kpKFxzKyk/KD88cGFya2luZ0xvdEFyZWE+XGR7MCwxfSkoPzxzZXJ2aWNlS2V5d29yZD5BfFpJfE18TVpJfEJVUykoPzxwYXJraW5nTG90SWQ+WzAtOV17MCwxfSkoXHMrKT8oPzxyZWdpc3RyYXRpb25QbGF0ZT5bYS16MC05XXszLDE2fSkkL21p'
  50.                 WHERE
  51.                     id = '5ec19562-ede9-4472-a9e5-655258e5f63a'
  52.             SQL
  53.         );
  54.     }
  55.     public function down(Schema $schema): void
  56.     {
  57.         $this->addSql('ALTER TABLE processor_credentials ADD sms_response_messages JSON DEFAULT NULL');
  58.         $this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D8514A7680');
  59.         $this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON UPDATE NO ACTION ON DELETE CASCADE');
  60.         $this->addSql('DROP INDEX IDX_811A48D8924917 ON sms_intents');
  61.         $this->addSql('ALTER TABLE sms_intents CHANGE sms_confirmation_key confirmation_key VARCHAR(16) DEFAULT NULL');
  62.         $this->addSql('CREATE INDEX IDX_811A48D8704B0348 ON sms_intents (confirmation_key)');
  63.         $this->addSql('ALTER TABLE sms_intents DROP sms_init_key');
  64.         // Pricing
  65.         $this->addSql('ALTER TABLE sms_intents ADD sms_price_in_cents INT NOT NULL DEFAULT 0');
  66.         $this->addSql(
  67.             <<<SQL
  68.                 UPDATE sms_intents
  69.                 SET sms_price_in_cents = sms_price * 100
  70.             SQL
  71.         );
  72.         $this->addSql('ALTER TABLE sms_intents DROP sms_price');
  73.         // Galati
  74.         $this->addSql(
  75.             <<<SQL
  76.                 UPDATE
  77.                     processor_credentials
  78.                 SET
  79.                     sms_config = '{"1": {"schedule": {"Friday": {"to": 20, "from": 8}, "Monday": {"to": 20, "from": 8}, "Sunday": {"to": 20, "from": 8}, "Tuesday": {"to": 20, "from": 8}, "Saturday": {"to": 20, "from": 8}, "Thursday": {"to": 20, "from": 8}, "Wednesday": {"to": 20, "from": 8}}, "periodUom": 60, "productPrice": 0.6, "productNumber": "881273-232745-519903", "productKeyword": "GLA"}, "1ZI": {"schedule": {"Friday": {"to": 20, "from": 8}, "Monday": {"to": 20, "from": 8}, "Sunday": {"to": 20, "from": 8}, "Tuesday": {"to": 20, "from": 8}, "Saturday": {"to": 20, "from": 8}, "Thursday": {"to": 20, "from": 8}, "Wednesday": {"to": 20, "from": 8}}, "periodUom": 1440, "productPrice": 3.3, "productNumber": "593918-639935-417925", "productKeyword": "GLB"}}',
  80.                     sms_regexp_pattern = 'L14oPzxjaXR5SWQ+Z2wpXHMrKD88c2VydmljZUtleXdvcmQ+MXwxWkkpKD88cGFya2luZ0xvdElkPlswLTldezAsfSlccysoPzxyZWdpc3RyYXRpb25QbGF0ZT5bYS16MC05XXszLDE2fSkkL21p'
  81.                 WHERE
  82.                     id = 'd9edfcd8-a4b9-44a5-a62c-fc37a1295251'
  83.             SQL
  84.         );
  85.         // Sinaia
  86.         $this->addSql(
  87.             <<<SQL
  88.                 UPDATE
  89.                     processor_credentials
  90.                 SET
  91.                     sms_config = '{"1A": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 1.1, "productNumber": "138043-793188-551816", "productKeyword": "SIB"}, "1M": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 2.1, "productNumber": "785796-768720-486213", "productKeyword": "SID"}, "2A": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 0.9, "productNumber": "839655-903350-997785", "productKeyword": "SIA"}, "2M": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 1.8, "productNumber": "699251-518356-494025", "productKeyword": "SIC"}, "3A": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 1.1, "productNumber": "767224-520043-298543", "productKeyword": "SIN"}, "3M": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 2.1, "productNumber": "871261-447758-625002", "productKeyword": "SIE"}, "1ZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 6, "productNumber": "768575-109205-240301", "productKeyword": "SIH"}, "2ZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 4.5, "productNumber": "079929-004336-781892", "productKeyword": "SIG"}, "3ZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 6, "productNumber": "699498-121616-509584", "productKeyword": "SIJ"}, "1MZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 11, "productNumber": "888861-637599-521414", "productKeyword": "SIL"}, "2BUS": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 60, "productPrice": 4, "productNumber": "285323-438571-336889", "productKeyword": "SIF"}, "2MZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 9, "productNumber": "452422-829979-792632", "productKeyword": "SIK"}, "3MZI": {"schedule": {"Friday": {"to": 20, "from": 7}, "Monday": {"to": 20, "from": 7}, "Sunday": {"to": 20, "from": 7}, "Tuesday": {"to": 20, "from": 7}, "Saturday": {"to": 20, "from": 7}, "Thursday": {"to": 20, "from": 7}, "Wednesday": {"to": 20, "from": 7}}, "periodUom": 1440, "productPrice": 11, "productNumber": "811009-012193-627938", "productKeyword": "SIM"}}',
  92.                     sms_regexp_pattern = 'L14oPzxjaXR5SWQ+c2kpXHMrKD88c2VydmljZUtleXdvcmQ+WzEtM10oQXxaSXxNfE1aSSl8MkJVUykoPzxwYXJraW5nTG90SWQ+WzAtOV17MCx9KVxzKyg/PHJlZ2lzdHJhdGlvblBsYXRlPlthLXowLTldezMsMTZ9KSQvbWk='
  93.                 WHERE
  94.                     id = '5ec19562-ede9-4472-a9e5-655258e5f63a'
  95.             SQL
  96.         );
  97.     }
  98. }