04b1fc3024
Test Suite / test (24.15.0) (push) Has been cancelled
- Added a new API path for rematching recipe ingredients in `api_paths.dart`. - Implemented a manual product creation dialog in `inventory_screen.dart` to allow users to create new products directly. - Integrated the rematch functionality in `recipe_repository.dart` to handle rematching of recipe ingredients. - Updated the recipe detail screen to include a button for triggering the rematch process. - Introduced a new `RecipeMatchingService` in the backend to handle ingredient matching logic. - Added database migration to include `aiEngineEnabled` column in the User table. Co-authored-by: Copilot <copilot@github.com>
120 lines
3.7 KiB
TypeScript
120 lines
3.7 KiB
TypeScript
import { UserProductsService } from './user-products.service';
|
|
import { UpsertUserProductDto } from './dto/upsert-user-product.dto';
|
|
export declare class UserProductsController {
|
|
private readonly service;
|
|
constructor(service: UserProductsService);
|
|
findAll(user: {
|
|
userId: number;
|
|
}): import(".prisma/client").Prisma.PrismaPromise<({
|
|
product: {
|
|
nutrition: {
|
|
id: number;
|
|
productId: number;
|
|
calories: number | null;
|
|
protein: number | null;
|
|
fat: number | null;
|
|
carbohydrates: number | null;
|
|
salt: number | null;
|
|
sugar: number | null;
|
|
fiber: number | null;
|
|
} | null;
|
|
tags: ({
|
|
tag: {
|
|
name: string;
|
|
id: number;
|
|
};
|
|
} & {
|
|
productId: number;
|
|
tagId: number;
|
|
})[];
|
|
} & {
|
|
name: string;
|
|
category: string | null;
|
|
status: string;
|
|
id: number;
|
|
categoryId: number | null;
|
|
normalizedName: string;
|
|
canonicalName: string | null;
|
|
isActive: boolean;
|
|
deletedAt: Date | null;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
ownerId: number;
|
|
isPrivate: boolean;
|
|
};
|
|
} & {
|
|
id: number;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
isPrivate: boolean;
|
|
productId: number;
|
|
userId: number;
|
|
note: string | null;
|
|
preferredBrand: string | null;
|
|
preferredStore: string | null;
|
|
})[]>;
|
|
upsert(user: {
|
|
userId: number;
|
|
}, dto: UpsertUserProductDto): import(".prisma/client").Prisma.Prisma__UserProductClient<{
|
|
product: {
|
|
nutrition: {
|
|
id: number;
|
|
productId: number;
|
|
calories: number | null;
|
|
protein: number | null;
|
|
fat: number | null;
|
|
carbohydrates: number | null;
|
|
salt: number | null;
|
|
sugar: number | null;
|
|
fiber: number | null;
|
|
} | null;
|
|
tags: ({
|
|
tag: {
|
|
name: string;
|
|
id: number;
|
|
};
|
|
} & {
|
|
productId: number;
|
|
tagId: number;
|
|
})[];
|
|
} & {
|
|
name: string;
|
|
category: string | null;
|
|
status: string;
|
|
id: number;
|
|
categoryId: number | null;
|
|
normalizedName: string;
|
|
canonicalName: string | null;
|
|
isActive: boolean;
|
|
deletedAt: Date | null;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
ownerId: number;
|
|
isPrivate: boolean;
|
|
};
|
|
} & {
|
|
id: number;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
isPrivate: boolean;
|
|
productId: number;
|
|
userId: number;
|
|
note: string | null;
|
|
preferredBrand: string | null;
|
|
preferredStore: string | null;
|
|
}, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>;
|
|
remove(user: {
|
|
userId: number;
|
|
}, productId: number): import(".prisma/client").Prisma.Prisma__UserProductClient<{
|
|
id: number;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
isPrivate: boolean;
|
|
productId: number;
|
|
userId: number;
|
|
note: string | null;
|
|
preferredBrand: string | null;
|
|
preferredStore: string | null;
|
|
}, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>;
|
|
}
|