Skip to content

Commit 676cc36

Browse files
committed
remove StreamRevision completely.
1 parent 0f233b0 commit 676cc36

10 files changed

+12
-413
lines changed

src/KurrentDB.Client/Core/StreamPosition.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ public static StreamPosition FromInt64(long value) =>
3030
/// </summary>
3131
/// <param name="revision"></param>
3232
/// <returns></returns>
33-
public static StreamPosition FromStreamRevision(StreamRevision revision) => revision.ToUInt64() switch {
33+
public static StreamPosition FromStreamRevision(ulong revision) => revision switch {
3434
ulong.MaxValue => throw new ArgumentOutOfRangeException(nameof(revision)),
35-
_ => new StreamPosition(revision.ToUInt64())
35+
_ => new StreamPosition(revision)
3636
};
3737

3838
/// <summary>

src/KurrentDB.Client/Core/StreamRevision.cs

Lines changed: 0 additions & 196 deletions
This file was deleted.

src/KurrentDB.Client/Streams/KurrentDBClient.Append.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ IWriteResult HandleWrongExpectedRevision(
191191
_log.LogDebug(
192192
"Append to stream failed with Wrong Expected Version - {streamName}/{expectedRevision}/{currentRevision}",
193193
header.Options.StreamIdentifier,
194-
new StreamRevision(header.Options.Revision),
194+
StreamState.StreamRevision(header.Options.Revision),
195195
actualStreamRevision
196196
);
197197

src/KurrentDB.Client/Streams/KurrentDBClient.Delete.cs

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,6 @@
33

44
namespace KurrentDB.Client {
55
public partial class KurrentDBClient {
6-
/// <summary>
7-
/// Deletes a stream asynchronously.
8-
/// </summary>
9-
/// <param name="streamName">The name of the stream to delete.</param>
10-
/// <param name="expectedRevision">The expected <see cref="StreamRevision"/> of the stream being deleted.</param>
11-
/// <param name="deadline">The maximum time to wait before terminating the call.</param>
12-
/// <param name="userCredentials">The optional <see cref="UserCredentials"/> to perform operation with.</param>
13-
/// <param name="cancellationToken">The optional <see cref="System.Threading.CancellationToken"/>.</param>
14-
/// <returns></returns>
15-
public Task<DeleteResult> DeleteAsync(
16-
string streamName,
17-
StreamRevision expectedRevision,
18-
TimeSpan? deadline = null,
19-
UserCredentials? userCredentials = null,
20-
CancellationToken cancellationToken = default) =>
21-
DeleteInternal(new DeleteReq {
22-
Options = new DeleteReq.Types.Options {
23-
StreamIdentifier = streamName,
24-
Revision = expectedRevision
25-
}
26-
}, deadline, userCredentials, cancellationToken);
27-
286
/// <summary>
297
/// Deletes a stream asynchronously.
308
/// </summary>

src/KurrentDB.Client/Streams/KurrentDBClient.Metadata.cs

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,32 +60,6 @@ public Task<IWriteResult> SetStreamMetadataAsync(string streamName, StreamState
6060
}.WithAnyStreamRevision(expectedState), options, deadline, userCredentials, cancellationToken);
6161
}
6262

63-
/// <summary>
64-
/// Asynchronously sets the metadata for a stream.
65-
/// </summary>
66-
/// <param name="streamName">The name of the stream to set metadata for.</param>
67-
/// <param name="expectedRevision">The <see cref="StreamRevision"/> of the stream to append to.</param>
68-
/// <param name="metadata">A <see cref="StreamMetadata"/> representing the new metadata.</param>
69-
/// <param name="configureOperationOptions">An <see cref="Action{KurrentDBClientOperationOptions}"/> to configure the operation's options.</param>
70-
/// <param name="deadline"></param>
71-
/// <param name="userCredentials">The optional <see cref="UserCredentials"/> to perform operation with.</param>
72-
/// <param name="cancellationToken">The optional <see cref="System.Threading.CancellationToken"/>.</param>
73-
/// <returns></returns>
74-
public Task<IWriteResult> SetStreamMetadataAsync(string streamName, StreamRevision expectedRevision,
75-
StreamMetadata metadata, Action<KurrentDBClientOperationOptions>? configureOperationOptions = null,
76-
TimeSpan? deadline = null, UserCredentials? userCredentials = null,
77-
CancellationToken cancellationToken = default) {
78-
var options = Settings.OperationOptions.Clone();
79-
configureOperationOptions?.Invoke(options);
80-
81-
return SetStreamMetadataInternal(metadata, new AppendReq {
82-
Options = new AppendReq.Types.Options {
83-
StreamIdentifier = SystemStreams.MetastreamOf(streamName),
84-
Revision = expectedRevision
85-
}
86-
}, options, deadline, userCredentials, cancellationToken);
87-
}
88-
8963
private async Task<IWriteResult> SetStreamMetadataInternal(StreamMetadata metadata,
9064
AppendReq appendReq,
9165
KurrentDBClientOperationOptions operationOptions,

src/KurrentDB.Client/Streams/KurrentDBClient.Tombstone.cs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,6 @@
33

44
namespace KurrentDB.Client {
55
public partial class KurrentDBClient {
6-
/// <summary>
7-
/// Tombstones a stream asynchronously. Note: Tombstoned streams can never be recreated.
8-
/// </summary>
9-
/// <param name="streamName">The name of the stream to tombstone.</param>
10-
/// <param name="expectedRevision">The expected <see cref="StreamRevision"/> of the stream being deleted.</param>
11-
/// <param name="deadline"></param>
12-
/// <param name="userCredentials">The optional <see cref="UserCredentials"/> to perform operation with.</param>
13-
/// <param name="cancellationToken">The optional <see cref="System.Threading.CancellationToken"/>.</param>
14-
/// <returns></returns>
15-
public Task<DeleteResult> TombstoneAsync(
16-
string streamName,
17-
StreamRevision expectedRevision,
18-
TimeSpan? deadline = null,
19-
UserCredentials? userCredentials = null,
20-
CancellationToken cancellationToken = default) => TombstoneInternal(new TombstoneReq {
21-
Options = new TombstoneReq.Types.Options {
22-
StreamIdentifier = streamName,
23-
Revision = expectedRevision
24-
}
25-
}, deadline, userCredentials, cancellationToken);
26-
276
/// <summary>
287
/// Tombstones a stream asynchronously. Note: Tombstoned streams can never be recreated.
298
/// </summary>

test/KurrentDB.Client.Tests/StreamPositionTests.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,9 @@ public void ArgumentOutOfRange(ulong value) {
6666
Assert.Equal(nameof(value), ex.ParamName);
6767
}
6868

69-
[RetryFact]
70-
public void FromStreamPositionEndThrows() => Assert.Throws<ArgumentOutOfRangeException>(() => StreamRevision.FromStreamPosition(StreamPosition.End));
71-
7269
[RetryFact]
7370
public void FromStreamPositionReturnsExpectedResult() {
74-
var result = StreamPosition.FromStreamRevision(new(0));
71+
var result = StreamPosition.FromStreamRevision(0);
7572

7673
Assert.Equal(new(0), result);
7774
}

0 commit comments

Comments
 (0)