feat: Implement SMS sending functionality with KavehNegar and Rangineh providers
- Add SendSmsMessage class for encapsulating SMS message data. - Create KavehNegarProvider and RanginehProvider classes implementing SmsProviderInterface for sending SMS. - Implement SmsLogRepository and SmsTemplateRepository for managing SMS logs and templates. - Develop SendSmsHandler for handling SMS sending messages. - Create SmsService to manage SMS dispatching and logging. - Add UserProfileController for managing user profiles with CRUD operations. - Implement UserProfile entity and repository for user profile data management. - Update symfony.lock and bootstrap.php for project dependencies and environment setup.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your needs!
|
||||
*/
|
||||
final class Version20260609135923 extends AbstractMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
// this up() migration is auto-generated, please modify it to your needs
|
||||
$this->addSql('CREATE TABLE comments (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(36) NOT NULL, body LONGTEXT NOT NULL, status VARCHAR(20) NOT NULL, created_at INT NOT NULL, updated_at INT NOT NULL, user_id INT NOT NULL, doctor_id INT NOT NULL, UNIQUE INDEX UNIQ_5F9E962AD17F50A6 (uuid), INDEX IDX_5F9E962AA76ED395 (user_id), INDEX IDX_5F9E962A87F4FB17 (doctor_id), INDEX idx_comments_doctor_status (doctor_id, status), PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8mb4');
|
||||
$this->addSql('CREATE TABLE likes (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(36) NOT NULL, created_at INT NOT NULL, user_id INT NOT NULL, comment_id INT NOT NULL, UNIQUE INDEX UNIQ_49CA4E7DD17F50A6 (uuid), INDEX IDX_49CA4E7DA76ED395 (user_id), INDEX IDX_49CA4E7DF8697D13 (comment_id), UNIQUE INDEX idx_likes_user_comment (user_id, comment_id), PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8mb4');
|
||||
$this->addSql('CREATE TABLE rates (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(36) NOT NULL, score SMALLINT NOT NULL, created_at INT NOT NULL, updated_at INT NOT NULL, user_id INT NOT NULL, doctor_id INT NOT NULL, UNIQUE INDEX UNIQ_44D4AB3CD17F50A6 (uuid), INDEX IDX_44D4AB3CA76ED395 (user_id), INDEX IDX_44D4AB3C87F4FB17 (doctor_id), UNIQUE INDEX idx_rates_user_doctor (user_id, doctor_id), PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8mb4');
|
||||
$this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962AA76ED395 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE');
|
||||
$this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A87F4FB17 FOREIGN KEY (doctor_id) REFERENCES doctors (id) ON DELETE CASCADE');
|
||||
$this->addSql('ALTER TABLE likes ADD CONSTRAINT FK_49CA4E7DA76ED395 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE');
|
||||
$this->addSql('ALTER TABLE likes ADD CONSTRAINT FK_49CA4E7DF8697D13 FOREIGN KEY (comment_id) REFERENCES comments (id) ON DELETE CASCADE');
|
||||
$this->addSql('ALTER TABLE rates ADD CONSTRAINT FK_44D4AB3CA76ED395 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE');
|
||||
$this->addSql('ALTER TABLE rates ADD CONSTRAINT FK_44D4AB3C87F4FB17 FOREIGN KEY (doctor_id) REFERENCES doctors (id) ON DELETE CASCADE');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
// this down() migration is auto-generated, please modify it to your needs
|
||||
$this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962AA76ED395');
|
||||
$this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962A87F4FB17');
|
||||
$this->addSql('ALTER TABLE likes DROP FOREIGN KEY FK_49CA4E7DA76ED395');
|
||||
$this->addSql('ALTER TABLE likes DROP FOREIGN KEY FK_49CA4E7DF8697D13');
|
||||
$this->addSql('ALTER TABLE rates DROP FOREIGN KEY FK_44D4AB3CA76ED395');
|
||||
$this->addSql('ALTER TABLE rates DROP FOREIGN KEY FK_44D4AB3C87F4FB17');
|
||||
$this->addSql('DROP TABLE comments');
|
||||
$this->addSql('DROP TABLE likes');
|
||||
$this->addSql('DROP TABLE rates');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user