feat(timeplanning): carry OverMidnight per-site flag (proto + gRPC)#1613
Conversation
The gRPC layer already mapped site.OverMidnight, but the three
new Site { } initializers in TimeSettingService dropped it, so the
coworker list always returned over_midnight=false. Set it from the
base AssignedSite entity (OverMidnight column in TimePlanningBase 10.0.52).
There was a problem hiding this comment.
✅ Ready to approve
The OverMidnight flag is consistently added across models, proto contracts, and gRPC/server mappings without introducing behavioral changes server-side.
Note: this review does not count toward required approvals for merging.
Pull request overview
This PR propagates the new per-site OverMidnight flag (introduced upstream in Microting.TimePlanningBase) through the TimePlanning plugin’s C# settings models, protobuf contracts, and gRPC mappings so clients can reliably read the value (defaulting to false).
Changes:
- Bumps
Microting.TimePlanningBasefrom10.0.51to10.0.52. - Adds
OverMidnightto the plugin’sAssignedSiteand coworkerSiteC# settings models (including the implicit conversion forAssignedSite). - Extends
settings.protoand maps the new field inTimePlanningSettingsGrpcServiceand in the three coworker-site assemblers inTimeSettingService.
File summaries
| File | Description |
|---|---|
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/TimePlanning.Pn.csproj | Updates dependency to Microting.TimePlanningBase 10.0.52. |
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs | Carries assignedSite.OverMidnight into coworker Site objects in kiosk/active/resigned loops. |
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/GrpcServices/TimePlanningSettingsGrpcService.cs | Maps OverMidnight into gRPC AssignedSite response and both coworker-site response loops. |
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Protos/settings.proto | Adds over_midnight fields to AssignedSite (163) and Site (24). |
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/Site.cs | Adds OverMidnight property to coworker Site model. |
| eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/Settings/AssignedSite.cs | Adds OverMidnight property and includes it in implicit conversion mapping. |
Copilot's findings
- Files reviewed: 6/6 changed files
- Comments generated: 0
Note
Your feedback helps us improve the quality of this feature.
Please use 👍 or 👎 to tell us whether this assessment is correct.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Phase B of the per-site OverMidnight feature. Carries the new
AssignedSite.OverMidnightflag (added in Microting.TimePlanningBase 10.0.52) through the plugin contracts:Microting.TimePlanningBase→ 10.0.52OverMidnighton theAssignedSitemodel (+ implicit operator) and the coworkerSitemodelover_midnightproto field onAssignedSite(163) andSite(24)OverMidnight = assignedSite.OverMidnightin the threenew Site{}assemblers in TimeSettingService (kiosk / active / resigned) so the coworker contract isn't silently falseServer only carries the flag; the behavior change is client-side (flutter-time Phase C). Default false.
Spec: flutter-time/docs/superpowers/specs/2026-06-17-over-midnight-per-site-flag-design.md
🤖 Generated with Claude Code