@kurrent/kurrentdb-client 1.0.4 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Client/ServerFeatures.d.ts +2 -2
- package/dist/Client/ServerFeatures.js +2 -2
- package/dist/Client/ServerFeatures.js.map +1 -1
- package/dist/Client/discovery.js +2 -2
- package/dist/Client/discovery.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/events/binaryEvent.d.ts +1 -5
- package/dist/persistentSubscription/createPersistentSubscriptionToAll.js +22 -12
- package/dist/persistentSubscription/createPersistentSubscriptionToAll.js.map +1 -1
- package/dist/persistentSubscription/createPersistentSubscriptionToStream.js +16 -6
- package/dist/persistentSubscription/createPersistentSubscriptionToStream.js.map +1 -1
- package/dist/persistentSubscription/deletePersistentSubscriptionToAll.js +7 -7
- package/dist/persistentSubscription/deletePersistentSubscriptionToAll.js.map +1 -1
- package/dist/persistentSubscription/deletePersistentSubscriptionToStream.js +5 -5
- package/dist/persistentSubscription/deletePersistentSubscriptionToStream.js.map +1 -1
- package/dist/persistentSubscription/getPersistentSubscriptionToAllInfo.js +7 -7
- package/dist/persistentSubscription/getPersistentSubscriptionToAllInfo.js.map +1 -1
- package/dist/persistentSubscription/getPersistentSubscriptionToStreamInfo.js +6 -6
- package/dist/persistentSubscription/getPersistentSubscriptionToStreamInfo.js.map +1 -1
- package/dist/persistentSubscription/listAllPersistentSubscriptions.js +7 -7
- package/dist/persistentSubscription/listAllPersistentSubscriptions.js.map +1 -1
- package/dist/persistentSubscription/listPersistentSubscriptionsToAll.js +8 -8
- package/dist/persistentSubscription/listPersistentSubscriptionsToAll.js.map +1 -1
- package/dist/persistentSubscription/listPersistentSubscriptionsToStream.js +7 -7
- package/dist/persistentSubscription/listPersistentSubscriptionsToStream.js.map +1 -1
- package/dist/persistentSubscription/replayParkedMessagesToAll.js +7 -7
- package/dist/persistentSubscription/replayParkedMessagesToAll.js.map +1 -1
- package/dist/persistentSubscription/replayParkedMessagesToStream.js +7 -7
- package/dist/persistentSubscription/replayParkedMessagesToStream.js.map +1 -1
- package/dist/persistentSubscription/restartPersistentSubscriptionSubsystem.js +4 -4
- package/dist/persistentSubscription/restartPersistentSubscriptionSubsystem.js.map +1 -1
- package/dist/persistentSubscription/subscribeToPersistentSubscriptionToAll.js +8 -8
- package/dist/persistentSubscription/subscribeToPersistentSubscriptionToAll.js.map +1 -1
- package/dist/persistentSubscription/subscribeToPersistentSubscriptionToStream.js +7 -7
- package/dist/persistentSubscription/subscribeToPersistentSubscriptionToStream.js.map +1 -1
- package/dist/persistentSubscription/updatePersistentSubscriptionToAll.js +10 -10
- package/dist/persistentSubscription/updatePersistentSubscriptionToAll.js.map +1 -1
- package/dist/persistentSubscription/updatePersistentSubscriptionToStream.js +6 -6
- package/dist/persistentSubscription/updatePersistentSubscriptionToStream.js.map +1 -1
- package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.d.ts +1 -1
- package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.js +9 -9
- package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.js.map +1 -1
- package/dist/persistentSubscription/utils/mapPersistentSubscriptionInfo.d.ts +1 -1
- package/dist/persistentSubscription/utils/settingsToGRPC.d.ts +1 -1
- package/dist/persistentSubscription/utils/settingsToGRPC.js +13 -4
- package/dist/persistentSubscription/utils/settingsToGRPC.js.map +1 -1
- package/dist/projections/createProjection.js +7 -7
- package/dist/projections/createProjection.js.map +1 -1
- package/dist/projections/deleteProjection.js +5 -5
- package/dist/projections/deleteProjection.js.map +1 -1
- package/dist/projections/disableProjection.js +5 -5
- package/dist/projections/disableProjection.js.map +1 -1
- package/dist/projections/enableProjection.js +5 -5
- package/dist/projections/enableProjection.js.map +1 -1
- package/dist/projections/getProjectionResult.js +5 -5
- package/dist/projections/getProjectionResult.js.map +1 -1
- package/dist/projections/getProjectionState.js +5 -5
- package/dist/projections/getProjectionState.js.map +1 -1
- package/dist/projections/getProjectionStatus.js +5 -5
- package/dist/projections/getProjectionStatus.js.map +1 -1
- package/dist/projections/listProjections.js +6 -6
- package/dist/projections/listProjections.js.map +1 -1
- package/dist/projections/resetProjection.js +5 -5
- package/dist/projections/resetProjection.js.map +1 -1
- package/dist/projections/restartSubsystem.js +3 -3
- package/dist/projections/restartSubsystem.js.map +1 -1
- package/dist/projections/updateProjection.js +6 -6
- package/dist/projections/updateProjection.js.map +1 -1
- package/dist/projections/utils/mapGrpcProjectionDetails.d.ts +1 -1
- package/dist/streams/appendToStream/append.js +3 -3
- package/dist/streams/appendToStream/append.js.map +1 -1
- package/dist/streams/appendToStream/appendRecords.d.ts +3 -0
- package/dist/streams/appendToStream/appendRecords.js +132 -0
- package/dist/streams/appendToStream/appendRecords.js.map +1 -0
- package/dist/streams/appendToStream/batchAppend.js +3 -3
- package/dist/streams/appendToStream/batchAppend.js.map +1 -1
- package/dist/streams/appendToStream/index.d.ts +2 -1
- package/dist/streams/appendToStream/index.js +10 -1
- package/dist/streams/appendToStream/index.js.map +1 -1
- package/dist/streams/appendToStream/multiStreamAppend.d.ts +3 -0
- package/dist/streams/appendToStream/multiStreamAppend.js +130 -0
- package/dist/streams/appendToStream/multiStreamAppend.js.map +1 -0
- package/dist/streams/appendToStream/unpackError.d.ts +2 -2
- package/dist/streams/appendToStream/unpackError.js +1 -1
- package/dist/streams/appendToStream/unpackError.js.map +1 -1
- package/dist/streams/deleteStream.js +3 -3
- package/dist/streams/deleteStream.js.map +1 -1
- package/dist/streams/subscribeToAll.js +3 -3
- package/dist/streams/subscribeToAll.js.map +1 -1
- package/dist/streams/subscribeToStream.js +3 -3
- package/dist/streams/subscribeToStream.js.map +1 -1
- package/dist/streams/tombstoneStream.js +3 -3
- package/dist/streams/tombstoneStream.js.map +1 -1
- package/dist/streams/utils/ReadStream.d.ts +1 -1
- package/dist/streams/utils/Subscription.d.ts +1 -1
- package/dist/types/index.d.ts +35 -4
- package/dist/types/index.js +5 -2
- package/dist/types/index.js.map +1 -1
- package/dist/utils/CommandError.d.ts +26 -2
- package/dist/utils/CommandError.js +106 -3
- package/dist/utils/CommandError.js.map +1 -1
- package/dist/utils/convertGrpcEvent.d.ts +2 -2
- package/dist/utils/getGrpcStatusDetails.d.ts +5 -0
- package/dist/utils/getGrpcStatusDetails.js +17 -0
- package/dist/utils/getGrpcStatusDetails.js.map +1 -0
- package/dist/utils/grpcStreamIdentifier.d.ts +1 -1
- package/dist/utils/grpcStreamIdentifier.js +1 -1
- package/dist/utils/grpcStreamIdentifier.js.map +1 -1
- package/dist/utils/grpcUUID.d.ts +1 -1
- package/dist/utils/grpcUUID.js +1 -1
- package/dist/utils/grpcUUID.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/mapToValue.d.ts +3 -0
- package/dist/utils/mapToValue.js +19 -0
- package/dist/utils/mapToValue.js.map +1 -0
- package/dist/utils/schema.d.ts +7 -0
- package/dist/utils/schema.js +21 -0
- package/dist/utils/schema.js.map +1 -0
- package/generated/{code_pb.d.ts → kurrentdb/protocols/v1/code_pb.d.ts} +1 -1
- package/generated/{code_pb.js → kurrentdb/protocols/v1/code_pb.js} +1 -1
- package/generated/kurrentdb/protocols/v1/gossip_grpc_pb.d.ts +42 -0
- package/generated/{gossip_grpc_pb.js → kurrentdb/protocols/v1/gossip_grpc_pb.js} +8 -8
- package/generated/{gossip_pb.d.ts → kurrentdb/protocols/v1/gossip_pb.d.ts} +5 -5
- package/generated/{gossip_pb.js → kurrentdb/protocols/v1/gossip_pb.js} +8 -8
- package/generated/kurrentdb/protocols/v1/operations_grpc_pb.d.ts +144 -0
- package/generated/{operations_grpc_pb.js → kurrentdb/protocols/v1/operations_grpc_pb.js} +26 -26
- package/generated/{operations_pb.d.ts → kurrentdb/protocols/v1/operations_pb.d.ts} +2 -2
- package/generated/{operations_pb.js → kurrentdb/protocols/v1/operations_pb.js} +3 -3
- package/generated/kurrentdb/protocols/v1/persistentsubscriptions_grpc_pb.d.ts +160 -0
- package/generated/{persistent_grpc_pb.js → kurrentdb/protocols/v1/persistentsubscriptions_grpc_pb.js} +48 -48
- package/generated/{persistent_pb.d.ts → kurrentdb/protocols/v1/persistentsubscriptions_pb.d.ts} +106 -106
- package/generated/{persistent_pb.js → kurrentdb/protocols/v1/persistentsubscriptions_pb.js} +173 -173
- package/generated/kurrentdb/protocols/v1/projectionmanagement_grpc_pb.d.ts +194 -0
- package/generated/{projections_grpc_pb.js → kurrentdb/protocols/v1/projectionmanagement_grpc_pb.js} +60 -60
- package/generated/{projections_pb.d.ts → kurrentdb/protocols/v1/projectionmanagement_pb.d.ts} +20 -20
- package/generated/{projections_pb.js → kurrentdb/protocols/v1/projectionmanagement_pb.js} +33 -33
- package/generated/kurrentdb/protocols/v1/serverfeatures_grpc_pb.d.ts +42 -0
- package/generated/{serverfeatures_grpc_pb.js → kurrentdb/protocols/v1/serverfeatures_grpc_pb.js} +8 -8
- package/generated/{serverfeatures_pb.d.ts → kurrentdb/protocols/v1/serverfeatures_pb.d.ts} +2 -2
- package/generated/{serverfeatures_pb.js → kurrentdb/protocols/v1/serverfeatures_pb.js} +3 -3
- package/generated/{shared_pb.d.ts → kurrentdb/protocols/v1/shared_pb.d.ts} +1 -1
- package/generated/{shared_pb.js → kurrentdb/protocols/v1/shared_pb.js} +1 -1
- package/generated/{status_pb.d.ts → kurrentdb/protocols/v1/status_pb.d.ts} +5 -5
- package/generated/{status_pb.js → kurrentdb/protocols/v1/status_pb.js} +3 -3
- package/generated/kurrentdb/protocols/v1/streams_grpc_pb.d.ts +113 -0
- package/generated/{streams_grpc_pb.js → kurrentdb/protocols/v1/streams_grpc_pb.js} +33 -33
- package/generated/{streams_pb.d.ts → kurrentdb/protocols/v1/streams_pb.d.ts} +138 -138
- package/generated/{streams_pb.js → kurrentdb/protocols/v1/streams_pb.js} +230 -230
- package/generated/kurrentdb/protocols/v1/usermanagement_grpc_pb.d.ts +158 -0
- package/generated/{users_grpc_pb.js → kurrentdb/protocols/v1/usermanagement_grpc_pb.js} +49 -49
- package/generated/{users_pb.d.ts → kurrentdb/protocols/v1/usermanagement_pb.d.ts} +1 -1
- package/generated/{users_pb.js → kurrentdb/protocols/v1/usermanagement_pb.js} +1 -1
- package/generated/kurrentdb/protocols/v2/core_grpc_pb.js +1 -0
- package/generated/kurrentdb/protocols/v2/core_pb.d.ts +188 -0
- package/generated/kurrentdb/protocols/v2/core_pb.js +1301 -0
- package/generated/kurrentdb/protocols/v2/errors_grpc_pb.js +1 -0
- package/generated/kurrentdb/protocols/v2/errors_pb.d.ts +105 -0
- package/generated/kurrentdb/protocols/v2/errors_pb.js +692 -0
- package/generated/kurrentdb/protocols/v2/features/service_grpc_pb.d.ts +43 -0
- package/generated/kurrentdb/protocols/v2/features/service_grpc_pb.js +50 -0
- package/generated/kurrentdb/protocols/v2/features/service_pb.d.ts +227 -0
- package/generated/kurrentdb/protocols/v2/features/service_pb.js +1753 -0
- package/generated/kurrentdb/protocols/v2/rpc_grpc_pb.js +1 -0
- package/generated/kurrentdb/protocols/v2/rpc_pb.d.ts +34 -0
- package/generated/kurrentdb/protocols/v2/rpc_pb.js +236 -0
- package/generated/kurrentdb/protocols/v2/streams/errors_grpc_pb.js +1 -0
- package/generated/kurrentdb/protocols/v2/streams/errors_pb.d.ts +199 -0
- package/generated/kurrentdb/protocols/v2/streams/errors_pb.js +1439 -0
- package/generated/kurrentdb/protocols/v2/streams/shared_grpc_pb.js +1 -0
- package/generated/kurrentdb/protocols/v2/streams/shared_pb.d.ts +218 -0
- package/generated/kurrentdb/protocols/v2/streams/shared_pb.js +1561 -0
- package/generated/kurrentdb/protocols/v2/streams/streams_grpc_pb.d.ts +44 -0
- package/generated/kurrentdb/protocols/v2/streams/streams_grpc_pb.js +69 -0
- package/generated/kurrentdb/protocols/v2/streams/streams_pb.d.ts +176 -0
- package/generated/kurrentdb/protocols/v2/streams/streams_pb.js +1289 -0
- package/package.json +8 -6
- package/generated/cluster_grpc_pb.d.ts +0 -211
- package/generated/cluster_grpc_pb.js +0 -247
- package/generated/cluster_pb.d.ts +0 -546
- package/generated/cluster_pb.js +0 -4357
- package/generated/gossip_grpc_pb.d.ts +0 -42
- package/generated/monitoring_grpc_pb.d.ts +0 -39
- package/generated/monitoring_grpc_pb.js +0 -44
- package/generated/monitoring_pb.d.ts +0 -52
- package/generated/monitoring_pb.js +0 -361
- package/generated/operations_grpc_pb.d.ts +0 -144
- package/generated/persistent_grpc_pb.d.ts +0 -160
- package/generated/projections_grpc_pb.d.ts +0 -194
- package/generated/serverfeatures_grpc_pb.d.ts +0 -42
- package/generated/streams_grpc_pb.d.ts +0 -113
- package/generated/users_grpc_pb.d.ts +0 -158
- /package/generated/{code_grpc_pb.js → kurrentdb/protocols/v1/code_grpc_pb.js} +0 -0
- /package/generated/{shared_grpc_pb.js → kurrentdb/protocols/v1/shared_grpc_pb.js} +0 -0
- /package/generated/{status_grpc_pb.js → kurrentdb/protocols/v1/status_grpc_pb.js} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// package: kurrentdb.protocol.v2.streams
|
|
2
|
+
// file: kurrentdb/protocols/v2/streams/streams.proto
|
|
3
|
+
|
|
4
|
+
/* tslint:disable */
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
|
|
7
|
+
import * as grpc from "@grpc/grpc-js";
|
|
8
|
+
import * as kurrentdb_protocols_v2_streams_streams_pb from "../../../../kurrentdb/protocols/v2/streams/streams_pb";
|
|
9
|
+
import * as google_protobuf_struct_pb from "google-protobuf/google/protobuf/struct_pb";
|
|
10
|
+
|
|
11
|
+
interface IStreamsServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
|
|
12
|
+
appendSession: IStreamsServiceService_IAppendSession;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface IStreamsServiceService_IAppendSession extends grpc.MethodDefinition<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest, kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse> {
|
|
16
|
+
path: "/kurrentdb.protocol.v2.streams.StreamsService/AppendSession";
|
|
17
|
+
requestStream: true;
|
|
18
|
+
responseStream: false;
|
|
19
|
+
requestSerialize: grpc.serialize<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
20
|
+
requestDeserialize: grpc.deserialize<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
21
|
+
responseSerialize: grpc.serialize<kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse>;
|
|
22
|
+
responseDeserialize: grpc.deserialize<kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const StreamsServiceService: IStreamsServiceService;
|
|
26
|
+
|
|
27
|
+
export interface IStreamsServiceServer extends grpc.UntypedServiceImplementation {
|
|
28
|
+
appendSession: grpc.handleClientStreamingCall<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest, kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface IStreamsServiceClient {
|
|
32
|
+
appendSession(callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
33
|
+
appendSession(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
34
|
+
appendSession(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
35
|
+
appendSession(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class StreamsServiceClient extends grpc.Client implements IStreamsServiceClient {
|
|
39
|
+
constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
|
|
40
|
+
public appendSession(callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
41
|
+
public appendSession(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
42
|
+
public appendSession(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
43
|
+
public appendSession(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse) => void): grpc.ClientWritableStream<kurrentdb_protocols_v2_streams_streams_pb.AppendRequest>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// GENERATED CODE -- DO NOT EDIT!
|
|
2
|
+
|
|
3
|
+
// Original file comments:
|
|
4
|
+
// ******************************************************************************************
|
|
5
|
+
// This protocol is UNSTABLE in the sense of being subject to change.
|
|
6
|
+
// ******************************************************************************************
|
|
7
|
+
//
|
|
8
|
+
'use strict';
|
|
9
|
+
var grpc = require('@grpc/grpc-js');
|
|
10
|
+
var kurrentdb_protocols_v2_streams_streams_pb = require('../../../../kurrentdb/protocols/v2/streams/streams_pb.js');
|
|
11
|
+
var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');
|
|
12
|
+
|
|
13
|
+
function serialize_kurrentdb_protocol_v2_streams_AppendRequest(arg) {
|
|
14
|
+
if (!(arg instanceof kurrentdb_protocols_v2_streams_streams_pb.AppendRequest)) {
|
|
15
|
+
throw new Error('Expected argument of type kurrentdb.protocol.v2.streams.AppendRequest');
|
|
16
|
+
}
|
|
17
|
+
return Buffer.from(arg.serializeBinary());
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function deserialize_kurrentdb_protocol_v2_streams_AppendRequest(buffer_arg) {
|
|
21
|
+
return kurrentdb_protocols_v2_streams_streams_pb.AppendRequest.deserializeBinary(new Uint8Array(buffer_arg));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function serialize_kurrentdb_protocol_v2_streams_AppendSessionResponse(arg) {
|
|
25
|
+
if (!(arg instanceof kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse)) {
|
|
26
|
+
throw new Error('Expected argument of type kurrentdb.protocol.v2.streams.AppendSessionResponse');
|
|
27
|
+
}
|
|
28
|
+
return Buffer.from(arg.serializeBinary());
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function deserialize_kurrentdb_protocol_v2_streams_AppendSessionResponse(buffer_arg) {
|
|
32
|
+
return kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse.deserializeBinary(new Uint8Array(buffer_arg));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
var StreamsServiceService = exports.StreamsServiceService = {
|
|
37
|
+
// Appends records to multiple streams atomically within a single transaction.
|
|
38
|
+
//
|
|
39
|
+
// This is a client-streaming RPC where the client sends multiple AppendRequest messages
|
|
40
|
+
// (one per stream) and receives a single AppendSessionResponse upon commit.
|
|
41
|
+
//
|
|
42
|
+
// Guarantees:
|
|
43
|
+
// - Atomicity: All writes succeed or all fail together
|
|
44
|
+
// - Optimistic Concurrency: Expected revisions are validated for all streams before commit
|
|
45
|
+
// - Ordering: Records within each stream maintain send order
|
|
46
|
+
//
|
|
47
|
+
// Current Limitations:
|
|
48
|
+
// - Each stream can only appear once per session (no multiple appends to same stream)
|
|
49
|
+
//
|
|
50
|
+
// Example flow:
|
|
51
|
+
// 1. Client opens stream
|
|
52
|
+
// 2. Client sends AppendRequest for stream "orders" with 3 records
|
|
53
|
+
// 3. Client sends AppendRequest for stream "inventory" with 2 records
|
|
54
|
+
// 4. Client completes the stream
|
|
55
|
+
// 5. Server validates, commits, returns AppendSessionResponse with positions
|
|
56
|
+
appendSession: {
|
|
57
|
+
path: '/kurrentdb.protocol.v2.streams.StreamsService/AppendSession',
|
|
58
|
+
requestStream: true,
|
|
59
|
+
responseStream: false,
|
|
60
|
+
requestType: kurrentdb_protocols_v2_streams_streams_pb.AppendRequest,
|
|
61
|
+
responseType: kurrentdb_protocols_v2_streams_streams_pb.AppendSessionResponse,
|
|
62
|
+
requestSerialize: serialize_kurrentdb_protocol_v2_streams_AppendRequest,
|
|
63
|
+
requestDeserialize: deserialize_kurrentdb_protocol_v2_streams_AppendRequest,
|
|
64
|
+
responseSerialize: serialize_kurrentdb_protocol_v2_streams_AppendSessionResponse,
|
|
65
|
+
responseDeserialize: deserialize_kurrentdb_protocol_v2_streams_AppendSessionResponse,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
exports.StreamsServiceClient = grpc.makeGenericClientConstructor(StreamsServiceService, 'StreamsService');
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
// package: kurrentdb.protocol.v2.streams
|
|
2
|
+
// file: kurrentdb/protocols/v2/streams/streams.proto
|
|
3
|
+
|
|
4
|
+
/* tslint:disable */
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
|
|
7
|
+
import * as jspb from "google-protobuf";
|
|
8
|
+
import * as google_protobuf_struct_pb from "google-protobuf/google/protobuf/struct_pb";
|
|
9
|
+
|
|
10
|
+
export class AppendRequest extends jspb.Message {
|
|
11
|
+
getStream(): string;
|
|
12
|
+
setStream(value: string): AppendRequest;
|
|
13
|
+
clearRecordsList(): void;
|
|
14
|
+
getRecordsList(): Array<AppendRecord>;
|
|
15
|
+
setRecordsList(value: Array<AppendRecord>): AppendRequest;
|
|
16
|
+
addRecords(value?: AppendRecord, index?: number): AppendRecord;
|
|
17
|
+
|
|
18
|
+
hasExpectedRevision(): boolean;
|
|
19
|
+
clearExpectedRevision(): void;
|
|
20
|
+
getExpectedRevision(): string | undefined;
|
|
21
|
+
setExpectedRevision(value: string): AppendRequest;
|
|
22
|
+
|
|
23
|
+
serializeBinary(): Uint8Array;
|
|
24
|
+
toObject(includeInstance?: boolean): AppendRequest.AsObject;
|
|
25
|
+
static toObject(includeInstance: boolean, msg: AppendRequest): AppendRequest.AsObject;
|
|
26
|
+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
|
27
|
+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
|
28
|
+
static serializeBinaryToWriter(message: AppendRequest, writer: jspb.BinaryWriter): void;
|
|
29
|
+
static deserializeBinary(bytes: Uint8Array): AppendRequest;
|
|
30
|
+
static deserializeBinaryFromReader(message: AppendRequest, reader: jspb.BinaryReader): AppendRequest;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export namespace AppendRequest {
|
|
34
|
+
export type AsObject = {
|
|
35
|
+
stream: string,
|
|
36
|
+
recordsList: Array<AppendRecord.AsObject>,
|
|
37
|
+
expectedRevision?: string,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export class AppendResponse extends jspb.Message {
|
|
42
|
+
getStream(): string;
|
|
43
|
+
setStream(value: string): AppendResponse;
|
|
44
|
+
getStreamRevision(): string;
|
|
45
|
+
setStreamRevision(value: string): AppendResponse;
|
|
46
|
+
|
|
47
|
+
hasPosition(): boolean;
|
|
48
|
+
clearPosition(): void;
|
|
49
|
+
getPosition(): string | undefined;
|
|
50
|
+
setPosition(value: string): AppendResponse;
|
|
51
|
+
|
|
52
|
+
serializeBinary(): Uint8Array;
|
|
53
|
+
toObject(includeInstance?: boolean): AppendResponse.AsObject;
|
|
54
|
+
static toObject(includeInstance: boolean, msg: AppendResponse): AppendResponse.AsObject;
|
|
55
|
+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
|
56
|
+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
|
57
|
+
static serializeBinaryToWriter(message: AppendResponse, writer: jspb.BinaryWriter): void;
|
|
58
|
+
static deserializeBinary(bytes: Uint8Array): AppendResponse;
|
|
59
|
+
static deserializeBinaryFromReader(message: AppendResponse, reader: jspb.BinaryReader): AppendResponse;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export namespace AppendResponse {
|
|
63
|
+
export type AsObject = {
|
|
64
|
+
stream: string,
|
|
65
|
+
streamRevision: string,
|
|
66
|
+
position?: string,
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export class AppendSessionResponse extends jspb.Message {
|
|
71
|
+
clearOutputList(): void;
|
|
72
|
+
getOutputList(): Array<AppendResponse>;
|
|
73
|
+
setOutputList(value: Array<AppendResponse>): AppendSessionResponse;
|
|
74
|
+
addOutput(value?: AppendResponse, index?: number): AppendResponse;
|
|
75
|
+
getPosition(): string;
|
|
76
|
+
setPosition(value: string): AppendSessionResponse;
|
|
77
|
+
|
|
78
|
+
serializeBinary(): Uint8Array;
|
|
79
|
+
toObject(includeInstance?: boolean): AppendSessionResponse.AsObject;
|
|
80
|
+
static toObject(includeInstance: boolean, msg: AppendSessionResponse): AppendSessionResponse.AsObject;
|
|
81
|
+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
|
82
|
+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
|
83
|
+
static serializeBinaryToWriter(message: AppendSessionResponse, writer: jspb.BinaryWriter): void;
|
|
84
|
+
static deserializeBinary(bytes: Uint8Array): AppendSessionResponse;
|
|
85
|
+
static deserializeBinaryFromReader(message: AppendSessionResponse, reader: jspb.BinaryReader): AppendSessionResponse;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export namespace AppendSessionResponse {
|
|
89
|
+
export type AsObject = {
|
|
90
|
+
outputList: Array<AppendResponse.AsObject>,
|
|
91
|
+
position: string,
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export class SchemaInfo extends jspb.Message {
|
|
96
|
+
getFormat(): SchemaFormat;
|
|
97
|
+
setFormat(value: SchemaFormat): SchemaInfo;
|
|
98
|
+
getName(): string;
|
|
99
|
+
setName(value: string): SchemaInfo;
|
|
100
|
+
|
|
101
|
+
hasId(): boolean;
|
|
102
|
+
clearId(): void;
|
|
103
|
+
getId(): string | undefined;
|
|
104
|
+
setId(value: string): SchemaInfo;
|
|
105
|
+
|
|
106
|
+
serializeBinary(): Uint8Array;
|
|
107
|
+
toObject(includeInstance?: boolean): SchemaInfo.AsObject;
|
|
108
|
+
static toObject(includeInstance: boolean, msg: SchemaInfo): SchemaInfo.AsObject;
|
|
109
|
+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
|
110
|
+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
|
111
|
+
static serializeBinaryToWriter(message: SchemaInfo, writer: jspb.BinaryWriter): void;
|
|
112
|
+
static deserializeBinary(bytes: Uint8Array): SchemaInfo;
|
|
113
|
+
static deserializeBinaryFromReader(message: SchemaInfo, reader: jspb.BinaryReader): SchemaInfo;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export namespace SchemaInfo {
|
|
117
|
+
export type AsObject = {
|
|
118
|
+
format: SchemaFormat,
|
|
119
|
+
name: string,
|
|
120
|
+
id?: string,
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export class AppendRecord extends jspb.Message {
|
|
125
|
+
|
|
126
|
+
hasRecordId(): boolean;
|
|
127
|
+
clearRecordId(): void;
|
|
128
|
+
getRecordId(): string | undefined;
|
|
129
|
+
setRecordId(value: string): AppendRecord;
|
|
130
|
+
|
|
131
|
+
getPropertiesMap(): jspb.Map<string, google_protobuf_struct_pb.Value>;
|
|
132
|
+
clearPropertiesMap(): void;
|
|
133
|
+
|
|
134
|
+
hasSchema(): boolean;
|
|
135
|
+
clearSchema(): void;
|
|
136
|
+
getSchema(): SchemaInfo | undefined;
|
|
137
|
+
setSchema(value?: SchemaInfo): AppendRecord;
|
|
138
|
+
getData(): Uint8Array | string;
|
|
139
|
+
getData_asU8(): Uint8Array;
|
|
140
|
+
getData_asB64(): string;
|
|
141
|
+
setData(value: Uint8Array | string): AppendRecord;
|
|
142
|
+
|
|
143
|
+
serializeBinary(): Uint8Array;
|
|
144
|
+
toObject(includeInstance?: boolean): AppendRecord.AsObject;
|
|
145
|
+
static toObject(includeInstance: boolean, msg: AppendRecord): AppendRecord.AsObject;
|
|
146
|
+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
|
147
|
+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
|
148
|
+
static serializeBinaryToWriter(message: AppendRecord, writer: jspb.BinaryWriter): void;
|
|
149
|
+
static deserializeBinary(bytes: Uint8Array): AppendRecord;
|
|
150
|
+
static deserializeBinaryFromReader(message: AppendRecord, reader: jspb.BinaryReader): AppendRecord;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export namespace AppendRecord {
|
|
154
|
+
export type AsObject = {
|
|
155
|
+
recordId?: string,
|
|
156
|
+
|
|
157
|
+
propertiesMap: Array<[string, google_protobuf_struct_pb.Value.AsObject]>,
|
|
158
|
+
schema?: SchemaInfo.AsObject,
|
|
159
|
+
data: Uint8Array | string,
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export enum SchemaFormat {
|
|
164
|
+
SCHEMA_FORMAT_UNSPECIFIED = 0,
|
|
165
|
+
SCHEMA_FORMAT_JSON = 1,
|
|
166
|
+
SCHEMA_FORMAT_PROTOBUF = 2,
|
|
167
|
+
SCHEMA_FORMAT_AVRO = 3,
|
|
168
|
+
SCHEMA_FORMAT_BYTES = 4,
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export enum ExpectedRevisionConstants {
|
|
172
|
+
EXPECTED_REVISION_CONSTANTS_SINGLE_EVENT = 0,
|
|
173
|
+
EXPECTED_REVISION_CONSTANTS_NO_STREAM = -1,
|
|
174
|
+
EXPECTED_REVISION_CONSTANTS_ANY = -2,
|
|
175
|
+
EXPECTED_REVISION_CONSTANTS_EXISTS = -4,
|
|
176
|
+
}
|