# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: graphik.proto

require 'google/protobuf'

require 'google/protobuf/struct_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf/any_pb'
require 'google/protobuf/empty_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_message "api.Ref" do
    optional :gtype, :string, 1
    optional :gid, :string, 2
  end
  add_message "api.RefConstructor" do
    optional :gtype, :string, 1
    optional :gid, :string, 2
  end
  add_message "api.Refs" do
    repeated :refs, :message, 1, "api.Ref"
  end
  add_message "api.Doc" do
    optional :ref, :message, 1, "api.Ref"
    optional :attributes, :message, 2, "google.protobuf.Struct"
  end
  add_message "api.DocConstructor" do
    optional :ref, :message, 1, "api.RefConstructor"
    optional :attributes, :message, 2, "google.protobuf.Struct"
  end
  add_message "api.DocConstructors" do
    repeated :docs, :message, 1, "api.DocConstructor"
  end
  add_message "api.Traversal" do
    optional :doc, :message, 1, "api.Doc"
    repeated :traversal_path, :message, 2, "api.Ref"
    optional :depth, :uint64, 3
    optional :hops, :uint64, 4
  end
  add_message "api.Traversals" do
    repeated :traversals, :message, 1, "api.Traversal"
  end
  add_message "api.Docs" do
    repeated :docs, :message, 1, "api.Doc"
    optional :seek_next, :string, 2
  end
  add_message "api.Connection" do
    optional :ref, :message, 1, "api.Ref"
    optional :attributes, :message, 2, "google.protobuf.Struct"
    optional :directed, :bool, 3
    optional :from, :message, 4, "api.Ref"
    optional :to, :message, 5, "api.Ref"
  end
  add_message "api.ConnectionConstructor" do
    optional :ref, :message, 1, "api.RefConstructor"
    optional :attributes, :message, 3, "google.protobuf.Struct"
    optional :directed, :bool, 4
    optional :from, :message, 5, "api.Ref"
    optional :to, :message, 6, "api.Ref"
  end
  add_message "api.SearchConnectFilter" do
    optional :filter, :message, 1, "api.Filter"
    optional :gtype, :string, 2
    optional :attributes, :message, 3, "google.protobuf.Struct"
    optional :directed, :bool, 4
    optional :from, :message, 5, "api.Ref"
  end
  add_message "api.SearchConnectMeFilter" do
    optional :filter, :message, 1, "api.Filter"
    optional :gtype, :string, 2
    optional :attributes, :message, 3, "google.protobuf.Struct"
    optional :directed, :bool, 4
  end
  add_message "api.ConnectionConstructors" do
    repeated :connections, :message, 1, "api.ConnectionConstructor"
  end
  add_message "api.Connections" do
    repeated :connections, :message, 1, "api.Connection"
    optional :seek_next, :string, 2
  end
  add_message "api.ConnectFilter" do
    optional :doc_ref, :message, 1, "api.Ref"
    optional :gtype, :string, 2
    optional :expression, :string, 3
    optional :limit, :uint64, 4
    optional :sort, :string, 5
    optional :seek, :string, 6
    optional :reverse, :bool, 7
  end
  add_message "api.Filter" do
    optional :gtype, :string, 1
    optional :expression, :string, 2
    optional :limit, :uint64, 3
    optional :sort, :string, 4
    optional :seek, :string, 5
    optional :reverse, :bool, 6
    optional :index, :string, 7
  end
  add_message "api.AggFilter" do
    optional :filter, :message, 1, "api.Filter"
    optional :aggregate, :enum, 2, "api.Aggregate"
    optional :field, :string, 3
  end
  add_message "api.TraverseFilter" do
    optional :root, :message, 1, "api.Ref"
    optional :doc_expression, :string, 2
    optional :connection_expression, :string, 3
    optional :limit, :uint64, 4
    optional :sort, :string, 5
    optional :reverse, :bool, 6
    optional :algorithm, :enum, 7, "api.Algorithm"
    optional :max_depth, :uint64, 8
    optional :max_hops, :uint64, 9
  end
  add_message "api.TraverseMeFilter" do
    optional :doc_expression, :string, 1
    optional :connection_expression, :string, 2
    optional :limit, :uint64, 3
    optional :sort, :string, 4
    optional :reverse, :bool, 5
    optional :algorithm, :enum, 6, "api.Algorithm"
    optional :max_depth, :uint64, 7
    optional :max_hops, :uint64, 8
  end
  add_message "api.IndexConstructor" do
    optional :name, :string, 1
    optional :gtype, :string, 3
    optional :expression, :string, 4
    optional :target_docs, :bool, 6
    optional :target_connections, :bool, 7
  end
  add_message "api.AuthTarget" do
    optional :user, :message, 1, "api.Doc"
    optional :target, :message, 2, "google.protobuf.Struct"
    map :headers, :string, :string, 3
  end
  add_message "api.Authorizer" do
    optional :name, :string, 1
    optional :method, :string, 2
    optional :expression, :string, 3
    optional :target_requests, :bool, 4
    optional :target_responses, :bool, 5
  end
  add_message "api.Authorizers" do
    repeated :authorizers, :message, 1, "api.Authorizer"
  end
  add_message "api.Constraint" do
    optional :name, :string, 1
    optional :gtype, :string, 2
    optional :expression, :string, 3
    optional :target_docs, :bool, 4
    optional :target_connections, :bool, 5
  end
  add_message "api.Constraints" do
    repeated :constraints, :message, 1, "api.Constraint"
  end
  add_message "api.Index" do
    optional :name, :string, 1
    optional :gtype, :string, 3
    optional :expression, :string, 4
    optional :target_docs, :bool, 5
    optional :target_connections, :bool, 6
  end
  add_message "api.Indexes" do
    repeated :indexes, :message, 1, "api.Index"
  end
  add_message "api.Trigger" do
    optional :name, :string, 1
    optional :gtype, :string, 2
    optional :trigger, :string, 4
    optional :target_docs, :bool, 5
    optional :target_connections, :bool, 6
  end
  add_message "api.Triggers" do
    repeated :triggers, :message, 1, "api.Trigger"
  end
  add_message "api.StreamFilter" do
    optional :channel, :string, 1
    optional :expression, :string, 2
    optional :min, :message, 3, "google.protobuf.Timestamp"
    optional :max, :message, 4, "google.protobuf.Timestamp"
  end
  add_message "api.Graph" do
    optional :docs, :message, 1, "api.Docs"
    optional :connections, :message, 2, "api.Connections"
  end
  add_message "api.Flags" do
    optional :open_id_discovery, :string, 1
    optional :storage_path, :string, 2
    repeated :allow_headers, :string, 5
    repeated :allow_methods, :string, 6
    repeated :allow_origins, :string, 7
    repeated :root_users, :string, 8
    optional :tls_cert, :string, 9
    optional :tls_key, :string, 10
    optional :require_request_authorizers, :bool, 15
    optional :require_response_authorizers, :bool, 16
    optional :join_raft, :string, 17
    optional :raft_peer_id, :string, 18
    optional :listen_port, :int64, 19
    optional :raft_secret, :string, 20
    optional :debug, :bool, 21
    optional :environment, :string, 22
    optional :raft_advertise, :string, 23
    optional :raft_max_pool, :int64, 24
    optional :mutual_tls, :bool, 25
    optional :ca_cert, :string, 26
    optional :enable_ui, :bool, 27
  end
  add_message "api.UIFlags" do
    optional :oauth_client_id, :string, 1
    optional :oauth_client_secret, :string, 2
    optional :oauth_authorization_url, :string, 3
    optional :oauth_token_url, :string, 4
    optional :oauth_redirect_url, :string, 5
    repeated :oauth_scopes, :string, 6
    optional :session_secret, :string, 7
  end
  add_message "api.Boolean" do
    optional :value, :bool, 1
  end
  add_message "api.Number" do
    optional :value, :double, 1
  end
  add_message "api.ExistsFilter" do
    optional :gtype, :string, 1
    optional :expression, :string, 2
    optional :seek, :string, 3
    optional :reverse, :bool, 4
    optional :index, :string, 5
  end
  add_message "api.Edit" do
    optional :ref, :message, 1, "api.Ref"
    optional :attributes, :message, 2, "google.protobuf.Struct"
  end
  add_message "api.EditFilter" do
    optional :filter, :message, 1, "api.Filter"
    optional :attributes, :message, 2, "google.protobuf.Struct"
  end
  add_message "api.Pong" do
    optional :message, :string, 1
  end
  add_message "api.OutboundMessage" do
    optional :channel, :string, 1
    optional :data, :message, 2, "google.protobuf.Struct"
  end
  add_message "api.Message" do
    optional :channel, :string, 1
    optional :data, :message, 2, "google.protobuf.Struct"
    optional :user, :message, 3, "api.Ref"
    optional :timestamp, :message, 4, "google.protobuf.Timestamp"
    optional :method, :string, 5
  end
  add_message "api.Schema" do
    repeated :connection_types, :string, 1
    repeated :doc_types, :string, 2
    optional :authorizers, :message, 3, "api.Authorizers"
    optional :constraints, :message, 4, "api.Constraints"
    optional :indexes, :message, 5, "api.Indexes"
    optional :triggers, :message, 6, "api.Triggers"
  end
  add_message "api.ExprFilter" do
    optional :expression, :string, 1
  end
  add_message "api.RaftCommand" do
    optional :user, :message, 1, "api.Doc"
    optional :method, :string, 2
    repeated :set_docs, :message, 3, "api.Doc"
    repeated :set_connections, :message, 4, "api.Connection"
    repeated :del_docs, :message, 5, "api.Ref"
    repeated :del_connections, :message, 6, "api.Ref"
    optional :set_indexes, :message, 7, "api.Indexes"
    optional :set_authorizers, :message, 8, "api.Authorizers"
    optional :set_constraints, :message, 9, "api.Constraints"
    optional :send_message, :message, 10, "api.Message"
    optional :set_triggers, :message, 11, "api.Triggers"
  end
  add_message "api.Peer" do
    optional :node_id, :string, 1
    optional :addr, :string, 2
  end
  add_message "api.RaftState" do
    optional :leader, :string, 1
    optional :membership, :enum, 2, "api.Membership"
    repeated :peers, :message, 3, "api.Peer"
    map :stats, :string, :string, 4
  end
  add_enum "api.Algorithm" do
    value :BFS, 0
    value :DFS, 1
  end
  add_enum "api.Aggregate" do
    value :COUNT, 0
    value :SUM, 1
    value :AVG, 2
    value :MAX, 3
    value :MIN, 4
    value :PROD, 5
  end
  add_enum "api.Membership" do
    value :UNKNOWN, 0
    value :FOLLOWER, 1
    value :CANDIDATE, 2
    value :LEADER, 3
    value :SHUTDOWN, 4
  end
