first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
namespace SequenceAuth.Lib;
|
||||
|
||||
public enum SequenceState
|
||||
{
|
||||
Initialized,
|
||||
Active,
|
||||
Rotated,
|
||||
Compromised
|
||||
}
|
||||
|
||||
public enum ValidationOutcome
|
||||
{
|
||||
Success,
|
||||
SequenceNotFound,
|
||||
LimitExceeded,
|
||||
CompromisedSequenceDetected,
|
||||
InternalError
|
||||
}
|
||||
|
||||
public enum OptionState
|
||||
{
|
||||
Some,
|
||||
None
|
||||
}
|
||||
|
||||
public record Option<T>(T? Value, OptionState State)
|
||||
{
|
||||
public static Option<T> Some(T value) => new(value, OptionState.Some);
|
||||
public static Option<T> None() => new(default, OptionState.None);
|
||||
}
|
||||
|
||||
public enum StoreOutcome
|
||||
{
|
||||
Success,
|
||||
Failure
|
||||
}
|
||||
|
||||
public record SequenceData(string UserId, int RequestsRemaining, SequenceState State, string NextSequenceId);
|
||||
Reference in New Issue
Block a user