lib/generated/observation_reducers.pb.ex

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.EventObservationState do
  @moduledoc false
  use Protobuf, enum: true, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :EVENT_OBSERVATION_STATE_None, 0
  field :Initial, 1
  field :HeadOfReplay, 2
  field :Replay, 4
  field :TailOfReplay, 8
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ObservationState do
  @moduledoc false
  use Protobuf, enum: true, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :OBSERVATION_STATE_None, 0
  field :Success, 1
  field :Failed, 2
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.AppendedEvent.GenerationalContentEntry do
  @moduledoc false
  use Protobuf, map: true, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :key, 1, type: :int32
  field :value, 2, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.AppendedEvent do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Context, 1, type: Cratis.Chronicle.Contracts.Observation.Reducers.EventContext
  field :Content, 2, type: :string
  field :OriginalContent, 3, type: :string

  field :Revisions, 4,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.EventRevision

  field :GenerationalContent, 5,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.AppendedEvent.GenerationalContentEntry,
    map: true
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.Causation.PropertiesEntry do
  @moduledoc false
  use Protobuf, map: true, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :key, 1, type: :string
  field :value, 2, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.Causation do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Occurred, 1,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.SerializableDateTimeOffset

  field :Type, 2, type: :string

  field :Properties, 3,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.Causation.PropertiesEntry,
    map: true
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.EventContext do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :EventType, 1, type: Cratis.Chronicle.Contracts.Observation.Reducers.EventType
  field :EventSourceType, 2, type: :string
  field :EventSourceId, 3, type: :string
  field :SequenceNumber, 4, type: :uint64
  field :EventStreamType, 5, type: :string
  field :EventStreamId, 6, type: :string

  field :Occurred, 7,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.SerializableDateTimeOffset

  field :EventStore, 8, type: :string
  field :Namespace, 9, type: :string
  field :CorrelationId, 10, type: Bcl.Guid

  field :Causation, 11,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.Causation

  field :CausedBy, 12, type: Cratis.Chronicle.Contracts.Observation.Reducers.Identity

  field :ObservationState, 13,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.EventObservationState,
    enum: true

  field :Tags, 14, repeated: true, type: :string
  field :Hash, 15, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.EventRevision do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Generation, 1, type: :uint32
  field :CorrelationId, 2, type: :string
  field :CausedBy, 3, type: Cratis.Chronicle.Contracts.Observation.Reducers.Identity

  field :Occurred, 4,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.SerializableDateTimeOffset

  field :Content, 5, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.EventType do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Id, 1, type: :string
  field :Generation, 2, type: :uint32
  field :Tombstone, 3, type: :bool
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.EventTypeWithKeyExpression do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :EventType, 1, type: Cratis.Chronicle.Contracts.Observation.Reducers.EventType
  field :Key, 2, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.Identity do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Subject, 1, type: :string
  field :Name, 2, type: :string
  field :UserName, 3, type: :string
  field :OnBehalfOf, 4, type: Cratis.Chronicle.Contracts.Observation.Reducers.Identity
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ObserverFilters do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :FilterTags, 1, repeated: true, type: :string
  field :EventSourceType, 2, type: :string
  field :EventStreamType, 3, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.OneOf_RegisterReducer_ReducerResult do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Value0, 1, type: Cratis.Chronicle.Contracts.Observation.Reducers.RegisterReducer
  field :Value1, 2, type: Cratis.Chronicle.Contracts.Observation.Reducers.ReducerResult
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ReduceOperationMessage do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Partition, 1, type: :string
  field :InitialState, 2, type: :string

  field :Events, 3,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.AppendedEvent
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ReducerDefinition do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :ReducerId, 1, type: :string
  field :EventSequenceId, 2, type: :string

  field :EventTypes, 3,
    repeated: true,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.EventTypeWithKeyExpression

  field :ReadModel, 4, type: :string
  field :IsActive, 5, type: :bool
  field :Sink, 6, type: Cratis.Chronicle.Contracts.Observation.Reducers.SinkDefinition
  field :Tags, 7, repeated: true, type: :string
  field :Filters, 8, type: Cratis.Chronicle.Contracts.Observation.Reducers.ObserverFilters
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ReducerMessage do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Content, 1,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.OneOf_RegisterReducer_ReducerResult
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.ReducerResult do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Partition, 1, type: :string

  field :State, 2,
    type: Cratis.Chronicle.Contracts.Observation.Reducers.ObservationState,
    enum: true

  field :LastSuccessfulObservation, 3, type: :uint64
  field :ExceptionMessages, 4, repeated: true, type: :string
  field :ExceptionStackTrace, 5, type: :string
  field :ReadModelState, 6, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.RegisterReducer do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :ConnectionId, 1, type: :string
  field :EventStore, 2, type: :string
  field :Namespace, 3, type: :string
  field :Reducer, 4, type: Cratis.Chronicle.Contracts.Observation.Reducers.ReducerDefinition
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.SerializableDateTimeOffset do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :Value, 1, type: :string
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.SinkDefinition do
  @moduledoc false
  use Protobuf, protoc_gen_elixir_version: "0.16.0", syntax: :proto3

  field :ConfigurationId, 1, type: Bcl.Guid
  field :TypeId, 2, type: Bcl.Guid
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.Reducers.Service do
  @moduledoc false

  use GRPC.Service,
    name: "Cratis.Chronicle.Contracts.Observation.Reducers.Reducers",
    protoc_gen_elixir_version: "0.16.0"

  rpc :Observe,
      stream(Cratis.Chronicle.Contracts.Observation.Reducers.ReducerMessage),
      stream(Cratis.Chronicle.Contracts.Observation.Reducers.ReduceOperationMessage)
end

defmodule Cratis.Chronicle.Contracts.Observation.Reducers.Reducers.Stub do
  @moduledoc false

  use GRPC.Stub, service: Cratis.Chronicle.Contracts.Observation.Reducers.Reducers.Service
end