Skip to content

Fix recipe library enrich and image fetch handling#271

Merged
TienNguyen3711 merged 1 commit into
masterfrom
fix/admin-recipe-library-enrich-api
May 13, 2026
Merged

Fix recipe library enrich and image fetch handling#271
TienNguyen3711 merged 1 commit into
masterfrom
fix/admin-recipe-library-enrich-api

Conversation

@datnq2001
Copy link
Copy Markdown
Collaborator

Normalize AI enrichment payloads returned by Gemini or Groq before storing them in the recipe library import queue. The parser now accepts common wrapper keys such as recipe, data, result, and enriched_payload, supports camelCase aliases, and flattens nutrition values so calories and macros are available to completeness checks.

Prevent empty manual import fields from overriding valid AI-enriched values. Manual input now only wins when an admin supplied a meaningful value, which stops blank import defaults from making completed AI payloads look incomplete.

Recompute missing fields from the exact payload being persisted and only mark a queue row enriched when required draft fields are present. Incomplete enrichments keep the row failed with a clear missing-field message while preserving the AI payload for review or retry.

Allow enriched queue rows to remain editable and cancellable so admins can correct or remove ready-to-approve items.

Centralize Unsplash key lookup and return a clear 503 configuration error when image fetching is requested without an Unsplash access key in the backend environment.

Normalize AI enrichment payloads returned by Gemini or Groq before storing them in the recipe library import queue. The parser now accepts common wrapper keys such as recipe, data, result, and enriched_payload, supports camelCase aliases, and flattens nutrition values so calories and macros are available to completeness checks.

Prevent empty manual import fields from overriding valid AI-enriched values. Manual input now only wins when an admin supplied a meaningful value, which stops blank import defaults from making completed AI payloads look incomplete.

Recompute missing fields from the exact payload being persisted and only mark a queue row enriched when required draft fields are present. Incomplete enrichments keep the row failed with a clear missing-field message while preserving the AI payload for review or retry.

Allow enriched queue rows to remain editable and cancellable so admins can correct or remove ready-to-approve items.

Centralize Unsplash key lookup and return a clear 503 configuration error when image fetching is requested without an Unsplash access key in the backend environment.
Copy link
Copy Markdown
Collaborator

@TienNguyen3711 TienNguyen3711 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@TienNguyen3711 TienNguyen3711 merged commit 45c2d0a into master May 13, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants