@startuml !include theme.puml title Vendure Plugin Lifecycle hide footbox skinparam SequenceBoxBorderColor #efefef skinparam SequenceDividerBorderThickness 1 skinparam BoxPadding 100 participant VendurePlugin #13b7f3 box "Vendure Server" #efefef participant "Server (NestApplication)" as NestApplication participant "Worker (NestMicroservice)" as NestMicroservice end box VendurePlugin -> NestApplication: static beforeVendureBootstrap VendurePlugin -> NestMicroservice: static beforeVendureWorkerBootstrap ||50|| == Nestjs onModuleInit == VendurePlugin -> NestApplication: onVendureBootstrap VendurePlugin -> NestMicroservice: onVendureWorkerBootstrap == Nestjs onApplicationBootstrap == ||50|| note over NestApplication, NestMicroservice #ccffcc: Vendure server running... ||50|| note over NestApplication, NestMicroservice #ffcccc: Termination signal received == Nestjs onModuleDestroy == VendurePlugin -> NestApplication: onVendureClose VendurePlugin -> NestMicroservice: onVendureWorkerClose == Nestjs beforeApplicationShutdown == == Nestjs onApplicationShutdown == @enduml