Summary
The Data Custodian admin needs a UI to compose and send an ESPI BatchList notification to a Third Party. The BatchList must be able to carry valid resource URLs for an ApplicationInformation, an Authorization feed, an Authorization entry, and a Subscription.
This re-activates the legacy "Notify Third Party" capability on the modern portal, built on the #158 notification contract (BatchListDto / BatchListXmlCodec / NotificationService).
Scope
NotificationService.notifyBatchList(thirdPartyNotificationUri, List<String> resourceUris) — synchronous send (marshal BatchListDto via BatchListXmlCodec, POST application/atom+xml), surfacing success/failure to the caller.
- Custodian admin page
GET /custodian/notifications (form) + POST /custodian/notifications/send:
- Target: the Third Party notification URL (pre-fillable from an ApplicationInformation's
thirdPartyNotifyUri).
- Resource URLs: ApplicationInformation, Authorization feed, Authorization entry, Subscription (blank fields are omitted).
- Dashboard card + nav entry.
@PreAuthorize("hasRole('ROLE_CUSTODIAN')").
- Unit test for the new service method.
Acceptance
An admin can submit the four URLs to a target and the DC POSTs a valid ESPI BatchList (Atom) to that endpoint; success/failure is shown.
Summary
The Data Custodian admin needs a UI to compose and send an ESPI BatchList notification to a Third Party. The BatchList must be able to carry valid resource URLs for an ApplicationInformation, an Authorization feed, an Authorization entry, and a Subscription.
This re-activates the legacy "Notify Third Party" capability on the modern portal, built on the #158 notification contract (
BatchListDto/BatchListXmlCodec/NotificationService).Scope
NotificationService.notifyBatchList(thirdPartyNotificationUri, List<String> resourceUris)— synchronous send (marshalBatchListDtoviaBatchListXmlCodec, POSTapplication/atom+xml), surfacing success/failure to the caller.GET /custodian/notifications(form) +POST /custodian/notifications/send:thirdPartyNotifyUri).@PreAuthorize("hasRole('ROLE_CUSTODIAN')").Acceptance
An admin can submit the four URLs to a target and the DC POSTs a valid ESPI BatchList (Atom) to that endpoint; success/failure is shown.