feat: add unit mapping functionality
Test Suite / test (24.15.0) (push) Has been cancelled

- Added new API path for unit mappings in `api_paths.dart`.
- Implemented `upsertUnitMapping` method in `ImportRepository` to handle unit mapping creation.
- Updated `ReceiptImportTab` to learn and save unit mappings during receipt import.
- Created DTO for unit mapping with validation in `create-unit-mapping.dto.ts`.
- Added SQL migration for `UnitMapping` table creation with necessary constraints.
This commit is contained in:
Nils-Johan Gynther
2026-05-07 10:00:42 +02:00
parent 26823fbf35
commit a68a0ca86f
35 changed files with 558 additions and 24 deletions
+2 -1
View File
@@ -77,6 +77,7 @@ let RecipeAnalysisService = class RecipeAnalysisService {
});
const pantryProductIds = new Set(pantryItems.map((p) => p.productId));
const userInventory = await this.prisma.inventoryItem.findMany({
where: { product: { ownerId: userId } },
select: { productId: true },
});
const availableProductIds = new Set([
@@ -142,7 +143,7 @@ let RecipeAnalysisService = class RecipeAnalysisService {
};
}
const inventoryItems = await this.prisma.inventoryItem.findMany({
where: { productId: ingredient.productId },
where: { productId: ingredient.productId, product: { ownerId: userId } },
select: { quantity: true, unit: true },
});
const availableQuantity = this.calculateAvailableQuantity(inventoryItems, requiredUnit);
File diff suppressed because one or more lines are too long