Interface ExternalDatabaseReleaseAuditService
- All Known Implementing Classes:
ExternalDatabaseReleaseAuditServiceImpl
public interface ExternalDatabaseReleaseAuditService
Co-bean carrying the
@Audited hook for
ReleaseDetailsUpdateEvent writes. Exists so the audit aspect can
intercept emission for the two release-update entry points on
ExternalDatabaseService -- the previous imperative
auditTrailService.addUpdateEvent(ed, ReleaseDetailsUpdateEvent.class,
note, detail, lastUpdated) 5-arg form is not expressible through the
declarative aspect today (the aspect writes via
addUpdateEventWithPayload which sets performedDate=now()).
Phase C bucket 2g (audit-residual inventory #9 + #10):
migrates the imperative call to an @Audited-decorated method on
this helper bean. The legacy 5-arg form's explicit
performedDate=lastUpdated semantics shift to now() for
the audit row; the original lastUpdated is preserved verbatim
inside the JSON payload (and on the entity itself, via
ExternalDatabase.lastUpdated).
-
Method Summary
Modifier and TypeMethodDescriptionvoidrecordReleaseDetailsUpdate(ExternalDatabase ed, String note, ReleaseDetailsUpdatePayload payload) Emit aReleaseDetailsUpdateEventfor the given external database.
-
Method Details
-
recordReleaseDetailsUpdate
void recordReleaseDetailsUpdate(ExternalDatabase ed, @Nullable String note, ReleaseDetailsUpdatePayload payload) Emit aReleaseDetailsUpdateEventfor the given external database. The aspect picks theExternalDatabaseas the audit target, serialisespayloadintoAUDIT_EVENT.PAYLOAD, and storesnoteinAUDIT_EVENT.NOTE.- Parameters:
ed- the auditable targetnote- short note (may benull-- e.g. background refreshes fromGeneMultifunctionalityPopulationServiceImplsupply a descriptive note; manual updates may omit it)payload- structured release context; carriesreleaseVersion,releaseUrl,lastUpdatedand the transitiondetail
-