From 047c3e25888f80513834d4617ad99ad18b832c37 Mon Sep 17 00:00:00 2001 From: Simon Kuehn Date: Thu, 14 May 2026 04:30:42 +0000 Subject: [PATCH] feat: add repository interfaces (ports) for Article, ArticleType, Platform, Customer, Order --- .../Repository/ArticleRepositoryInterface.php | 27 +++++++++++++++++++ .../ArticleTypeRepositoryInterface.php | 20 ++++++++++++++ .../PlatformRepositoryInterface.php | 20 ++++++++++++++ .../CustomerRepositoryInterface.php | 19 +++++++++++++ .../Repository/OrderRepositoryInterface.php | 17 ++++++++++++ 5 files changed, 103 insertions(+) create mode 100644 src/Domain/Article/Repository/ArticleRepositoryInterface.php create mode 100644 src/Domain/Article/Repository/ArticleTypeRepositoryInterface.php create mode 100644 src/Domain/Channel/Repository/PlatformRepositoryInterface.php create mode 100644 src/Domain/Order/Repository/CustomerRepositoryInterface.php create mode 100644 src/Domain/Order/Repository/OrderRepositoryInterface.php diff --git a/src/Domain/Article/Repository/ArticleRepositoryInterface.php b/src/Domain/Article/Repository/ArticleRepositoryInterface.php new file mode 100644 index 0000000..634d1b4 --- /dev/null +++ b/src/Domain/Article/Repository/ArticleRepositoryInterface.php @@ -0,0 +1,27 @@ + */ + public function findByStatus(ArticleStatus $status): array; + + public function decrementStockAtomic(Uuid $articleId): bool; + + public function save(Article $article): void; + + public function remove(Article $article): void; +} diff --git a/src/Domain/Article/Repository/ArticleTypeRepositoryInterface.php b/src/Domain/Article/Repository/ArticleTypeRepositoryInterface.php new file mode 100644 index 0000000..2ddde25 --- /dev/null +++ b/src/Domain/Article/Repository/ArticleTypeRepositoryInterface.php @@ -0,0 +1,20 @@ + */ + public function findAll(): array; + + public function save(ArticleType $articleType): void; +} diff --git a/src/Domain/Channel/Repository/PlatformRepositoryInterface.php b/src/Domain/Channel/Repository/PlatformRepositoryInterface.php new file mode 100644 index 0000000..26a9426 --- /dev/null +++ b/src/Domain/Channel/Repository/PlatformRepositoryInterface.php @@ -0,0 +1,20 @@ + */ + public function findAll(): array; + + public function save(Platform $platform): void; +} diff --git a/src/Domain/Order/Repository/CustomerRepositoryInterface.php b/src/Domain/Order/Repository/CustomerRepositoryInterface.php new file mode 100644 index 0000000..b50f4bc --- /dev/null +++ b/src/Domain/Order/Repository/CustomerRepositoryInterface.php @@ -0,0 +1,19 @@ +