feat(fm): store the zones a partner offers (#23)

Nothing recorded partner zones, so SRM had no way to tell a federated zone from an unknown one, and an outbound InstallApp had no zone id to send.

Adds shared_resource_catalogues (migration 0004) and fills it from the offeredAvailabilityZones a partner returns on CreateFederation. Each zone gets a UUID derived from the partner and the partner's own zone id, so a re-sync is a plain replace that keeps ids stable, and a restored fm_db keeps the ids OEG and App Providers hold.

SRM reads them through GET /internal/federated-zones and /internal/federated-zones/{zone_id}, which answers a GSMA problem+json 404 when no partner offers the zone. The partner's opaque zone id stays inside FM.

INBOUND and OUTBOUND now live once in the domain instead of being redefined in five application modules.

Merge request reports

Loading
Loading