Project

General

Profile

Actions

Feature #372

open
NP NP

Dietary unblocked for real: IPD IDietaryOrderReadContract wired end to end (W9 D35)

Feature #372: Dietary unblocked for real: IPD IDietaryOrderReadContract wired end to end (W9 D35)

Added by Navya P. about 1 month ago. Updated 28 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
10/13/2026
Due date:
% Done:

0%

Estimated time:
Resolved By:

Description

D35 set out to build a DietaryOrder entity in IPD -- turned out to already exist, shipped on IPD dev months before ADR-0001 even started. A real implementation of IDietaryOrderReadContract (DietaryOrderLookupService + InternalDietaryOrdersController, 13 IPD tests) also already existed, but only on a dormant local branch (feat/canteen-admission-lookup) never opened as a PR.

Shipped across three repos, each on its own feature branch (dev untouched everywhere, per explicit instruction):

  1. nuvita-ipd: brought feat/canteen-admission-lookup current with dev (19 commits behind, clean merge, 1702/1702 tests green), pushed.
  2. nuvita-shared-kernel: brought feat/canteen-known-app current with dev (143 commits behind, clean merge, 1076/1076 tests green), pushed. New branch feat/canteen-dietary-order-http-client off it: HttpIpdServiceClient now implements IDietaryOrderReadContract (3rd interface on the existing client, same pattern as C2), calling IPD real endpoints. 15 new tests, 1091/1091 green.
  3. nuvita-canteen-management: swapped DI from UnimplementedDietaryOrderReadContract (thrown on every call since D27 -- no real diet order had ever flowed through this module) to the real AddIpdServiceClient registration. Deleted the module's own local-placeholder IDietaryOrderReadContract per its own doc comment's instruction ("delete this file... once the ADR is accepted"). Found and fixed a real naming collision this surfaced: the kernel branch also carries D29's draft IAttenderReadContract, colliding with this module's own local one of the same name -- resolved with using-aliases in 4 files, scoped narrowly (did not also swap attender identity to the real kernel contract -- separate task).

Full backend suite: 1434/1436 (2 pre-existing, unrelated, date-dependent Coupon_liability failures). Zero regressions across all three repos.

Still open: the dormant IPD branch and the two kernel branches are feature branches only, not yet opened as real PRs for review.

NP Updated by Navya P. about 1 month ago Actions #1

  • Status changed from New to Resolved
  • Resolved By set to Navya P.

Done. Three repos, three branches:

  • nuvita-ipd feat/canteen-admission-lookup -> c09d313f (brought current with dev, pushed)
  • nuvita-shared-kernel feat/canteen-known-app -> c48a56c (brought current with dev, pushed); new feat/canteen-dietary-order-http-client -> 05e4791 (the real client, pushed)
  • nuvita-canteen-management integration/canteen-v1 -> dcc9ba4 (DI swap + cleanup)

Full suite across all three: IPD 1702/1702, kernel 1091/1091, canteen-management 1434/1436 (2 pre-existing unrelated). Zero regressions.

Still open: none of the three feature branches have been opened as real PRs yet -- they exist and are current, but need someone to actually open them for review.

NP Updated by Navya P. about 1 month ago Actions #2

  • Assignee set to Navya P.

NP Updated by Navya P. 28 days ago Actions #3

Both outstanding PRs now opened. nuvita-ipd feat/canteen-admission-lookup was 8 commits behind dev, brought current (clean merge, 1771/1771 tests green), pushed, PR opened: github.com/nuvita-expericia/nuvita-ipd/pull/4. nuvita-shared-kernel feat/canteen-dietary-order-http-client was already current with dev and fully supersedes feat/canteen-known-app (confirmed via merge-base), so only one PR needed there: 1117/1117 tests green, PR opened: github.com/nuvita-expericia/nuvita-shared-kernel/pull/6. No PR needed for nuvita-canteen-management since that repo pushes straight to integration/canteen-v1 per standing convention. Nothing left open on this issue.

Actions

Also available in: PDF Atom