fix: Instant Book: Cleans up issue with caching#433
Conversation
API Specification - Non-breaking changesAPI Changelog 1 vs. 1API ChangesPOST /v2/slides/{id}/action
|
turegjorup
left a comment
There was a problem hiding this comment.
LGTM. Bug fixes (interval boundary, timezone, spam-protect, duration validation, error mapping) and the DTO refactor look correct.
One non-blocking nit, pre-existing but in a file touched here: InteractiveServiceTest::testPerformAction lines 86–91 are unreachable — performAction() on line 84 throws and ends the test, so the second scenario never runs, and the expected message 'Action not allowed' doesn't match what InstantBook::performAction() throws ('Action not supported'). Worth splitting into two test methods or dropping the dead branch in a follow-up.
| } | ||
|
|
||
| $url = $data['@odata.nextLink'] ?? null; | ||
| } while (null !== $url); |
There was a problem hiding this comment.
Non-blocking: Graph's @odata.nextLink is followed with GET, not a POST with the original body. Unlikely to fire on 1-hour windows, but if it ever does the second iteration will probably 4xx. Worth either a comment noting the assumption, or switching to GET (no body) when $url came from nextLink.
There was a problem hiding this comment.
Removed after inspecting spec
Link to isse
#436
Link to ticket
https://leantime.itkdev.dk/#/tickets/showTicket/7208
Description
Cleans up issue with Instant Book caching and fixed other bugs.
Checklist
Changes
Controller uses a typed DTO:
InstantBook bug fixes
Performance / cache
Risk notes