Refactor SMS sending to use KavehNegar VerifyLookup templates
- Removed SmsTextResolver dependency from multiple services and controllers. - Introduced dispatchTemplate method in SmsService to handle SMS sending with templates. - Updated existing SMS sending logic across various services (OtpService, PreRegistrationController, ClinicInvitationService, PaymentManager, SecretaryController, RepresentationActionController) to utilize the new dispatchTemplate method. - Enhanced SmsMessageTemplate entity to include kavenegar_template and token_map fields. - Created migration to add new fields to the sms_message_templates table and populate them with existing data. - Updated SeedSmsMessageTemplatesCommand to handle new template structure. - Added documentation for the new SMS template structure and usage.
This commit is contained in:
@@ -33,7 +33,6 @@ class PreRegistrationController extends BaseController
|
||||
private readonly ClinicRepository $clinicRepo,
|
||||
private readonly UserPasswordHasherInterface $hasher,
|
||||
private readonly SmsService $sms,
|
||||
private readonly \App\Sms\Service\SmsTextResolver $smsText,
|
||||
private readonly LoggerInterface $logger,
|
||||
) {}
|
||||
|
||||
@@ -155,15 +154,14 @@ class PreRegistrationController extends BaseController
|
||||
$this->em->flush();
|
||||
|
||||
try {
|
||||
$message = $this->smsText->resolve(\App\Sms\Entity\SmsLog::TAG_PRE_REGISTRATION, [
|
||||
'username' => $preReg->getMobile(),
|
||||
'password' => $password,
|
||||
'link' => 'https://clinic-pro.ddev.site/admin',
|
||||
]);
|
||||
$this->sms->dispatchAsync(
|
||||
$this->sms->dispatchTemplate(
|
||||
\App\Sms\Entity\SmsLog::TAG_PRE_REGISTRATION,
|
||||
$preReg->getMobile(),
|
||||
$message,
|
||||
tag: \App\Sms\Entity\SmsLog::TAG_PRE_REGISTRATION,
|
||||
[
|
||||
'username' => $preReg->getMobile(),
|
||||
'password' => $password,
|
||||
'link' => 'https://clinic-pro.ddev.site/admin',
|
||||
],
|
||||
);
|
||||
} catch (\Throwable $e) {
|
||||
$this->logger->warning('PreRegistration SMS failed', ['uuid' => $uuid, 'error' => $e->getMessage()]);
|
||||
|
||||
Reference in New Issue
Block a user