Class BowireUserMigrationReceipt

Namespace
Kuestenlogik.Bowire.Auth
Assembly
Kuestenlogik.Bowire.dll

The record that a migration was decided, written into the slot it concerns.

public sealed class BowireUserMigrationReceipt
Inheritance
BowireUserMigrationReceipt
Inherited Members

Remarks

In the slot rather than in a central log, so that deleting an identity deletes its receipt too: a central index of people who used to exist is state nobody asked Bowire to keep. It is still an audit trail — it names the subject, what was copied, from where, and when.

Constructors

BowireUserMigrationReceipt()

public BowireUserMigrationReceipt()

Properties

Bytes

How many bytes were copied. Zero for a refusal.

[JsonPropertyName("bytes")]
public long Bytes { get; init; }

Property Value

long

DecidedUtc

When, in UTC.

[JsonPropertyName("decidedUtc")]
public required DateTimeOffset DecidedUtc { get; init; }

Property Value

DateTimeOffset

Files

How many files were copied. Zero for a refusal.

[JsonPropertyName("files")]
public int Files { get; init; }

Property Value

int

Mode

The mode in force when the decision was made.

[JsonPropertyName("mode")]
[JsonConverter(typeof(JsonStringEnumConverter<BowireUserMigrationMode>))]
public BowireUserMigrationMode Mode { get; init; }

Property Value

BowireUserMigrationMode

Outcome

Accepted or refused.

[JsonPropertyName("outcome")]
[JsonConverter(typeof(JsonStringEnumConverter<BowireUserMigrationOutcome>))]
public required BowireUserMigrationOutcome Outcome { get; init; }

Property Value

BowireUserMigrationOutcome

Source

Where the state came from.

[JsonPropertyName("source")]
public required string Source { get; init; }

Property Value

string

Subject

The identity that decided.

[JsonPropertyName("subject")]
public required string Subject { get; init; }

Property Value

string