Files
recipe-app/backend/dist/receipt-import/receipt-import.service.d.ts
T
Nils-Johan Gynther a68a0ca86f
Test Suite / test (24.15.0) (push) Has been cancelled
feat: add unit mapping functionality
- 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.
2026-05-07 10:00:42 +02:00

27 lines
1.2 KiB
TypeScript

import { PrismaService } from '../prisma/prisma.service';
import { ParsedReceiptItem } from './dto/parsed-receipt-item.dto';
import { AiService } from '../ai/ai.service';
import { CategoriesService } from '../categories/categories.service';
export declare function isIgnoredReceiptName(value: string | null | undefined): boolean;
export declare class ReceiptImportService {
private readonly prisma;
private readonly aiService;
private readonly categoriesService;
private readonly logger;
private cachedCategories;
constructor(prisma: PrismaService, aiService: AiService, categoriesService: CategoriesService);
loadCategories(): Promise<void>;
parseReceipt(file: Express.Multer.File, _isPremium?: boolean, userId?: number): Promise<ParsedReceiptItem[]>;
upsertUnitMapping(userId: number, productId: number, originalUnit: string, preferredUnit: string): Promise<any>;
private parseReceiptViaImporter;
private matchProducts;
private findWordMatch;
private enrichWithAiCategories;
private shouldTraceDecision;
private resolvePorkCategory;
private resolveBreadCategory;
private applyHardCategoryOverrides;
private ruleBasedCategorySuggestion;
private applyContradictionGuard;
}