RiskLabelOut class

Constructors

RiskLabelOut({int? duplicate, String? mirror, int? pending, int? recorded, int? refused, List<RiskLabelResult> results = const []})
Returns a new RiskLabelOut instance.

Properties

duplicate ↔ int?
Duplicate is how many members this tenant already held, byte for byte. The idempotency key is the assertion's CONTENT digest — kind, subject, at, seen, disposition, source, evidence, the asserting identity and confidence, folded in length-prefixed — so a webhook redelivering one chargeback is a duplicate and costs nothing, while an assertion differing in ANY of those fields is a DIFFERENT assertion and is recorded beside the first. Nothing was written and nothing was overwritten; it is an outcome, never an error. The asserting identity is in the digest, so the same claim filed by a second credential is two assertions and not a redelivery.
getter/setter pair
hashCode → int
The hash code for this object.
no setteroverride
mirror ↔ String?
Mirror names why the columnar copy did not take this batch, when it did not. The record is already durable in the tenant's own store by then — the warehouse copy exists to make a training join cheap, and its absence is a gap in that join, never a lost label.
getter/setter pair
pending ↔ int?
Pending is how many assertions the derived copy is still to take. Every write attempt carries the backlog forward as well as its own batch, so a warehouse that was unreachable closes its gap on the next write rather than leaving a hole in a training join nothing would report. It is counted under a cap and saturates there: zero means caught up, and a large number means a backlog to work through rather than an inventory to reconcile.
getter/setter pair
recorded ↔ int?
Recorded is how many members became a NEW row in the tenant's record. Recorded + Duplicate + Refused is exactly the number of labels sent, so a caller reconciling a webhook delivery can do it on the counts alone.
getter/setter pair
refused ↔ int?
Refused is how many members failed admission and were NOT recorded. Refusal is per member and never discards the rest of the batch: an empty or over-512-byte subject or evidence, a kind, disposition or source outside the closed vocabulary, an at or seen that is not RFC 3339, a seen before the at it judges, either instant more than five minutes past the server clock, or a confidence outside 0,1. Results names which member and why, so the refused ones are exactly the ones to fix and resend.
getter/setter pair
results ↔ List<RiskLabelResult>
Results is per fact, in the order sent, so a caller can retry exactly the members that were refused and can log the content digest of the ones that landed.
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override

Static Methods

fromJson(dynamic value) → RiskLabelOut?
Returns a new RiskLabelOut instance and imports its values from value if it's a Map, null otherwise.
listFromJson(dynamic json, {bool growable = false}) → List<RiskLabelOut>
mapFromJson(dynamic json) → Map<String, RiskLabelOut>
mapListFromJson(dynamic json, {bool growable = false}) → Map<String, List<RiskLabelOut>>

Constants

requiredKeys → const Set<String>
The list of required keys that must be present in a JSON.