+158
−0
+58
−0
Loading
FM checked agreements on every partner request but nothing could write
one, so a partner never saw a zone offered and InstallApp always failed
the agreement check. POST /internal/agreements stores one with the
federation_agreements columns as fields; PATCH /internal/agreements/{id}
changes status, usage limits and validity, the parts the spec lets an
update touch. Other terms take a new agreement.
Zone terms are checked against the GSMA ZoneTerms model when written,
and only for zones the agreement permits, since zone offers drop a zone
whose terms don't validate. GET /internal/partners/{id} now embeds the
partner's agreements, oldest first; the list endpoint doesn't.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>