clean up config and add delay stamp

This commit is contained in:
Khoubza Younes
2020-12-06 14:04:54 +01:00
parent dc222e2b64
commit a19c16a7b5
10 changed files with 166 additions and 167 deletions
-27
View File
@@ -1,27 +0,0 @@
services:
Flasher\Prime\Config\Config: '@flasher.config'
Flasher\Prime\Manager\AbstractManager: '@flasher.abstract_manager'
Flasher\Prime\Flasher: '@flasher'
Flasher\Prime\Presenter\PresenterManager: '@flasher.presenter_manager'
Flasher\Prime\Renderer\RendererManager: '@flasher.renderer_manager'
Flasher\Prime\Middleware\FlasherBus: '@flasher.flasher_bus'
Flasher\Prime\EventDispatcher\EventDispatcher: '@flasher.event_dispatcher'
Flasher\Symfony\Storage\Storage: '@flasher.storage'
Flasher\Prime\Storage\StorageManager: '@flasher.storage_manager'
Flasher\Prime\Filter\FilterManager: '@flasher.filter_manager'
Flasher\Prime\Filter\FilterBuilder: '@flasher.filter_builder'
Flasher\Prime\Filter\DefaultFilter: '@flasher.filter.default'
Flasher\Prime\Factory\AbstractFactory: '@flasher.abstract_factory'
Flasher\Prime\Presenter\AbstractPresenter: '@flasher.abstract_presenter'
Flasher\Prime\Presenter\Adapter\JsonPresenter: '@flasher.presenter.json'
Flasher\Prime\Presenter\Adapter\HtmlPresenter: '@flasher.presenter.html'
flasher.factory_manager: '@flasher'
Flasher\Prime\FlasherInterface: '@flasher'
Flasher\Prime\Storage\StorageManagerInterface: '@flasher.storage_manager'
Flasher\Prime\Renderer\RendererManagerInterface: '@flasher.renderer_manager'
Flasher\Prime\Presenter\PresenterManagerInterface: '@flasher.presenter_manager'
Flasher\Prime\Middleware\FlasherBusInterface: '@flasher.flasher_bus'
Flasher\Prime\Filter\FilterManagerInterface: '@flasher.filter_manager'
Flasher\Prime\EventDispatcher\EventDispatcherInterface: '@flasher.event_dispatcher'
Flasher\Prime\Storage\StorageInterface: '@flasher.storage'
+144 -10
View File
@@ -1,13 +1,3 @@
imports:
# - { resource: 'services.yaml' }
- { resource: 'middlewares.yaml' }
- { resource: 'storage.yaml' }
- { resource: 'presenters.yaml' }
- { resource: 'filters.yaml' }
- { resource: 'twig.yaml' }
- { resource: 'event_subscribers.yaml' }
- { resource: 'aliases.yaml' }
services:
flasher.config:
class: Flasher\Prime\Config\Config
@@ -33,3 +23,147 @@ services:
flasher.renderer_manager:
class: Flasher\Prime\Renderer\RendererManager
parent: 'flasher.abstract_manager'
flasher.flasher_bus:
class: Flasher\Prime\Middleware\FlasherBus
flasher.middleware.add_created_stamp:
class: Flasher\Prime\Middleware\AddCreatedAtStampMiddleware
public: false
tags:
- { name: 'flasher.middleware' }
flasher.middleware.add_hops_stamp:
class: Flasher\Prime\Middleware\AddHopsStampMiddleware
public: false
tags:
- { name: 'flasher.middleware' }
flasher.middleware.add_priority_stamp:
class: Flasher\Prime\Middleware\AddPriorityStampMiddleware
public: false
tags:
- { name: 'flasher.middleware' }
flasher.middleware.add_delay_stamp:
class: Flasher\Prime\Middleware\AddDelayStampMiddleware
public: false
tags:
- { name: 'flasher.middleware' }
flasher.storage:
class: Flasher\Symfony\Storage\Storage
arguments:
- '@session'
flasher.storage_manager:
class: Flasher\Prime\Storage\StorageManager
arguments:
- '@flasher.storage'
- '@flasher.event_dispatcher'
flasher.event_dispatcher:
class: Flasher\Prime\EventDispatcher\EventDispatcher
flasher.event_listener.post_filter:
class: Flasher\Prime\EventDispatcher\EventListener\PostFilterListener
public: false
arguments:
- '@flasher.storage'
tags:
- { name: 'flasher.event_subscriber' }
flasher.event_listener.post_flush:
class: Flasher\Prime\EventDispatcher\EventListener\PostFlushListener
public: false
arguments:
- '@flasher.storage'
tags:
- { name: 'flasher.event_subscriber' }
flasher.event_listener.middleware:
class: Flasher\Prime\EventDispatcher\EventListener\MiddlewareListener
public: false
arguments:
- '@flasher.flasher_bus'
tags:
- { name: 'flasher.event_subscriber' }
flasher.event_listener.storage:
class: Flasher\Prime\EventDispatcher\EventListener\StorageListener
public: false
arguments:
- '@flasher.storage'
tags:
- { name: 'flasher.event_subscriber' }
flasher.filter_manager:
class: Flasher\Prime\Filter\FilterManager
parent: 'flasher.abstract_manager'
flasher.filter_builder:
class: Flasher\Prime\Filter\FilterBuilder
flasher.filter.default:
class: Flasher\Prime\Filter\DefaultFilter
arguments:
- '@flasher.filter_builder'
tags:
- { name: 'flasher.filter' }
flasher.presenter_manager:
class: Flasher\Prime\Presenter\PresenterManager
parent: 'flasher.abstract_manager'
flasher.abstract_presenter:
class: Flasher\Prime\Presenter\AbstractPresenter
abstract: true
arguments:
- '@flasher.event_dispatcher'
- '@flasher.config'
- '@flasher.storage_manager'
- '@flasher.filter_manager'
- '@flasher.renderer_manager'
flasher.presenter.html:
class: Flasher\Prime\Presenter\Adapter\HtmlPresenter
parent: 'flasher.abstract_presenter'
tags:
- { name: 'flasher.presenter' }
flasher.presenter.json:
class: Flasher\Prime\Presenter\Adapter\JsonPresenter
parent: 'flasher.abstract_presenter'
tags:
- { name: 'flasher.presenter' }
flasher.twig.extension:
class: Flasher\Symfony\Twig\FlasherTwigExtension
arguments:
- '@flasher.presenter.html'
tags:
- { name: 'twig.extension' }
Flasher\Prime\Config\Config: '@flasher.config'
Flasher\Prime\Flasher: '@flasher'
Flasher\Prime\Presenter\PresenterManager: '@flasher.presenter_manager'
Flasher\Prime\Renderer\RendererManager: '@flasher.renderer_manager'
Flasher\Prime\Middleware\FlasherBus: '@flasher.flasher_bus'
Flasher\Prime\EventDispatcher\EventDispatcher: '@flasher.event_dispatcher'
Flasher\Symfony\Storage\Storage: '@flasher.storage'
Flasher\Prime\Storage\StorageManager: '@flasher.storage_manager'
Flasher\Prime\Filter\FilterManager: '@flasher.filter_manager'
Flasher\Prime\Filter\FilterBuilder: '@flasher.filter_builder'
Flasher\Prime\Filter\DefaultFilter: '@flasher.filter.default'
Flasher\Prime\Presenter\Adapter\JsonPresenter: '@flasher.presenter.json'
Flasher\Prime\Presenter\Adapter\HtmlPresenter: '@flasher.presenter.html'
flasher.factory_manager: '@flasher'
Flasher\Prime\FlasherInterface: '@flasher'
Flasher\Prime\Storage\StorageManagerInterface: '@flasher.storage_manager'
Flasher\Prime\Renderer\RendererManagerInterface: '@flasher.renderer_manager'
Flasher\Prime\Presenter\PresenterManagerInterface: '@flasher.presenter_manager'
Flasher\Prime\Middleware\FlasherBusInterface: '@flasher.flasher_bus'
Flasher\Prime\Filter\FilterManagerInterface: '@flasher.filter_manager'
Flasher\Prime\EventDispatcher\EventDispatcherInterface: '@flasher.event_dispatcher'
Flasher\Prime\Storage\StorageInterface: '@flasher.storage'
-29
View File
@@ -1,29 +0,0 @@
services:
flasher.event_dispatcher:
class: Flasher\Prime\EventDispatcher\EventDispatcher
Flasher\Prime\EventDispatcher\EventListener\PostFilterListener:
public: false
tags:
- 'flasher.event_subscriber'
Flasher\Prime\EventDispatcher\EventListener\PostFlushListener:
public: false
arguments:
- '@flasher.storage'
tags:
- 'flasher.event_subscriber'
Flasher\Prime\EventDispatcher\EventListener\MiddlewareListener:
public: false
arguments:
- '@flasher.flasher_bus'
tags:
- 'flasher.event_subscriber'
Flasher\Prime\EventDispatcher\EventListener\StorageListener:
public: false
arguments:
- '@flasher.storage'
tags:
- 'flasher.event_subscriber'
-14
View File
@@ -1,14 +0,0 @@
services:
flasher.filter_manager:
class: Flasher\Prime\Filter\FilterManager
parent: 'flasher.abstract_manager'
flasher.filter_builder:
class: Flasher\Prime\Filter\FilterBuilder
flasher.filter.default:
class: Flasher\Prime\Filter\DefaultFilter
arguments:
- '@flasher.filter_builder'
tags:
- 'flasher.filter'
-18
View File
@@ -1,18 +0,0 @@
services:
flasher.flasher_bus:
class: Flasher\Prime\Middleware\FlasherBus
Flasher\Prime\Middleware\AddCreatedAtStampMiddleware:
public: false
tags:
- 'flasher.middleware'
Flasher\Prime\Middleware\AddHopsStampMiddleware:
public: false
tags:
- 'flasher.middleware'
Flasher\Prime\Middleware\AddPriorityStampMiddleware:
public: false
tags:
- 'flasher.middleware'
-26
View File
@@ -1,26 +0,0 @@
services:
flasher.presenter_manager:
class: Flasher\Prime\Presenter\PresenterManager
parent: 'flasher.abstract_manager'
flasher.abstract_presenter:
class: Flasher\Prime\Presenter\AbstractPresenter
abstract: true
arguments:
- '@flasher.event_dispatcher'
- '@flasher.config'
- '@flasher.storage_manager'
- '@flasher.filter_manager'
- '@flasher.renderer_manager'
flasher.presenter.html:
class: Flasher\Prime\Presenter\Adapter\HtmlPresenter
parent: 'flasher.abstract_presenter'
tags:
- 'flasher.presenter'
flasher.presenter.json:
class: Flasher\Prime\Presenter\Adapter\JsonPresenter
parent: 'flasher.abstract_presenter'
tags:
- 'flasher.presenter'
-25
View File
@@ -1,25 +0,0 @@
services:
flasher.config:
class: Flasher\Prime\Config\Config
arguments:
- null
flasher.abstract_manager:
class: Flasher\Prime\Manager\AbstractManager
abstract: true
arguments:
- '@flasher.config'
flasher:
class: Flasher\Prime\Flasher
parent: 'flasher.abstract_manager'
flasher.renderer_manager:
class: Flasher\Prime\Renderer\RendererManager
parent: 'flasher.abstract_manager'
flasher.abstract_factory:
class: Flasher\Prime\Factory\AbstractFactory
abstract: true
arguments:
- '@flasher.flasher_bus'
-11
View File
@@ -1,11 +0,0 @@
services:
flasher.storage:
class: Flasher\Symfony\Storage\Storage
arguments:
- '@session'
flasher.storage_manager:
class: Flasher\Prime\Storage\StorageManager
arguments:
- '@flasher.storage'
- '@flasher.event_dispatcher'
-7
View File
@@ -1,7 +0,0 @@
services:
Flasher\Symfony\Twig\FlasherTwigExtension:
class:
arguments:
- '@flasher.presenter.html'
tags:
- 'twig.extension'
+22
View File
@@ -51,6 +51,28 @@ final class Storage implements StorageInterface
$this->session->set(self::ENVELOPES_NAMESPACE, $store);
}
/**
* @inheritDoc
*/
public function update($envelopes)
{
$envelopes = is_array($envelopes) ? $envelopes : func_get_args();
$map = UuidStamp::indexWithUuid($envelopes);
$store = $this->all();
foreach ($store as $index => $envelope) {
$uuid = $envelope->get('Flasher\Prime\Stamp\UuidStamp')->getUuid();
if (!isset($map[$uuid])) {
continue;
}
$store[$index] = $map[$uuid];
}
$this->session->set(self::ENVELOPES_NAMESPACE, $store);
}
/**
* @inheritDoc
*/