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:
hamed
2026-06-09 22:00:34 +03:30
commit de1a78a235
222 changed files with 36388 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Shared\Exception;
use App\Shared\Constant\ErrorCodes;
class AppException extends \RuntimeException
{
public function __construct(
private readonly string $errorCode,
?string $message = null,
private readonly int $httpStatus = 400,
private readonly ?string $field = null,
) {
parent::__construct($message ?? ErrorCodes::message($errorCode));
}
public function getErrorCode(): string { return $this->errorCode; }
public function getHttpStatus(): int { return $this->httpStatus; }
public function getField(): ?string { return $this->field; }
}