[backend] accept articles from crawler

This commit is contained in:
2025-10-07 00:15:38 +02:00
parent 327ba5179d
commit 449718cdf2
397 changed files with 1490 additions and 3063 deletions
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\Aggregator\Domain\Model\Entity\Article"
repository-class="App\Aggregator\Infrastructure\Persistence\Doctrine\ORM\ArticleOrmRepository"
name="Basango\Aggregator\Domain\Model\Entity\Article"
repository-class="Basango\Aggregator\Infrastructure\Persistence\Doctrine\ORM\ArticleOrmRepository"
table="article"
>
<id name="id" type="article_id">
@@ -19,22 +19,22 @@
<field name="title" length="1024" />
<field name="body" type="text" />
<embedded name="link" class="App\Aggregator\Domain\Model\ValueObject\Link" use-column-prefix="false" />
<embedded name="link" class="Basango\Aggregator\Domain\Model\ValueObject\Link" use-column-prefix="false" />
<field name="hash" length="32" />
<field name="categories" nullable="true" />
<many-to-one field="source" target-entity="App\Aggregator\Domain\Model\Entity\Source">
<many-to-one field="source" target-entity="Basango\Aggregator\Domain\Model\Entity\Source">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<embedded name="credibility" class="App\Aggregator\Domain\Model\ValueObject\Scoring\Credibility" use-column-prefix="false" />
<field name="sentiment" enum-type="App\Aggregator\Domain\Model\ValueObject\Scoring\Sentiment" length="30">
<embedded name="credibility" class="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Credibility" use-column-prefix="false" />
<field name="sentiment" enum-type="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Sentiment" length="30">
<options>
<option name="default">neutral</option>
</options>
</field>
<field name="metadata" type="open_graph" nullable="true" />
<embedded name="readingTime" class="App\Aggregator\Domain\Model\ValueObject\ReadingTime" use-column-prefix="false" />
<embedded name="readingTime" class="Basango\Aggregator\Domain\Model\ValueObject\ReadingTime" use-column-prefix="false" />
<field name="image"
insertable="false"
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\Aggregator\Domain\Model\Entity\Source"
repository-class="App\Aggregator\Infrastructure\Persistence\Doctrine\ORM\SourceOrmRepository"
name="Basango\Aggregator\Domain\Model\Entity\Source"
repository-class="Basango\Aggregator\Infrastructure\Persistence\Doctrine\ORM\SourceOrmRepository"
table="source"
>
<id name="id" type="source_id">
@@ -15,7 +15,7 @@
<field name="url" />
<field name="name" unique="true" />
<embedded name="credibility" class="App\Aggregator\Domain\Model\ValueObject\Scoring\Credibility" use-column-prefix="false" />
<embedded name="credibility" class="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Credibility" use-column-prefix="false" />
<field name="displayName" nullable="true" />
<field name="description" length="1024" nullable="true" />
@@ -4,7 +4,7 @@
xsi:schemaLocation="https://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\Aggregator\Domain\Model\ValueObject\Link">
<embeddable name="Basango\Aggregator\Domain\Model\ValueObject\Link">
<field name="link" length="1024" />
</embeddable>
</doctrine-mapping>
@@ -4,7 +4,7 @@
xsi:schemaLocation="https://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\Aggregator\Domain\Model\ValueObject\ReadingTime">
<embeddable name="Basango\Aggregator\Domain\Model\ValueObject\ReadingTime">
<field name="readingTime" type="integer" nullable="true">
<options>
<option name="default">1</option>
@@ -4,18 +4,18 @@
xsi:schemaLocation="https://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\Aggregator\Domain\Model\ValueObject\Scoring\Credibility">
<field name="bias" enum-type="App\Aggregator\Domain\Model\ValueObject\Scoring\Bias" length="30">
<embeddable name="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Credibility">
<field name="bias" enum-type="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Bias" length="30">
<options>
<option name="default">neutral</option>
</options>
</field>
<field name="reliability" enum-type="App\Aggregator\Domain\Model\ValueObject\Scoring\Reliability" length="30">
<field name="reliability" enum-type="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Reliability" length="30">
<options>
<option name="default">reliable</option>
</options>
</field>
<field name="transparency" enum-type="App\Aggregator\Domain\Model\ValueObject\Scoring\Transparency" length="30">
<field name="transparency" enum-type="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Transparency" length="30">
<options>
<option name="default">medium</option>
</options>
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\FeedManagement\Domain\Model\Entity\Bookmark"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\BookmarkOrmRepository"
name="Basango\FeedManagement\Domain\Model\Entity\Bookmark"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\BookmarkOrmRepository"
table="bookmark"
>
<id name="id" type="bookmark_id">
@@ -13,7 +13,7 @@
</id>
<!-- fetching eager cause will always need to check the user's id whenever we deal with a bookmark -->
<many-to-one field="user" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User" fetch="EAGER">
<many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User" fetch="EAGER">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
@@ -25,7 +25,7 @@
</options>
</field>
<many-to-many field="articles" target-entity="App\Aggregator\Domain\Model\Entity\Article">
<many-to-many field="articles" target-entity="Basango\Aggregator\Domain\Model\Entity\Article">
<join-table name="bookmark_article">
<join-columns>
<join-column name="bookmark_id" referenced-column-name="id" on-delete="CASCADE" />
@@ -4,23 +4,23 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\FeedManagement\Domain\Model\Entity\Comment"
repository-class="App\FeedManagement\Infrastructure\Persistence\Doctrine\ORM\CommentOrmRepository"
name="Basango\FeedManagement\Domain\Model\Entity\Comment"
repository-class="Basango\FeedManagement\Infrastructure\Persistence\Doctrine\ORM\CommentOrmRepository"
table="comment"
>
<id name="id" type="comment_id">
<generator strategy="NONE"/>
</id>
<many-to-one field="user" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User">
<many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<many-to-one field="article" target-entity="App\Aggregator\Domain\Model\Entity\Article">
<many-to-one field="article" target-entity="Basango\Aggregator\Domain\Model\Entity\Article">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<field name="content" length="512" />
<field name="sentiment" enum-type="App\Aggregator\Domain\Model\ValueObject\Scoring\Sentiment" length="30">
<field name="sentiment" enum-type="Basango\Aggregator\Domain\Model\ValueObject\Scoring\Sentiment" length="30">
<options>
<option name="default">neutral</option>
</options>
@@ -4,18 +4,18 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\FeedManagement\Domain\Model\Entity\FollowedSource"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\FollowedSourceOrmRepository"
name="Basango\FeedManagement\Domain\Model\Entity\FollowedSource"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\FollowedSourceOrmRepository"
table="followed_source"
>
<id name="id" type="followed_source_id">
<generator strategy="NONE"/>
</id>
<many-to-one field="follower" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User">
<many-to-one field="follower" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<many-to-one field="source" target-entity="App\Aggregator\Domain\Model\Entity\Source">
<many-to-one field="source" target-entity="Basango\Aggregator\Domain\Model\Entity\Source">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
@@ -4,15 +4,15 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\IdentityAndAccess\Domain\Model\Entity\LoginAttempt"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\LoginAttemptOrmRepository"
name="Basango\IdentityAndAccess\Domain\Model\Entity\LoginAttempt"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\LoginAttemptOrmRepository"
table="login_attempt"
>
<id name="id" type="login_attempt_id">
<generator strategy="NONE"/>
</id>
<many-to-one field="user" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User">
<many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
@@ -4,21 +4,21 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\IdentityAndAccess\Domain\Model\Entity\LoginHistory"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\LoginAttemptOrmRepository"
name="Basango\IdentityAndAccess\Domain\Model\Entity\LoginHistory"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\LoginAttemptOrmRepository"
table="login_history"
>
<id name="id" type="login_history_id">
<generator strategy="NONE"/>
</id>
<many-to-one field="user" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User">
<many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<field name="ipAddress" nullable="true" length="15" />
<embedded name="device" class="App\SharedKernel\Domain\Model\ValueObject\Tracking\Device" />
<embedded name="location" class="App\SharedKernel\Domain\Model\ValueObject\Tracking\GeoLocation" />
<embedded name="device" class="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\Device" />
<embedded name="location" class="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\GeoLocation" />
<field name="createdAt" type="datetime_immutable"/>
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\IdentityAndAccess\Domain\Model\Entity\RefreshToken"
name="Basango\IdentityAndAccess\Domain\Model\Entity\RefreshToken"
repository-class="Gesdinet\JWTRefreshTokenBundle\Entity\RefreshTokenRepository"
table="refresh_tokens"
>
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\IdentityAndAccess\Domain\Model\Entity\User"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\UserOrmRepository"
name="Basango\IdentityAndAccess\Domain\Model\Entity\User"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\UserOrmRepository"
table="user"
>
<id name="id" type="user_id">
@@ -26,7 +26,7 @@
</options>
</field>
<embedded name="roles" class="App\IdentityAndAccess\Domain\Model\ValueObject\Roles" use-column-prefix="false" />
<embedded name="roles" class="Basango\IdentityAndAccess\Domain\Model\ValueObject\Roles" use-column-prefix="false" />
<field name="createdAt" type="datetime_immutable" />
<field name="updatedAt" type="datetime_immutable" nullable="true" />
@@ -4,19 +4,19 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity
name="App\IdentityAndAccess\Domain\Model\Entity\VerificationToken"
repository-class="App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\VerificationTokenOrmRepository"
name="Basango\IdentityAndAccess\Domain\Model\Entity\VerificationToken"
repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\VerificationTokenOrmRepository"
table="verification_token"
>
<id name="id" type="verification_token_id">
<generator strategy="NONE"/>
</id>
<many-to-one field="user" target-entity="App\IdentityAndAccess\Domain\Model\Entity\User" fetch="EAGER">
<many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User" fetch="EAGER">
<join-column nullable="false" on-delete="CASCADE" />
</many-to-one>
<field name="purpose" enum-type="App\IdentityAndAccess\Domain\Model\ValueObject\Secret\TokenPurpose" />
<embedded name="token" class="App\IdentityAndAccess\Domain\Model\ValueObject\Secret\GeneratedToken" use-column-prefix="false" />
<field name="purpose" enum-type="Basango\IdentityAndAccess\Domain\Model\ValueObject\Secret\TokenPurpose" />
<embedded name="token" class="Basango\IdentityAndAccess\Domain\Model\ValueObject\Secret\GeneratedToken" use-column-prefix="false" />
<field name="createdAt" type="datetime_immutable"/>
</entity>
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\IdentityAndAccess\Domain\Model\ValueObject\Roles">
<embeddable name="Basango\IdentityAndAccess\Domain\Model\ValueObject\Roles">
<field name="roles" type="json"/>
</embeddable>
</doctrine-mapping>
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\IdentityAndAccess\Domain\Model\ValueObject\Secret\GeneratedToken">
<embeddable name="Basango\IdentityAndAccess\Domain\Model\ValueObject\Secret\GeneratedToken">
<field name="token" length="60" nullable="true" />
</embeddable>
</doctrine-mapping>
@@ -4,7 +4,7 @@
xsi:schemaLocation="https://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\SharedKernel\Domain\Model\ValueObject\Tracking\Device">
<embeddable name="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\Device">
<field name="operatingSystem" type="string" nullable="true" />
<field name="client" type="string" nullable="true" />
<field name="device" type="string" nullable="true" />
@@ -4,7 +4,7 @@
xsi:schemaLocation="https://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<embeddable name="App\SharedKernel\Domain\Model\ValueObject\Tracking\GeoLocation">
<embeddable name="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\GeoLocation">
<field name="timeZone" type="string" nullable="true"/>
<field name="longitude" type="float" nullable="true"/>
<field name="latitude" type="float" nullable="true" />
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace DoctrineMigrations;
use App\Aggregator\Domain\Model\Identity\SourceId;
use Basango\Aggregator\Domain\Model\Identity\SourceId;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
+15 -15
View File
@@ -11,23 +11,23 @@ doctrine:
result_cache: 'cache.dbal'
types:
# Shared Kernel
email: App\SharedKernel\Infrastructure\Persistence\Doctrine\DBAL\Types\EmailType
email: Basango\SharedKernel\Infrastructure\Persistence\Doctrine\DBAL\Types\EmailType
# Aggregator
article_id: App\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\ArticleIdType
source_id: App\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\SourceIdType
open_graph: App\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\OpenGraphType
article_id: Basango\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\ArticleIdType
source_id: Basango\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\SourceIdType
open_graph: Basango\Aggregator\Infrastructure\Persistence\Doctrine\DBAL\Types\OpenGraphType
# Identity and Access
user_id: App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\UserIdType
login_attempt_id: App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\LoginAttemptIdType
login_history_id: App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\LoginHistoryIdType
verification_token_id: App\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\VerificationTokenIdType
user_id: Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\UserIdType
login_attempt_id: Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\LoginAttemptIdType
login_history_id: Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\LoginHistoryIdType
verification_token_id: Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\DBAL\Types\VerificationTokenIdType
# FeedManagement
bookmark_id: App\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\BookmarkIdType
followed_source_id: App\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\FollowedSourceIdType
comment_id: App\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\CommentIdType
bookmark_id: Basango\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\BookmarkIdType
followed_source_id: Basango\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\FollowedSourceIdType
comment_id: Basango\FeedManagement\Infrastructure\Persistence\Doctrine\DBAL\Types\CommentIdType
orm:
auto_generate_proxy_classes: true
enable_lazy_ghost_objects: true
@@ -40,22 +40,22 @@ doctrine:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/config/doctrine/Aggregator'
prefix: 'App\Aggregator\Domain\Model'
prefix: 'Basango\Aggregator\Domain\Model'
IdentityAndAccess:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/config/doctrine/IdentityAndAccess'
prefix: 'App\IdentityAndAccess\Domain\Model'
prefix: 'Basango\IdentityAndAccess\Domain\Model'
FeedManagement:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/config/doctrine/FeedManagement'
prefix: 'App\FeedManagement\Domain\Model'
prefix: 'Basango\FeedManagement\Domain\Model'
SharedKernel:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/config/doctrine/SharedKernel'
prefix: 'App\SharedKernel\Domain\Model'
prefix: 'Basango\SharedKernel\Domain\Model'
controller_resolver:
auto_mapping: false
@@ -1,6 +1,6 @@
doctrine_migrations:
migrations_paths:
# namespace is arbitrary but should be different from App\Migrations
# namespace is arbitrary but should be different from Basango\Migrations
# as migrations classes should NOT be autoloaded
'DoctrineMigrations': '%kernel.project_dir%/config/migrations'
enable_profiler: false
@@ -1,4 +1,4 @@
gesdinet_jwt_refresh_token:
refresh_token_class: App\IdentityAndAccess\Domain\Model\Entity\RefreshToken
refresh_token_class: Basango\IdentityAndAccess\Domain\Model\Entity\RefreshToken
ttl: 2592000 # 1 month
ttl_update: true
@@ -21,7 +21,7 @@ framework:
sync: 'sync://'
routing:
App\SharedKernel\Application\Messaging\AsyncMessage: async
Basango\SharedKernel\Application\Messaging\AsyncMessage: async
Symfony\Component\Mailer\Messenger\SendEmailMessage: sync
default_bus: command.bus
@@ -55,7 +55,7 @@ when@prod:
disable_webpage_preview: true
disable_notification: false
split_long_messages: false
formatter: App\SharedKernel\Infrastructure\Framework\Symfony\Logging\TelegramFormatter
formatter: Basango\SharedKernel\Infrastructure\Framework\Symfony\Logging\TelegramFormatter
nested:
type: rotating_file
path: "%kernel.logs_dir%/%kernel.environment%.log"
@@ -5,7 +5,7 @@ security:
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers:
app_user_provider:
id: App\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\SecurityUserProvider
id: Basango\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\SecurityUserProvider
firewalls:
dev:
@@ -19,7 +19,7 @@ security:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
user_checker: App\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
user_checker: Basango\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
api:
pattern: ^/api
@@ -30,12 +30,12 @@ security:
check_path: /api/token/refresh
logout:
path: api_token_invalidate
user_checker: App\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
user_checker: Basango\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
main:
lazy: true
provider: app_user_provider
user_checker: App\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
user_checker: Basango\IdentityAndAccess\Infrastructure\Framework\Symfony\Security\UserChecker
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
@@ -45,6 +45,7 @@ security:
- { path: ^/api/token/refresh, roles: PUBLIC_ACCESS }
- { path: ^/api/password/(request|reset), roles: PUBLIC_ACCESS }
- { path: ^/api/account/(unlock|confirm), roles: PUBLIC_ACCESS }
- { path: ^/api/aggregator/articles, roles: PUBLIC_ACCESS }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
when@test:
+1 -1
View File
@@ -9,7 +9,7 @@ twig:
decimal_point: ','
thousands_separator: '.'
globals:
'application': '@App\SharedKernel\Domain\Application'
'application': '@Basango\SharedKernel\Domain\Application'
when@test:
twig:
+8 -8
View File
@@ -4,7 +4,7 @@
# 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:
app_crawling_notification_email: '%env(CRAWLING_NOTIFICATION_EMAIL)%'
basango_notification_email: '%env(BASANGO_NOTIFICATION_EMAIL)%'
services:
# default configuration for services in *this* file
@@ -13,19 +13,19 @@ services:
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
bind:
$projectDir: '%kernel.project_dir%'
$crawlingNotificationEmail: '%app_crawling_notification_email%'
$crawlingNotificationEmail: '%basango_notification_email%'
_instanceof:
App\SharedKernel\Application\Messaging\CommandHandler:
Basango\SharedKernel\Application\Messaging\CommandHandler:
tags:
- { name: messenger.message_handler, bus: 'command.bus' }
App\SharedKernel\Application\Messaging\QueryHandler:
Basango\SharedKernel\Application\Messaging\QueryHandler:
tags:
- { name: messenger.message_handler, bus: 'query.bus' }
App\SharedKernel\Application\Messaging\MessageHandler:
Basango\SharedKernel\Application\Messaging\MessageHandler:
tags:
- { name: messenger.message_handler, bus: 'message.bus' }
App\SharedKernel\Domain\EventListener\EventListener:
Basango\SharedKernel\Domain\EventListener\EventListener:
tags:
- { name: kernel.event_listener }
@@ -38,13 +38,13 @@ services:
Symfony\Bridge\Monolog\Processor\TokenProcessor:
tags:
- { name: monolog.processor, channel: 'app' }
App\SharedKernel\Infrastructure\Framework\Symfony\Logging\TelegramFormatter:
Basango\SharedKernel\Infrastructure\Framework\Symfony\Logging\TelegramFormatter:
tags:
- { name: monolog.formatter }
# 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\:
Basango\:
resource: '../src/'
exclude:
- '../src/SharedKernel/Infrastructure/Framework/Symfony/Kernel.php'