Enforce current approval access and fresh password confirmation - #1012
Closed
sridharkalaibala wants to merge 1 commit into
Closed
sridharkalaibala wants to merge 1 commit into
sridharkalaibala wants to merge 1 commit into
Conversation
This was referenced Sep 28, 2026
Contributor
Author
|
The complete Business companion stack, including this change, is integrated into develop through #1023. All checks, including CodeQL, passed before merge. Closing this superseded stacked PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expose scoped Business discount list/detail/decision routes behind
POSNIC_BUSINESS_DECISIONS=1. Owners or explicitly authorized staff can review requests only within current branch access and discount ceilings. Ordinary till discount permission does not grant remote approval; the explicit permission is editable on existing role/user pages.Decisions require recent verified password evidence from the same account. Cloud ambient browser consent does not qualify. A short-lived confirmation session can confirm a decision while the durable record retains the original phone session. New execution claims recheck that session and current permission; accepted retries and receipt-only recovery cannot execute the sale twice.
Stacked on #1011, with companion Cloud/Gateway/mobile changes. The default-off gate remains: cashier/controller integration, authenticated device transport, durable recovery, notifications and live rollout are still pending. Generated API documentation now contains 733 endpoints.
Validation: 20 real-Mongo access/decision/sale-preview tests; 167 role/user unit tests; 55 language and sync-classification tests; lint, formatting, attribution and generated API documentation checks. The broad desktop run passed 3,477 tests with five platform skips; its six failures were resolved by adding the Dutch permission label and preparing the local dependency/build/Bash environment, then all 23 cases in those affected suites passed. The real frontend assets build and rollback drill passed. No production enablement or physical till-to-phone qualification is claimed.