chore: initial import for test contour
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
framework:
|
||||
asset_mapper:
|
||||
# The paths to make available to the asset mapper.
|
||||
paths:
|
||||
- assets/
|
||||
missing_import_mode: strict
|
||||
|
||||
when@prod:
|
||||
framework:
|
||||
asset_mapper:
|
||||
missing_import_mode: warn
|
||||
@@ -0,0 +1,10 @@
|
||||
framework:
|
||||
cache:
|
||||
app: cache.adapter.redis
|
||||
default_redis_provider: '%env(resolve:REDIS_URL)%'
|
||||
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.app
|
||||
@@ -0,0 +1,11 @@
|
||||
# Enable stateless CSRF protection for forms and logins/logouts
|
||||
framework:
|
||||
form:
|
||||
csrf_protection:
|
||||
token_id: submit
|
||||
|
||||
csrf_protection:
|
||||
stateless_token_ids:
|
||||
- submit
|
||||
- authenticate
|
||||
- logout
|
||||
@@ -0,0 +1,5 @@
|
||||
when@dev:
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
||||
@@ -0,0 +1,14 @@
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler:
|
||||
collect: true
|
||||
only_exceptions: false
|
||||
collect_serializer_data: true
|
||||
|
||||
# Уберите опцию profiling, она больше не существует
|
||||
http_client:
|
||||
# Профилирование теперь включается автоматически в dev среде
|
||||
# при наличии установленного web_profiler
|
||||
@@ -0,0 +1,92 @@
|
||||
doctrine:
|
||||
dbal:
|
||||
connections:
|
||||
default: # PostgreSQL
|
||||
schema_filter: ~^(?!cron)~
|
||||
url: '%env(resolve:DATABASE_URL)%'
|
||||
logging: true
|
||||
profiling: true
|
||||
profiling_collect_backtrace: '%kernel.debug%'
|
||||
use_savepoints: true
|
||||
|
||||
mysql: # Bitrix MySQL
|
||||
url: '%env(resolve:DATABASE_BITRIX_URL)%'
|
||||
driver: pdo_mysql
|
||||
logging: true
|
||||
profiling: true
|
||||
|
||||
cabinet: # Cabinet PostgreSQL
|
||||
url: '%env(resolve:DATABASE_CABINET_URL)%'
|
||||
logging: true
|
||||
profiling: true
|
||||
orm:
|
||||
dql:
|
||||
string_functions:
|
||||
JSONB_CONTAINS: Scienta\DoctrineJsonFunctions\Query\AST\Functions\Postgresql\JsonbContains
|
||||
JSON_CONTAINS: Scienta\DoctrineJsonFunctions\Query\AST\Functions\Postgresql\JsonContains
|
||||
JSONB_EXISTS: Scienta\DoctrineJsonFunctions\Query\AST\Functions\Postgresql\JsonbExists
|
||||
JSONB_EXISTS_ANY: Scienta\DoctrineJsonFunctions\Query\AST\Functions\Postgresql\JsonbExistsAny
|
||||
JSONB_EXISTS_ALL: Scienta\DoctrineJsonFunctions\Query\AST\Functions\Postgresql\JsonbExistsAll
|
||||
auto_generate_proxy_classes: false
|
||||
metadata_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
enable_lazy_ghost_objects: true
|
||||
report_fields_where_declared: true
|
||||
validate_xml_mapping: true
|
||||
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||
identity_generation_preferences:
|
||||
Doctrine\DBAL\Platforms\PostgreSQLPlatform: identity
|
||||
auto_mapping: true
|
||||
mappings:
|
||||
App:
|
||||
type: attribute
|
||||
is_bundle: false
|
||||
dir: '%kernel.project_dir%/src/Entity'
|
||||
prefix: 'App\Entity'
|
||||
alias: App
|
||||
controller_resolver:
|
||||
auto_mapping: false
|
||||
|
||||
when@dev:
|
||||
doctrine:
|
||||
orm:
|
||||
# In dev, avoid Redis-backed metadata/query cache: stale ClassMetadata (e.g. removed fields) breaks warmup.
|
||||
metadata_cache_driver:
|
||||
type: pool
|
||||
pool: cache.system
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: cache.system
|
||||
|
||||
when@test:
|
||||
doctrine:
|
||||
dbal:
|
||||
# "TEST_TOKEN" is typically set by ParaTest
|
||||
# dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
||||
|
||||
when@prod:
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
||||
@@ -0,0 +1,6 @@
|
||||
doctrine_migrations:
|
||||
migrations_paths:
|
||||
# namespace is arbitrary but should be different from App\Migrations
|
||||
# as migrations classes should NOT be autoloaded
|
||||
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
||||
enable_profiler: false
|
||||
@@ -0,0 +1,31 @@
|
||||
framework:
|
||||
http_method_override: false
|
||||
handle_all_throwables: true
|
||||
secret: '%env(APP_SECRET)%'
|
||||
|
||||
session:
|
||||
handler_id: null
|
||||
cookie_secure: auto
|
||||
cookie_samesite: lax
|
||||
storage_factory_id: session.storage.factory.native
|
||||
|
||||
php_errors:
|
||||
log: true
|
||||
|
||||
http_client:
|
||||
default_options:
|
||||
max_duration: 30
|
||||
|
||||
#esi: false
|
||||
#fragments: false
|
||||
|
||||
when@dev:
|
||||
framework:
|
||||
php_errors:
|
||||
throw: true
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
test: true
|
||||
session:
|
||||
storage_factory_id: session.storage.factory.mock_file
|
||||
@@ -0,0 +1,5 @@
|
||||
lexik_jwt_authentication:
|
||||
secret_key: '%env(resolve:JWT_SECRET_KEY)%'
|
||||
public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
|
||||
pass_phrase: '%env(JWT_PASSPHRASE)%'
|
||||
token_ttl: 31536000
|
||||
@@ -0,0 +1,2 @@
|
||||
framework:
|
||||
lock: '%env(LOCK_DSN)%'
|
||||
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
mailer:
|
||||
dsn: '%env(MAILER_DSN)%'
|
||||
@@ -0,0 +1,24 @@
|
||||
framework:
|
||||
messenger:
|
||||
enabled: true
|
||||
failure_transport: failed
|
||||
transports:
|
||||
sync: 'sync://'
|
||||
failed: 'doctrine://default?queue_name=failed'
|
||||
scheduler_default:
|
||||
dsn: '%env(resolve:MESSENGER_TRANSPORT_DSN)%'
|
||||
options:
|
||||
queue_name: scheduler_default
|
||||
routing:
|
||||
Symfony\Component\Scheduler\Messenger\SchedulerTransport: scheduler_default
|
||||
App\Message\GetScheduleMessage: sync
|
||||
App\Message\GetSpecialistPictureMessage: sync
|
||||
App\Message\GetAnonymousReserveRequestMessage: sync
|
||||
|
||||
# when@test:
|
||||
# framework:
|
||||
# messenger:
|
||||
# transports:
|
||||
# # replace with your transport name here (e.g., my_transport: 'in-memory://')
|
||||
# # For more Messenger testing tools, see https://github.com/zenstruck/messenger-test
|
||||
# async: 'in-memory://'
|
||||
@@ -0,0 +1,76 @@
|
||||
monolog:
|
||||
channels:
|
||||
- infoclinica
|
||||
- deprecation
|
||||
- bitrix
|
||||
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
channels: ["!event", "!http_client"]
|
||||
http_client:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/http_client.log"
|
||||
level: debug
|
||||
channels: ["http_client"]
|
||||
messenger:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/messenger.log"
|
||||
level: debug
|
||||
channels: ["messenger"]
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine", "!console"]
|
||||
infoclinica:
|
||||
type: rotating_file
|
||||
path: "%kernel.logs_dir%/infoclinica-%kernel.environment%.log"
|
||||
formatter: monolog.formatter.json
|
||||
channels: ["infoclinica"]
|
||||
bitrix:
|
||||
type: rotating_file
|
||||
path: "%kernel.logs_dir%/bitrix-%kernel.environment%.log"
|
||||
formatter: monolog.formatter.json
|
||||
channels: ["bitrix"]
|
||||
|
||||
when@dev:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
channels: ["!event", "!doctrine"]
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine", "!console"]
|
||||
infoclinica:
|
||||
type: rotating_file
|
||||
path: "%kernel.logs_dir%/infoclinica-%kernel.environment%.log"
|
||||
formatter: monolog.formatter.json
|
||||
channels: ["infoclinica"]
|
||||
when@prod:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
excluded_http_codes: [404, 405]
|
||||
buffer_size: 50
|
||||
formatter: monolog.formatter.json
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
console:
|
||||
type: rotating_file
|
||||
path: "%kernel.logs_dir%/console-%kernel.environment%.log"
|
||||
max_files: 7
|
||||
level: debug
|
||||
channels: ["!event", "!doctrine"]
|
||||
formatter: monolog.formatter.json
|
||||
@@ -0,0 +1,26 @@
|
||||
nelmio_api_doc:
|
||||
documentation:
|
||||
servers:
|
||||
- url: https://api.sovamed.ru/
|
||||
description: Public API - sovamed
|
||||
- url: https://api.wmtmed.ru/
|
||||
description: Public API - wmtmed
|
||||
info:
|
||||
title: Public API
|
||||
description: Справочник методов доступных в Public API
|
||||
version: 1.0.0
|
||||
areas:
|
||||
path_patterns: [
|
||||
'^/filial/list$',
|
||||
'^/department/list$',
|
||||
'^/specialist/list$',
|
||||
'^/specialist/schedule$',
|
||||
'^/pricelist/list$',
|
||||
'^/pricelist/department$',
|
||||
'^/news($|/)',
|
||||
'^/promo($|/)',
|
||||
'^/disease($|/)',
|
||||
'^/medical-center($|/)',
|
||||
'^/article($|/)',
|
||||
'^/site-services($|/)'
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
nelmio_cors:
|
||||
defaults:
|
||||
origin_regex: true
|
||||
allow_credentials: true
|
||||
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
|
||||
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
|
||||
allow_headers: ['Content-Type', 'Authorization']
|
||||
expose_headers: ['Link']
|
||||
max_age: 3600
|
||||
skip_same_as_origin: true
|
||||
paths:
|
||||
'^/': ~
|
||||
@@ -0,0 +1,12 @@
|
||||
framework:
|
||||
notifier:
|
||||
chatter_transports:
|
||||
texter_transports:
|
||||
channel_policy:
|
||||
# use chat/slack, chat/telegram, sms/twilio or sms/nexmo
|
||||
urgent: ['email']
|
||||
high: ['email']
|
||||
medium: ['email']
|
||||
low: ['email']
|
||||
admin_recipients:
|
||||
- { email: admin@example.com }
|
||||
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
property_info:
|
||||
with_constructor_extractor: true
|
||||
@@ -0,0 +1,11 @@
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: false
|
||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||
#default_uri: http://localhost
|
||||
|
||||
when@prod:
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: null
|
||||
@@ -0,0 +1,3 @@
|
||||
framework:
|
||||
scheduler:
|
||||
enabled: false
|
||||
@@ -0,0 +1,38 @@
|
||||
security:
|
||||
password_hashers:
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
||||
|
||||
providers:
|
||||
app_user_provider:
|
||||
entity:
|
||||
class: App\Entity\User
|
||||
property: email
|
||||
|
||||
firewalls:
|
||||
api:
|
||||
pattern: ^/
|
||||
stateless: true
|
||||
provider: app_user_provider
|
||||
jwt: ~
|
||||
|
||||
main:
|
||||
lazy: true
|
||||
provider: app_user_provider
|
||||
login_throttling:
|
||||
max_attempts: 3
|
||||
interval: '15 minutes'
|
||||
logout:
|
||||
path: user_logout
|
||||
|
||||
access_control:
|
||||
# - { path: ^/api/auth, roles: PUBLIC_ACCESS }
|
||||
# - { path: ^/api, roles: ROLE_USER }
|
||||
|
||||
when@test:
|
||||
security:
|
||||
password_hashers:
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
||||
algorithm: auto
|
||||
cost: 4
|
||||
time_cost: 3
|
||||
memory_cost: 10
|
||||
@@ -0,0 +1,5 @@
|
||||
framework:
|
||||
serializer:
|
||||
enabled: true
|
||||
default_context:
|
||||
date_format: 'Y-m-d'
|
||||
@@ -0,0 +1,5 @@
|
||||
framework:
|
||||
default_locale: ru
|
||||
translator:
|
||||
default_path: '%kernel.project_dir%/translations'
|
||||
providers:
|
||||
@@ -0,0 +1,6 @@
|
||||
twig:
|
||||
file_name_pattern: '*.twig'
|
||||
|
||||
when@test:
|
||||
twig:
|
||||
strict_variables: true
|
||||
@@ -0,0 +1,4 @@
|
||||
# Enable stateless CSRF protection for forms and logins/logouts
|
||||
framework:
|
||||
csrf_protection:
|
||||
check_header: true
|
||||
@@ -0,0 +1,12 @@
|
||||
framework:
|
||||
validation:
|
||||
email_validation_mode: html5
|
||||
# Enables validator auto-mapping support.
|
||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||
#auto_mapping:
|
||||
# App\Entity\: []
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
validation:
|
||||
not_compromised_password: false
|
||||
@@ -0,0 +1,13 @@
|
||||
when@dev:
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
|
||||
framework:
|
||||
profiler:
|
||||
collect_serializer_data: true
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
profiler:
|
||||
collect: false
|
||||
collect_serializer_data: true
|
||||
Reference in New Issue
Block a user