end

module Api
  Ref = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Ref").msgclass
  RefConstructor = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.RefConstructor").msgclass
  Refs = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Refs").msgclass
  Doc = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Doc").msgclass
  DocConstructor = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.DocConstructor").msgclass
  DocConstructors = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.DocConstructors").msgclass
  Traversal = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Traversal").msgclass
  Traversals = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Traversals").msgclass
  Docs = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Docs").msgclass
  Connection = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Connection").msgclass
  ConnectionConstructor = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ConnectionConstructor").msgclass
  SearchConnectFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.SearchConnectFilter").msgclass
  SearchConnectMeFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.SearchConnectMeFilter").msgclass
  ConnectionConstructors = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ConnectionConstructors").msgclass
  Connections = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Connections").msgclass
  ConnectFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ConnectFilter").msgclass
  Filter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Filter").msgclass
  AggFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.AggFilter").msgclass
  TraverseFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.TraverseFilter").msgclass
  TraverseMeFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.TraverseMeFilter").msgclass
  IndexConstructor = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.IndexConstructor").msgclass
  AuthTarget = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.AuthTarget").msgclass
  Authorizer = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Authorizer").msgclass
  Authorizers = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Authorizers").msgclass
  Constraint = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Constraint").msgclass
  Constraints = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Constraints").msgclass
  Index = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Index").msgclass
  Indexes = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Indexes").msgclass
  Trigger = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Trigger").msgclass
  Triggers = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Triggers").msgclass
  StreamFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.StreamFilter").msgclass
  Graph = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Graph").msgclass
  Flags = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Flags").msgclass
  UIFlags = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.UIFlags").msgclass
  Boolean = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Boolean").msgclass
  Number = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Number").msgclass
  ExistsFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ExistsFilter").msgclass
  Edit = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Edit").msgclass
  EditFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.EditFilter").msgclass
  Pong = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Pong").msgclass
  OutboundMessage = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.OutboundMessage").msgclass
  Message = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Message").msgclass
  Schema = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Schema").msgclass
  ExprFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ExprFilter").msgclass
  RaftCommand = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.RaftCommand").msgclass
  Peer = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Peer").msgclass
  RaftState = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.RaftState").msgclass
  Algorithm = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Algorithm").enummodule
  Aggregate = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Aggregate").enummodule
  Membership = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Membership").enummodule
end
