Class SchemaChangeEntry
- Namespace
- Kuestenlogik.Bowire.Models
- Assembly
- Kuestenlogik.Bowire.dll
One detected schema change, as observed by the workbench's schema watch (#185). Entries are append-only: the watch client posts the delta of each poll, and the store prunes anything older than the retention window. Identity is by name, not by object reference — Service and Method carry the same keys the Discover sidebar uses (service name + method fullName), so a click on a logged change can navigate back to the live method.
public sealed record SchemaChangeEntry : IEquatable<SchemaChangeEntry>
- Inheritance
-
SchemaChangeEntry
- Implements
- Inherited Members
Constructors
SchemaChangeEntry(DateTimeOffset, string, string)
One detected schema change, as observed by the workbench's schema watch (#185). Entries are append-only: the watch client posts the delta of each poll, and the store prunes anything older than the retention window. Identity is by name, not by object reference — Service and Method carry the same keys the Discover sidebar uses (service name + method fullName), so a click on a logged change can navigate back to the live method.
public SchemaChangeEntry(DateTimeOffset At, string Type, string Service)
Parameters
AtDateTimeOffsetTypestringServicestring
Fields
TypeAdded
Change classification. One of added / removed /
signature / deprecation / annotation —
mirrored by the workbench's diff classifier in api.js.
public const string TypeAdded = "added"
Field Value
TypeAnnotation
See TypeAdded.
public const string TypeAnnotation = "annotation"
Field Value
TypeDeprecation
See TypeAdded.
public const string TypeDeprecation = "deprecation"
Field Value
TypeRemoved
See TypeAdded.
public const string TypeRemoved = "removed"
Field Value
TypeSignature
See TypeAdded.
public const string TypeSignature = "signature"
Field Value
Properties
At
public DateTimeOffset At { get; init; }
Property Value
Detail
Short human-readable explanation of what moved, e.g.
"route GET /pets → POST /pets" or
"marked deprecated". Optional.
public string? Detail { get; init; }
Property Value
Method
Method fullName within Service. Null for service-level changes (a whole service appeared / vanished).
public string? Method { get; init; }
Property Value
Service
public string Service { get; init; }
Property Value
Type
public string Type { get; init; }
Property Value
Methods
Deconstruct(out DateTimeOffset, out string, out string)
public void Deconstruct(out DateTimeOffset At, out string Type, out string Service)
Parameters
AtDateTimeOffsetTypestringServicestring
Equals(SchemaChangeEntry?)
public bool Equals(SchemaChangeEntry? other)
Parameters
otherSchemaChangeEntry
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
IsKnownType(string?)
True when type is a known change classification.
public static bool IsKnownType(string? type)
Parameters
typestring
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(SchemaChangeEntry?, SchemaChangeEntry?)
public static bool operator ==(SchemaChangeEntry? left, SchemaChangeEntry? right)
Parameters
leftSchemaChangeEntryrightSchemaChangeEntry
Returns
operator !=(SchemaChangeEntry?, SchemaChangeEntry?)
public static bool operator !=(SchemaChangeEntry? left, SchemaChangeEntry? right)
Parameters
leftSchemaChangeEntryrightSchemaChangeEntry