├── .env ├── .env.test ├── .github └── workflows │ └── test-lint.yml ├── .gitignore ├── README.md ├── bin ├── console └── phpunit ├── composer.json ├── composer.lock ├── config ├── bundles.php ├── packages │ ├── cache.yaml │ ├── doctrine.yaml │ ├── doctrine_migrations.yaml │ ├── framework.yaml │ ├── mailer.yaml │ ├── messenger.yaml │ ├── monolog.yaml │ ├── routing.yaml │ ├── uid.yaml │ └── workflow.yaml ├── preload.php ├── routes.yaml ├── routes │ └── framework.yaml └── services.yaml ├── docker-compose.override.yml ├── docker-compose.yml ├── ecs.php ├── migrations ├── Version20230329175453.php ├── Version20230329181550.php ├── Version20230405183815.php ├── Version20230611153017.php ├── Version20230702123231.php ├── Version20230702125531.php └── Version20230708080707.php ├── phpstan.neon.dist ├── phpunit.xml.dist ├── public ├── index.php └── static │ └── workflow.png ├── src ├── Command │ ├── OrderCreateCommand.php │ ├── OrderCreateWithErrorAndProcessingInQueueCommand.php │ ├── OrderCreateWithErrorCommand.php │ └── RetryWorkflowCommand.php ├── Controller │ └── .gitignore ├── Entity │ ├── Order.php │ └── WorkflowEntry.php ├── Kernel.php ├── Message │ └── WorkflowEntryProcessNotification.php ├── MessageHandler │ └── WorkflowEntryProcessNotificationHandler.php ├── Repository │ ├── OrderRepository.php │ └── WorkflowEntryRepository.php └── Service │ ├── Order │ └── OrderService.php │ └── Workflow │ ├── Envelope │ └── WorkflowEnvelope.php │ ├── Event │ └── WorkflowNextStateEvent.php │ ├── EventSubscriber │ ├── WorkflowNextStateSubscriber.php │ └── WorkflowTransitionSubscriber.php │ ├── Exception │ ├── ProceedWorkflowInQueueException.php │ ├── StopWorkflowException.php │ └── WorkflowInternalErrorException.php │ ├── Order │ ├── Exception │ │ └── OrderWorkflowException.php │ ├── OrderSendWorkflowBuilder.php │ ├── Stamp │ │ └── OrderIdStamp.php │ ├── State.php │ ├── Transition.php │ └── Transition │ │ ├── ApproveOrder.php │ │ ├── MarkOrderAsSent.php │ │ ├── SendOrderToEmail.php │ │ └── VerifyOrder.php │ ├── Serializer │ └── WorkflowEnvelopeDenormalizer.php │ ├── Stamp │ ├── ThrowExceptionStamp.php │ ├── ThrowProcessInQueueExceptionStamp.php │ ├── WorkflowInternalErrorStamp.php │ └── WorkflowProcessingInQueueStamp.php │ ├── WorkflowHandler.php │ ├── WorkflowInterface.php │ ├── WorkflowStampInterface.php │ ├── WorkflowStatus.php │ ├── WorkflowTransitionInterface.php │ └── WorkflowType.php ├── symfony.lock └── tests ├── Functional ├── Service │ └── Order │ │ └── OrderServiceTest.php └── TestCase.php └── bootstrap.php /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/.env -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/.env.test -------------------------------------------------------------------------------- /.github/workflows/test-lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/.github/workflows/test-lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/README.md -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/bin/console -------------------------------------------------------------------------------- /bin/phpunit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/bin/phpunit -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/composer.lock -------------------------------------------------------------------------------- /config/bundles.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/bundles.php -------------------------------------------------------------------------------- /config/packages/cache.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/cache.yaml -------------------------------------------------------------------------------- /config/packages/doctrine.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/doctrine.yaml -------------------------------------------------------------------------------- /config/packages/doctrine_migrations.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/doctrine_migrations.yaml -------------------------------------------------------------------------------- /config/packages/framework.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/framework.yaml -------------------------------------------------------------------------------- /config/packages/mailer.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/mailer.yaml -------------------------------------------------------------------------------- /config/packages/messenger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/messenger.yaml -------------------------------------------------------------------------------- /config/packages/monolog.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/monolog.yaml -------------------------------------------------------------------------------- /config/packages/routing.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/routing.yaml -------------------------------------------------------------------------------- /config/packages/uid.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/uid.yaml -------------------------------------------------------------------------------- /config/packages/workflow.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/packages/workflow.yaml -------------------------------------------------------------------------------- /config/preload.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/preload.php -------------------------------------------------------------------------------- /config/routes.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/routes.yaml -------------------------------------------------------------------------------- /config/routes/framework.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/routes/framework.yaml -------------------------------------------------------------------------------- /config/services.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/config/services.yaml -------------------------------------------------------------------------------- /docker-compose.override.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/docker-compose.override.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/ecs.php -------------------------------------------------------------------------------- /migrations/Version20230329175453.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230329175453.php -------------------------------------------------------------------------------- /migrations/Version20230329181550.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230329181550.php -------------------------------------------------------------------------------- /migrations/Version20230405183815.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230405183815.php -------------------------------------------------------------------------------- /migrations/Version20230611153017.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230611153017.php -------------------------------------------------------------------------------- /migrations/Version20230702123231.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230702123231.php -------------------------------------------------------------------------------- /migrations/Version20230702125531.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230702125531.php -------------------------------------------------------------------------------- /migrations/Version20230708080707.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/migrations/Version20230708080707.php -------------------------------------------------------------------------------- /phpstan.neon.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/phpstan.neon.dist -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/public/index.php -------------------------------------------------------------------------------- /public/static/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/public/static/workflow.png -------------------------------------------------------------------------------- /src/Command/OrderCreateCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Command/OrderCreateCommand.php -------------------------------------------------------------------------------- /src/Command/OrderCreateWithErrorAndProcessingInQueueCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Command/OrderCreateWithErrorAndProcessingInQueueCommand.php -------------------------------------------------------------------------------- /src/Command/OrderCreateWithErrorCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Command/OrderCreateWithErrorCommand.php -------------------------------------------------------------------------------- /src/Command/RetryWorkflowCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Command/RetryWorkflowCommand.php -------------------------------------------------------------------------------- /src/Controller/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Entity/Order.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Entity/Order.php -------------------------------------------------------------------------------- /src/Entity/WorkflowEntry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Entity/WorkflowEntry.php -------------------------------------------------------------------------------- /src/Kernel.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Kernel.php -------------------------------------------------------------------------------- /src/Message/WorkflowEntryProcessNotification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Message/WorkflowEntryProcessNotification.php -------------------------------------------------------------------------------- /src/MessageHandler/WorkflowEntryProcessNotificationHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/MessageHandler/WorkflowEntryProcessNotificationHandler.php -------------------------------------------------------------------------------- /src/Repository/OrderRepository.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Repository/OrderRepository.php -------------------------------------------------------------------------------- /src/Repository/WorkflowEntryRepository.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Repository/WorkflowEntryRepository.php -------------------------------------------------------------------------------- /src/Service/Order/OrderService.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Order/OrderService.php -------------------------------------------------------------------------------- /src/Service/Workflow/Envelope/WorkflowEnvelope.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Envelope/WorkflowEnvelope.php -------------------------------------------------------------------------------- /src/Service/Workflow/Event/WorkflowNextStateEvent.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Event/WorkflowNextStateEvent.php -------------------------------------------------------------------------------- /src/Service/Workflow/EventSubscriber/WorkflowNextStateSubscriber.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/EventSubscriber/WorkflowNextStateSubscriber.php -------------------------------------------------------------------------------- /src/Service/Workflow/EventSubscriber/WorkflowTransitionSubscriber.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/EventSubscriber/WorkflowTransitionSubscriber.php -------------------------------------------------------------------------------- /src/Service/Workflow/Exception/ProceedWorkflowInQueueException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Exception/ProceedWorkflowInQueueException.php -------------------------------------------------------------------------------- /src/Service/Workflow/Exception/StopWorkflowException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Exception/StopWorkflowException.php -------------------------------------------------------------------------------- /src/Service/Workflow/Exception/WorkflowInternalErrorException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Exception/WorkflowInternalErrorException.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Exception/OrderWorkflowException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Exception/OrderWorkflowException.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/OrderSendWorkflowBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/OrderSendWorkflowBuilder.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Stamp/OrderIdStamp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Stamp/OrderIdStamp.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/State.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/State.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Transition.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Transition.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Transition/ApproveOrder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Transition/ApproveOrder.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Transition/MarkOrderAsSent.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Transition/MarkOrderAsSent.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Transition/SendOrderToEmail.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Transition/SendOrderToEmail.php -------------------------------------------------------------------------------- /src/Service/Workflow/Order/Transition/VerifyOrder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Order/Transition/VerifyOrder.php -------------------------------------------------------------------------------- /src/Service/Workflow/Serializer/WorkflowEnvelopeDenormalizer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Serializer/WorkflowEnvelopeDenormalizer.php -------------------------------------------------------------------------------- /src/Service/Workflow/Stamp/ThrowExceptionStamp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Stamp/ThrowExceptionStamp.php -------------------------------------------------------------------------------- /src/Service/Workflow/Stamp/ThrowProcessInQueueExceptionStamp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Stamp/ThrowProcessInQueueExceptionStamp.php -------------------------------------------------------------------------------- /src/Service/Workflow/Stamp/WorkflowInternalErrorStamp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Stamp/WorkflowInternalErrorStamp.php -------------------------------------------------------------------------------- /src/Service/Workflow/Stamp/WorkflowProcessingInQueueStamp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/Stamp/WorkflowProcessingInQueueStamp.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowHandler.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowInterface.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowStampInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowStampInterface.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowStatus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowStatus.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowTransitionInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowTransitionInterface.php -------------------------------------------------------------------------------- /src/Service/Workflow/WorkflowType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/src/Service/Workflow/WorkflowType.php -------------------------------------------------------------------------------- /symfony.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/symfony.lock -------------------------------------------------------------------------------- /tests/Functional/Service/Order/OrderServiceTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/tests/Functional/Service/Order/OrderServiceTest.php -------------------------------------------------------------------------------- /tests/Functional/TestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/tests/Functional/TestCase.php -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bifidokk/symfony-asynchronous-workflows/HEAD/tests/bootstrap.php --------------------------------------------------------------------------------