diff --git a/backend/src/main/java/de/effigenix/infrastructure/stub/StubRecipeRepository.java b/backend/src/main/java/de/effigenix/infrastructure/stub/StubRecipeRepository.java new file mode 100644 index 0000000..ee23508 --- /dev/null +++ b/backend/src/main/java/de/effigenix/infrastructure/stub/StubRecipeRepository.java @@ -0,0 +1,45 @@ +package de.effigenix.infrastructure.stub; + +import de.effigenix.domain.production.Recipe; +import de.effigenix.domain.production.RecipeId; +import de.effigenix.domain.production.RecipeRepository; +import de.effigenix.shared.common.RepositoryError; +import de.effigenix.shared.common.Result; +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +@Profile("no-db") +public class StubRecipeRepository implements RecipeRepository { + + private static final RepositoryError.DatabaseError STUB_ERROR = + new RepositoryError.DatabaseError("Stub-Modus: keine Datenbankverbindung"); + + @Override + public Result> findById(RecipeId id) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result> findAll() { + return Result.failure(STUB_ERROR); + } + + @Override + public Result save(Recipe recipe) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result delete(Recipe recipe) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result existsByNameAndVersion(String name, int version) { + return Result.failure(STUB_ERROR); + } +} diff --git a/backend/src/main/java/de/effigenix/infrastructure/stub/StubStorageLocationRepository.java b/backend/src/main/java/de/effigenix/infrastructure/stub/StubStorageLocationRepository.java new file mode 100644 index 0000000..4f6c508 --- /dev/null +++ b/backend/src/main/java/de/effigenix/infrastructure/stub/StubStorageLocationRepository.java @@ -0,0 +1,57 @@ +package de.effigenix.infrastructure.stub; + +import de.effigenix.domain.inventory.StorageLocation; +import de.effigenix.domain.inventory.StorageLocationId; +import de.effigenix.domain.inventory.StorageLocationName; +import de.effigenix.domain.inventory.StorageLocationRepository; +import de.effigenix.domain.inventory.StorageType; +import de.effigenix.shared.common.RepositoryError; +import de.effigenix.shared.common.Result; +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +@Profile("no-db") +public class StubStorageLocationRepository implements StorageLocationRepository { + + private static final RepositoryError.DatabaseError STUB_ERROR = + new RepositoryError.DatabaseError("Stub-Modus: keine Datenbankverbindung"); + + @Override + public Result> findById(StorageLocationId id) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result> findAll() { + return Result.failure(STUB_ERROR); + } + + @Override + public Result> findByStorageType(StorageType storageType) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result> findActive() { + return Result.failure(STUB_ERROR); + } + + @Override + public Result existsByName(StorageLocationName name) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result existsByNameAndIdNot(StorageLocationName name, StorageLocationId id) { + return Result.failure(STUB_ERROR); + } + + @Override + public Result save(StorageLocation location) { + return Result.failure(STUB_ERROR); + } +}