├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── README.md ├── config.json ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── kotlin │ └── de │ │ └── eventsourcingbook │ │ └── cart │ │ ├── SpringApp.kt │ │ ├── additem │ │ └── internal │ │ │ └── AddItemRessource.kt │ │ ├── application │ │ └── DeviceFingerPrintCalculator.kt │ │ ├── archiveitem │ │ └── internal │ │ │ ├── ArchiveItemAutomationProcessor.kt │ │ │ └── ArchiveItemRessource.kt │ │ ├── cartitems │ │ ├── CartItemsReadModel.kt │ │ └── internal │ │ │ ├── CartItemsReadModelQueryHandler.kt │ │ │ └── CartItemsRessource.kt │ │ ├── cartwithproducts │ │ ├── CartsWithProductsReadModel.kt │ │ └── internal │ │ │ ├── CartsWithProductsReadModelProjector.kt │ │ │ ├── CartsWithProductsReadModelQueryHandler.kt │ │ │ └── CartsWithProductsRessource.kt │ │ ├── changeinventory │ │ └── internal │ │ │ ├── ChangeInventoryRessource.kt │ │ │ ├── ExternalInventoryChangedEvent.kt │ │ │ ├── InventoryChangedKafkaConsumer.kt │ │ │ └── InventoryKafkaDebugResource.kt │ │ ├── changeprice │ │ └── internal │ │ │ ├── ChangePriceKafkaConsumer.kt │ │ │ ├── ChangePriceRessource.kt │ │ │ ├── ExternalPriceChangedEvent.kt │ │ │ └── PriceChangeKafkaDebugResource.kt │ │ ├── clearcart │ │ └── internal │ │ │ └── ClearCartRessource.kt │ │ ├── common │ │ ├── Command.kt │ │ ├── CommandException.kt │ │ ├── CommandResult.kt │ │ ├── Event.kt │ │ ├── NoArg.kt │ │ ├── Processor.kt │ │ ├── Query.kt │ │ └── ReadModel.kt │ │ ├── domain │ │ ├── CartAggregate.kt │ │ ├── InventoryAggregate.kt │ │ ├── PricingAggregate.kt │ │ ├── commands │ │ │ ├── additem │ │ │ │ ├── AddItemCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── archiveitem │ │ │ │ ├── ArchiveItemCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── changeinventory │ │ │ │ ├── ChangeInventoryCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── changeprice │ │ │ │ ├── ChangePriceCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── clearcart │ │ │ │ ├── ClearCartCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── publishcart │ │ │ │ ├── PublishCartCommand.kt │ │ │ │ └── package-info.java │ │ │ ├── removeitem │ │ │ │ ├── RemoveItemCommand.kt │ │ │ │ └── package-info.java │ │ │ └── submitcart │ │ │ │ ├── SubmitCartCommand.kt │ │ │ │ └── package-info.java │ │ └── package-info.java │ │ ├── events │ │ ├── CartClearedEvent.kt │ │ ├── CartCreatedEvent.kt │ │ ├── CartPublicationFailedEvent.kt │ │ ├── CartPublishedEvent.kt │ │ ├── CartSubmittedEvent.kt │ │ ├── InventoryChangedEvent.kt │ │ ├── ItemAddedEvent.kt │ │ ├── ItemArchivedEvent.kt │ │ ├── ItemRemovedEvent.kt │ │ ├── PriceChangedEvent.kt │ │ ├── upcaster │ │ │ └── ItemAddedEvent_Upcaster_V1_V2.kt │ │ └── versioned │ │ │ └── ItemAddedEvent.kt │ │ ├── inventories │ │ ├── InventoriesReadModel.kt │ │ └── internal │ │ │ ├── InventoriesReadModelProjector.kt │ │ │ ├── InventoriesReadModelQueryHandler.kt │ │ │ └── InventoriesRessource.kt │ │ ├── package-info.java │ │ ├── publishcart │ │ └── internal │ │ │ ├── PublishCartAutomationProcessor.kt │ │ │ ├── PublishCartCommandHandler.kt │ │ │ ├── PublishCartRessource.kt │ │ │ └── contract │ │ │ └── ExternalPublishedCart.kt │ │ ├── removeitem │ │ └── internal │ │ │ └── RemoveItemRessource.kt │ │ ├── submitcart │ │ └── internal │ │ │ └── SubmitCartRessource.kt │ │ └── support │ │ ├── UUIDToStringConverter.kt │ │ ├── internal │ │ └── debug │ │ │ └── EventsDebugController.kt │ │ └── package-info.java └── resources │ ├── application.yml │ └── db │ └── migration │ ├── V20240101__initial.sql │ ├── V20240102__inventories.sql │ ├── V20240103__carts_with_products.sql │ └── V20240104__publish_cart.sql └── test └── kotlin └── de └── eventsourcingbook └── cart ├── ApplicationStarter.kt ├── ModuleTest.kt ├── additem ├── AdditemAggregateTest.kt └── Max3itemspercartAggregateTest.kt ├── archiveitem ├── ArchiveItemAggregateTestAggregateTest.kt └── integration │ └── ArchiveItemProcessorTest.kt ├── cartitems └── integration │ ├── CartItemsUpcasterTest.kt │ └── CartitemsReadModelTest.kt ├── cartwithproducts └── integration │ └── CartwithproductsReadModelTest.kt ├── changeinventory └── ChangeinventoryAggregateTest.kt ├── changeprice ├── ChangepriceAggregateTest.kt └── integration │ └── ChangepriceProcessorTest.kt ├── clearcart └── ClearcartAggregateTest.kt ├── common └── support │ ├── BaseIntegrationTest.kt │ ├── DbLogTest.kt │ ├── KafkaAssertions.kt │ ├── RandomData.kt │ └── StreamAssertions.kt ├── inventories └── integration │ └── InventoriesReadModelTest.kt ├── publishcart ├── PublishcartAggregateTest.kt ├── PublishunsubmittedcartAggregateTest.kt ├── RepublishcartAggregateTest.kt └── integration │ └── PublishcartProcessorTest.kt ├── removeitem ├── RemoveitemAggregateTest.kt └── RemoveitemwhichwasalreadyremovedAggregateTest.kt └── submitcart ├── SubmitcartAggregateTest.kt └── SubmitemptycartAggregateTest.kt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/README.md -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/config.json -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/SpringApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/SpringApp.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/additem/internal/AddItemRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/additem/internal/AddItemRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/application/DeviceFingerPrintCalculator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/application/DeviceFingerPrintCalculator.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/archiveitem/internal/ArchiveItemAutomationProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/archiveitem/internal/ArchiveItemAutomationProcessor.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/archiveitem/internal/ArchiveItemRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/archiveitem/internal/ArchiveItemRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartitems/CartItemsReadModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartitems/CartItemsReadModel.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartitems/internal/CartItemsReadModelQueryHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartitems/internal/CartItemsReadModelQueryHandler.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartitems/internal/CartItemsRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartitems/internal/CartItemsRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/CartsWithProductsReadModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/CartsWithProductsReadModel.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsReadModelProjector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsReadModelProjector.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsReadModelQueryHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsReadModelQueryHandler.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/cartwithproducts/internal/CartsWithProductsRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/ChangeInventoryRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/ChangeInventoryRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/ExternalInventoryChangedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/ExternalInventoryChangedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/InventoryChangedKafkaConsumer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/InventoryChangedKafkaConsumer.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/InventoryKafkaDebugResource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeinventory/internal/InventoryKafkaDebugResource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ChangePriceKafkaConsumer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ChangePriceKafkaConsumer.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ChangePriceRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ChangePriceRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ExternalPriceChangedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/ExternalPriceChangedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/PriceChangeKafkaDebugResource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/changeprice/internal/PriceChangeKafkaDebugResource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/clearcart/internal/ClearCartRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/clearcart/internal/ClearCartRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/Command.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/Command.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/CommandException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/CommandException.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/CommandResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/CommandResult.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/Event.kt: -------------------------------------------------------------------------------- 1 | package de.eventsourcingbook.cart.common 2 | 3 | interface Event 4 | -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/NoArg.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/NoArg.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/Processor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/Processor.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/Query.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/Query.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/common/ReadModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/common/ReadModel.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/CartAggregate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/CartAggregate.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/InventoryAggregate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/InventoryAggregate.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/PricingAggregate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/PricingAggregate.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/additem/AddItemCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/additem/AddItemCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/additem/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/additem/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/archiveitem/ArchiveItemCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/archiveitem/ArchiveItemCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/archiveitem/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/archiveitem/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeinventory/ChangeInventoryCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeinventory/ChangeInventoryCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeinventory/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeinventory/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeprice/ChangePriceCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeprice/ChangePriceCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeprice/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/changeprice/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/clearcart/ClearCartCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/clearcart/ClearCartCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/clearcart/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/clearcart/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/publishcart/PublishCartCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/publishcart/PublishCartCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/publishcart/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/publishcart/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/removeitem/RemoveItemCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/removeitem/RemoveItemCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/removeitem/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/removeitem/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/submitcart/SubmitCartCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/submitcart/SubmitCartCommand.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/commands/submitcart/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/domain/commands/submitcart/package-info.java -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/domain/package-info.java: -------------------------------------------------------------------------------- 1 | package de.eventsourcingbook.cart.domain; 2 | -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/CartClearedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/CartClearedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/CartCreatedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/CartCreatedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/CartPublicationFailedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/CartPublicationFailedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/CartPublishedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/CartPublishedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/CartSubmittedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/CartSubmittedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/InventoryChangedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/InventoryChangedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/ItemAddedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/ItemAddedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/ItemArchivedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/ItemArchivedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/ItemRemovedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/ItemRemovedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/PriceChangedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/PriceChangedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/upcaster/ItemAddedEvent_Upcaster_V1_V2.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/upcaster/ItemAddedEvent_Upcaster_V1_V2.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/events/versioned/ItemAddedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/events/versioned/ItemAddedEvent.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/inventories/InventoriesReadModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/inventories/InventoriesReadModel.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesReadModelProjector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesReadModelProjector.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesReadModelQueryHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesReadModelQueryHandler.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/inventories/internal/InventoriesRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/package-info.java: -------------------------------------------------------------------------------- 1 | package de.eventsourcingbook.cart; -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartAutomationProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartAutomationProcessor.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartCommandHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartCommandHandler.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/PublishCartRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/contract/ExternalPublishedCart.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/publishcart/internal/contract/ExternalPublishedCart.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/removeitem/internal/RemoveItemRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/removeitem/internal/RemoveItemRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/submitcart/internal/SubmitCartRessource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/submitcart/internal/SubmitCartRessource.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/support/UUIDToStringConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/support/UUIDToStringConverter.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/support/internal/debug/EventsDebugController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/kotlin/de/eventsourcingbook/cart/support/internal/debug/EventsDebugController.kt -------------------------------------------------------------------------------- /src/main/kotlin/de/eventsourcingbook/cart/support/package-info.java: -------------------------------------------------------------------------------- 1 | package de.eventsourcingbook.cart.support; 2 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/resources/application.yml -------------------------------------------------------------------------------- /src/main/resources/db/migration/V20240101__initial.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/resources/db/migration/V20240101__initial.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V20240102__inventories.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/resources/db/migration/V20240102__inventories.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V20240103__carts_with_products.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/resources/db/migration/V20240103__carts_with_products.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V20240104__publish_cart.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/main/resources/db/migration/V20240104__publish_cart.sql -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/ApplicationStarter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/ApplicationStarter.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/ModuleTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/ModuleTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/additem/AdditemAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/additem/AdditemAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/additem/Max3itemspercartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/additem/Max3itemspercartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/archiveitem/ArchiveItemAggregateTestAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/archiveitem/ArchiveItemAggregateTestAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/archiveitem/integration/ArchiveItemProcessorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/archiveitem/integration/ArchiveItemProcessorTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/cartitems/integration/CartItemsUpcasterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/cartitems/integration/CartItemsUpcasterTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/cartitems/integration/CartitemsReadModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/cartitems/integration/CartitemsReadModelTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/cartwithproducts/integration/CartwithproductsReadModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/cartwithproducts/integration/CartwithproductsReadModelTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/changeinventory/ChangeinventoryAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/changeinventory/ChangeinventoryAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/changeprice/ChangepriceAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/changeprice/ChangepriceAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/changeprice/integration/ChangepriceProcessorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/changeprice/integration/ChangepriceProcessorTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/clearcart/ClearcartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/clearcart/ClearcartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/common/support/BaseIntegrationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/common/support/BaseIntegrationTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/common/support/DbLogTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/common/support/DbLogTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/common/support/KafkaAssertions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/common/support/KafkaAssertions.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/common/support/RandomData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/common/support/RandomData.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/common/support/StreamAssertions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/common/support/StreamAssertions.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/inventories/integration/InventoriesReadModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/inventories/integration/InventoriesReadModelTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/publishcart/PublishcartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/publishcart/PublishcartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/publishcart/PublishunsubmittedcartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/publishcart/PublishunsubmittedcartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/publishcart/RepublishcartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/publishcart/RepublishcartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/publishcart/integration/PublishcartProcessorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/publishcart/integration/PublishcartProcessorTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/removeitem/RemoveitemAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/removeitem/RemoveitemAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/removeitem/RemoveitemwhichwasalreadyremovedAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/removeitem/RemoveitemwhichwasalreadyremovedAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/submitcart/SubmitcartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/submitcart/SubmitcartAggregateTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/de/eventsourcingbook/cart/submitcart/SubmitemptycartAggregateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dilgerma/eventsourcing-book/HEAD/src/test/kotlin/de/eventsourcingbook/cart/submitcart/SubmitemptycartAggregateTest.kt --------------------------------------------------------------------------------