feat: implement recipe analysis service and data models
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / test (24.15.0) (push) Has been cancelled
- Added RecipeAnalysisService to handle recipe ingredient analysis, including methods for checking ingredient availability and calculating quantities. - Introduced new TypeScript definitions for recipe analysis results, including ingredient status and summary. - Created corresponding Dart models for recipe analysis, including RecipeIngredientAnalysis, RecipeAnalysisSummary, and RecipeShoppingCandidate. - Updated Flutter UI to reflect changes in ingredient availability status. - Fixed color opacity issue in recipe image card.
This commit is contained in:
+16
-2
@@ -22,6 +22,7 @@ const parse_markdown_dto_1 = require("./dto/parse-markdown.dto");
|
||||
const current_user_decorator_1 = require("../auth/decorators/current-user.decorator");
|
||||
const share_recipe_dto_1 = require("./dto/share-recipe.dto");
|
||||
const set_recipe_visibility_dto_1 = require("./dto/set-recipe-visibility.dto");
|
||||
const recipe_analysis_service_1 = require("./recipe-analysis.service");
|
||||
class UpdateImageDto {
|
||||
}
|
||||
__decorate([
|
||||
@@ -29,8 +30,9 @@ __decorate([
|
||||
__metadata("design:type", String)
|
||||
], UpdateImageDto.prototype, "sourceUrl", void 0);
|
||||
let RecipesController = class RecipesController {
|
||||
constructor(recipesService) {
|
||||
constructor(recipesService, recipeAnalysisService) {
|
||||
this.recipesService = recipesService;
|
||||
this.recipeAnalysisService = recipeAnalysisService;
|
||||
}
|
||||
parseMarkdown(dto) {
|
||||
return this.recipesService.parseMarkdown(dto);
|
||||
@@ -44,6 +46,9 @@ let RecipesController = class RecipesController {
|
||||
getInventoryPreview(id, user) {
|
||||
return this.recipesService.getInventoryPreview(id, user.userId);
|
||||
}
|
||||
getRecipeAnalysis(id, user) {
|
||||
return this.recipeAnalysisService.analyzeRecipeIngredients(id, user.userId);
|
||||
}
|
||||
findOne(id, user) {
|
||||
return this.recipesService.findOne(id, user.userId);
|
||||
}
|
||||
@@ -102,6 +107,14 @@ __decorate([
|
||||
__metadata("design:paramtypes", [Number, Object]),
|
||||
__metadata("design:returntype", void 0)
|
||||
], RecipesController.prototype, "getInventoryPreview", null);
|
||||
__decorate([
|
||||
(0, common_1.Get)(':id/analysis'),
|
||||
__param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
|
||||
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [Number, Object]),
|
||||
__metadata("design:returntype", void 0)
|
||||
], RecipesController.prototype, "getRecipeAnalysis", null);
|
||||
__decorate([
|
||||
(0, common_1.Get)(':id'),
|
||||
__param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
|
||||
@@ -183,6 +196,7 @@ __decorate([
|
||||
], RecipesController.prototype, "unshareRecipe", null);
|
||||
exports.RecipesController = RecipesController = __decorate([
|
||||
(0, common_1.Controller)('recipes'),
|
||||
__metadata("design:paramtypes", [recipes_service_1.RecipesService])
|
||||
__metadata("design:paramtypes", [recipes_service_1.RecipesService,
|
||||
recipe_analysis_service_1.RecipeAnalysisService])
|
||||
], RecipesController);
|
||||
//# sourceMappingURL=recipes.controller.js.map
|
||||
Reference in New Issue
Block a user