feat(t214): persist candidate observation identities

This commit is contained in:
QiuSW
2026-07-28 12:21:55 +08:00
parent acd3c85b5b
commit 56e7a2be33
29 changed files with 622 additions and 94 deletions
@@ -449,7 +449,7 @@ func candidateDecisionDatasetResponse(
) gin.H {
observations := make([]gin.H, 0, len(dataset.Observations))
for _, observation := range dataset.Observations {
observations = append(observations, gin.H{
item := gin.H{
"ordinal": observation.Ordinal,
"title": observation.Title,
"sku_text": observation.SKUText,
@@ -459,7 +459,19 @@ func candidateDecisionDatasetResponse(
"evidence_asset_ids": observation.EvidenceAssetIDs,
"collection_status": observation.CollectionStatus,
"observed_at": formatTime(observation.ObservedAt),
})
}
if identity := observation.Identity; identity != nil {
item["identity"] = gin.H{
"candidate_key": identity.CandidateKey,
"identity_version": identity.IdentityVersion,
"card_signature": identity.CardSignature,
"detail_signature": identity.DetailSignature,
"detail_evidence_sha256": identity.DetailEvidenceSHA256,
"specification_evidence_sha256": identity.SpecificationEvidenceSHA256,
"created_at": formatTime(identity.CreatedAt),
}
}
observations = append(observations, item)
}
evaluations := make([]gin.H, 0, len(dataset.Evaluations))
for _, evaluation := range dataset.Evaluations {