welcome back to dyb-tech

This commit is contained in:
Daniel Guzman
2024-05-18 02:28:01 +02:00
parent 9513cdba09
commit 9f30bc98c7
6149 changed files with 668407 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
Nelmio\ApiDocBundle\NelmioApiDocBundle::class => ['all' => true],
];
+30
View File
@@ -0,0 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQInDeviyrjeGECAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECOv8u+sIrYZyBIIEyH00Kuv7H9X/
pbCCgoQaisJ8oWyakZEvxJY+bvpteYMRqFBGfSSCwM198FhR49+gf29hWsr8bF3f
zoS+e8dnkzaVebBZ582FVAWUWdTBVct2CNHXDLTmwz/PJel/xGXXEqpoyb2wcxrr
+m3kEJq00AV2m5zDcPjL3lP71pEta2DwuPfKgs+n9KnqGO94zuj0Q+pe7hEVlfia
nKbmUWfXRSXscBv7dzt/Npl0pRiDkPCSPCKIXZfrVa8agxrUQbS422cVNtee8h5u
dqU5ZrnfmUOogRWW+/Is8HbdMPk1u1TGlHIBeJeJCeR7cype6KXFvZKqREP1MhH3
u9ge+J14PRqdm2ZeGpeKyvpnmrObE+qSeSShrttaytC6862IBJAcWs7+30oM/TUR
mpA8yj9G5wRgNB4kBYGfNCo3VgDL1be/ai0yUTeIpxOwszMidSXZ6lQ9KvJG55X8
kKmFfnLHqCx4D44WhtQPggcipZgsKePjFd348Wb2OWTRYpf66e5Q0Sua2+Faf6yL
8Y891ZFb2k68GNFS4sL0ZKvjiIRvbOYUt0wPebL5z5yJgza8/a7rC2cEv+vo/grw
npGGMc73iQ/jtFRYHNQBe4/uq5xO8eLxyrSdgHjIPek6N/yvP0BX994AV6KM9ew3
ovIgouBPfjF+jE5/wKfoFZFua2QVdm8kK0BcXqQkeKlgeBIXZEspuHqWRVAvH0Zx
zrqdraj8kTW9FtaRsTctwqsIuVBMXMm7h8ASl0nDSQRY+0xICdq0xO43Ie8UXx2i
8hQkRNa/zqmzbtenZhZXoKc/K6ylhA++7o/nEjwPZmfbgIndTdu5CDnH3qclX/Ls
cwTo1/mZuXyy0MCQ+qbagq2a4Ymbx5YQ304R8N6BieT2cnItWOWiImO1VgKQWlUp
9tNubgFFVCb+I6orguPwUPeptvXnxBERiTqFmlv7t1rK8+5twk07TXMQXQkHs20C
7MeKRUkXrQmRDiPRkRlEs2SmyPVqIT0eXi4ofGf57VQ4llkjBeDZIXzckMjFctZ4
2vBH2QCzWDb9+/8Gm/rDJh55VoJhyTGCiM6p87ebNHpmOtWviGThr02Fv8h+p3oZ
r5qWUU6k7XWS2UbL4FOcmctzsj1ieXPMeA6GjcRhzB48Ctp9FClYoaug1hTaupQc
7UYoy/j1kDVR+ft4Ld8RTTXC1M1ejHopEF3ssuLY7/t9tAA0Dyx0jBwJh+sZMZot
rKP/mOvmMzIQxQwgj05Q4vXF5g9rVCDVCKbb8AGWdktkG8SBe9M2xzEv7GWuOLwa
tmlRSD8V/hRpclCu5ry6zX/H/sjhDQkUkBRdO6drClyqEiX8HYkWsbkd791P8mgt
E42Fy02L7KyVa3wTn9QHu+9bwUBUI7cBmjindWXNdCbzNYoNevAwAgsfCoK0LZmp
BxbJ9e68yZXkIrEnxkl4tboaidhn/zDcf9msJfdZqwbfPtdDheIFGjgvZYPBxDzA
W9/4YGwwRFznycTobhLmBCYqpUrON7nXNdvMvSaG3mQevkRBRBVNTIxEufq6u/11
FrT/2kmFKAMPfypwV4PEZRaoJuxpnjWgMDQV1+W0HC0xdIlrTEySEmhTRiTdax8F
rvvz81Q6bF7l6y5xVcWv2g==
-----END ENCRYPTED PRIVATE KEY-----
+9
View File
@@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwDsrme1BZmfXZF9XDBGY
l/eBtM04MTfHC5IV9HI4scoiFsQUUgxiESrE1ATwzd94E/V98W6xeApKpRlHKulb
/AxoBo+FaHZLIAEwfkSsqHhhcTATfdkI3nLd3OksbuqDg19nrWoStjTeig9jb3op
GezkL+fHcrUpBUFdT0jkuyR/hnIaYtWK6xalWodozJjPHxNC69X7p6xuWGPkRW2q
Plm1GzBl4hsvdZ0QfTJQC8aGPXII6Ug5jAySN4jvNSEQNDrnrZ1aiD+A8mnePaE/
le9Md4h/pMAn0ku9nv1dTMmFOl7xZUPpG2Qq7wilHyejtU2sLi8MciJaUSesg5ee
dwIDAQAB
-----END PUBLIC KEY-----
+19
View File
@@ -0,0 +1,19 @@
framework:
cache:
# Unique name of your app: used to compute stable namespaces for cache keys.
#prefix_seed: your_vendor_name/app_name
# The "app" cache stores to the filesystem by default.
# The data in this cache should persist between deploys.
# Other options include:
# Redis
#app: cache.adapter.redis
#default_redis_provider: redis://localhost
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
#app: cache.adapter.apcu
# Namespaced pools use the above "app" backend by default
#pools:
#my.dedicated.cache: null
+5
View File
@@ -0,0 +1,5 @@
maker:
# tell MakerBundle that all of your classes live in an
# Acme namespace, instead of the default App
# (e.g. Acme\Entity\Article, Acme\Command\MyCommand, etc)
root_namespace: 'DMD\LaLigaApi\'
+49
View File
@@ -0,0 +1,49 @@
doctrine:
dbal:
# url: '%env(resolve:DATABASE_URL)%'
url: 'mysql://root:root@localhost:3307/la_liga?serverVersion=8.0.32&charset=utf8mb4'
# url: 'mysql://root:root@localhost:3307/la_liga?serverVersion=7.4.16&charset=utf8mb4'
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
#server_version: '15'
profiling_collect_backtrace: '%kernel.debug%'
orm:
auto_generate_proxy_classes: true
enable_lazy_ghost_objects: true
report_fields_where_declared: true
validate_xml_mapping: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
DMD\LaLigaApi:
is_bundle: false
dir: '%kernel.project_dir%/src/Entity'
prefix: 'DMD\LaLigaApi\Entity'
alias: App
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
+6
View File
@@ -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
+25
View File
@@ -0,0 +1,25 @@
# see https://symfony.com/doc/current/reference/configuration/framework.html
framework:
secret: '%env(APP_SECRET)%'
#csrf_protection: true
http_method_override: false
handle_all_throwables: true
# Enables session support. Note that the session will ONLY be started if you read or write from it.
# Remove or comment this section to explicitly disable session support.
session:
handler_id: null
cookie_secure: auto
cookie_samesite: lax
storage_factory_id: session.storage.factory.native
#esi: true
#fragments: true
php_errors:
log: 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: 1800
+3
View File
@@ -0,0 +1,3 @@
framework:
mailer:
dsn: 'smtp://soporteliga:dmdlakers06@localhost:8025?verify_peer=0'
+9
View File
@@ -0,0 +1,9 @@
nelmio_api_doc:
documentation:
info:
title: My App
description: This is an awesome app!
version: 1.0.0
areas: # to filter documented areas
path_patterns:
- ^/api(?!/doc$) # Accepts routes under /api except /api/doc
+10
View File
@@ -0,0 +1,10 @@
nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['*']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
expose_headers: ['Link']
max_age: 3600
paths:
'^/': null
+12
View File
@@ -0,0 +1,12 @@
framework:
router:
utf8: true
# 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
+60
View File
@@ -0,0 +1,60 @@
security:
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
enable_authenticator_manager: true
password_hashers:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers:
# used to reload user from session & other features (e.g. switch_user)
app_user_provider:
entity:
class: DMD\LaLigaApi\Entity\User
property: email
firewalls:
login:
pattern: ^/api/login
stateless: true
json_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
api:
pattern: ^/api
stateless: true
jwt: ~
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
lazy: true
provider: app_user_provider
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#the-firewall
# https://symfony.com/doc/current/security/impersonating_user.html
# switch_user: true
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: ^/api/login, roles: PUBLIC_ACCESS }
- { path: ^/api/user/password, roles: PUBLIC_ACCESS }
- { path: ^/api/public, roles: PUBLIC_ACCESS }
- { path: ^/api/register, roles: PUBLIC_ACCESS }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
when@test:
security:
password_hashers:
# By default, password hashers are resource intensive and take time. This is
# important to generate secure password hashes. In tests however, secure hashes
# are not important, waste resources and increase test times. The following
# reduces the work factor to the lowest possible values.
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
algorithm: auto
cost: 4 # Lowest possible value for bcrypt
time_cost: 3 # Lowest possible value for argon
memory_cost: 10 # Lowest possible value for argon
+6
View File
@@ -0,0 +1,6 @@
twig:
default_path: '%kernel.project_dir%/templates'
when@test:
twig:
strict_variables: true
+13
View File
@@ -0,0 +1,13 @@
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
+5
View File
@@ -0,0 +1,5 @@
<?php
if (file_exists(dirname(__DIR__).'/var/cache/prod/DMD_LaLigaApi_KernelProdContainer.preload.php')) {
require dirname(__DIR__).'/var/cache/prod/DMD_LaLigaApi_KernelProdContainer.preload.php';
}
+8
View File
@@ -0,0 +1,8 @@
controllers:
resource:
path: ../src/Controller/
namespace: DMD\LaLigaApi\Controller
type: attribute
api_login_check:
path: /api/login_check
+4
View File
@@ -0,0 +1,4 @@
when@dev:
_errors:
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
prefix: /_error
+12
View File
@@ -0,0 +1,12 @@
# Expose your documentation as JSON swagger compliant
app.swagger:
path: /api/doc.json
methods: GET
defaults: { _controller: nelmio_api_doc.controller.swagger }
## Requires the Asset component and the Twig bundle
## $ composer require twig asset
#app.swagger_ui:
# path: /api/doc
# methods: GET
# defaults: { _controller: nelmio_api_doc.controller.swagger_ui }
+31
View File
@@ -0,0 +1,31 @@
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
# 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
DMD\LaLigaApi\:
resource: '../src/'
exclude:
- '../src/DependencyInjection/'
- '../src/Entity/'
- '../src/Kernel.php'
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
DMD\LaLigaApi\Exception\ExceptionListener:
tags:
- { name: kernel.event_listener, event: kernel.exception }
DMD\LaLigaApi\Service\User\Handlers\login\AuthenticationSuccessListener:
tags:
- { name: kernel.event_listener, event: lexik_jwt_authentication.on_authentication_success, method: onAuthenticationSuccessResponse }