Files
clinicpro/config/services.yaml
T
hamed 5cdcec23a9 feat: enhance staff management and payment gateway features
- Fix national code handling in staff creation and updates to support Persian digits.
- Update ClinicStaff entity to allow longer national codes (up to 15 characters).
- Implement support for clinic secretaries in SecretaryController, allowing creation without a doctor UUID.
- Add a new endpoint to retrieve doctors associated with a clinic for secretary management.
- Improve appointment management by ensuring doctors are selectable even when no appointments exist.
- Extend PatientController to allow secretaries to create patient records if they have the appropriate permissions.
- Introduce a PriceInput component for better price formatting in forms, supporting Persian digits.
- Add a MockGateway for testing payment processes without real transactions.
- Enhance SMS settings management with an approval flow for post-visit text messages, including new fields for pending text and status.
- Update migrations to reflect changes in database schema for national codes and SMS settings.
2026-06-15 11:03:56 +03:30

88 lines
3.0 KiB
YAML

# yaml-language-server: $schema=../vendor/symfony/dependency-injection/Loader/schema/services.schema.json
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
# See also https://symfony.com/doc/current/service_container/import.html
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
parameters: {}
services:
# default configuration for services in *this* file
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\:
resource: '../src/'
App\Doctor\Controller\DoctorController:
arguments:
$projectDir: '%kernel.project_dir%'
App\Clinic\Controller\ClinicController:
arguments:
$projectDir: '%kernel.project_dir%'
App\Auth\Service\OtpService:
arguments:
$otpTtl: '%env(int:OTP_TTL)%'
$appEnv: '%kernel.environment%'
App\Auth\Service\TokenService:
arguments:
$refreshTokenTtl: '%env(int:REFRESH_TOKEN_TTL)%'
App\Auth\Security\PasswordAuthenticator:
arguments:
$refreshTokenTtl: '%env(int:REFRESH_TOKEN_TTL)%'
$loginLimiter: '@limiter.login'
App\Auth\Controller\AuthController:
arguments:
$sendCodeLimiter: '@limiter.send_code'
App\Payment\Gateway\MellatGateway:
arguments:
$terminalId: '%env(default::MELLAT_TERMINAL_ID)%'
$username: '%env(default::MELLAT_USERNAME)%'
$password: '%env(default::MELLAT_PASSWORD)%'
App\Payment\Gateway\SepGateway:
arguments:
$terminalId: '%env(default::SEP_TERMINAL_ID)%'
App\Payment\Controller\PaymentController:
arguments:
$appBaseUrl: '%env(APP_BASE_URL)%'
$allowedFrontendHosts: '%env(ALLOWED_FRONTEND_HOSTS)%'
App\Sms\Provider\KavehNegarProvider:
arguments:
$apiKey: '%env(default::KAVENEGAR_API_KEY)%'
$sender: '%env(default::KAVENEGAR_SENDER)%'
App\Sms\Provider\RanginehProvider:
arguments:
$apiKey: '%env(default::RANGINEH_API_KEY)%'
$sender: '%env(default::RANGINEH_SENDER)%'
App\Blog\Controller\BlogController:
arguments:
$projectDir: '%kernel.project_dir%'
App\Insurance\Controller\InsuranceController:
arguments:
$projectDir: '%kernel.project_dir%'
App\ClinicInvitation\Service\ClinicInvitationService:
arguments:
$appUrl: '%env(APP_BASE_URL)%'
App\Sms\Controller\SmsWalletController:
arguments:
$appBaseUrl: '%env(APP_BASE_URL)%'