ENUM
-AuthType
- -- - link - - GraphQL Schema definition -
-- enum AuthType {
- }
- diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 6f3fb2a..30af58e 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.5.2 +current_version = 0.6.0 commit = False tag = False diff --git a/Makefile b/Makefile index 723c38d..2d9ea02 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -version := "0.5.2" +version := "0.6.0" .DEFAULT_GOAL := help diff --git a/README.md b/README.md index ad73320..68ca776 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ git clone git@github.com:graphikDB/graphik.git -` docker pull graphikdb/graphik:v0.5.2` +` docker pull graphikdb/graphik:v0.6.0` Graphik is an identity-aware, permissioned, persistant document/graph database & pubsub server written in Go @@ -549,7 +549,7 @@ add this docker-compose.yml to ${pwd}: version: '3.7' services: graphik: - image: graphikdb/graphik:v0.5.2 + image: graphikdb/graphik:v0.6.0 env_file: - .env ports: @@ -583,13 +583,13 @@ to shutdown: ### Linux - curl -L https://github.com/graphikDB/graphik/releases/download/v0.5.2/graphik_linux_amd64 \ + curl -L https://github.com/graphikDB/graphik/releases/download/v0.6.0/graphik_linux_amd64 \ --output /usr/local/bin/graphik && \ chmod +x /usr/local/bin/graphik ### Mac/Darwin - curl -L https://github.com/graphikDB/graphik/releases/download/v0.5.2/graphik_darwin_amd64 \ + curl -L https://github.com/graphikDB/graphik/releases/download/v0.6.0/graphik_darwin_amd64 \ --output /usr/local/bin/graphik && \ chmod +x /usr/local/bin/graphik diff --git a/database/db.go b/database/db.go index 4dcc068..2bf9f52 100644 --- a/database/db.go +++ b/database/db.go @@ -530,16 +530,6 @@ func (g *Graph) getDoc(ctx context.Context, tx *bbolt.Tx, path *apipb.Ref) (*api if ctx.Err() != nil { return nil, ctx.Err() } - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_DOC { - authorizers = append(authorizers, a.program) - } - return true - }) - } - if path == nil { return nil, ErrNotFound } @@ -556,23 +546,6 @@ func (g *Graph) getDoc(ctx context.Context, tx *bbolt.Tx, path *apipb.Ref) (*api if err := proto.Unmarshal(bits, &doc); err != nil { return nil, err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_DOC, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(doc.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return &doc, nil - } - if !res { - return nil, status.Error(codes.PermissionDenied, "view doc = permission denied") - } - } - } return &doc, nil } @@ -583,13 +556,6 @@ func (g *Graph) getConnection(ctx context.Context, tx *bbolt.Tx, path *apipb.Ref if ctx.Err() != nil { return nil, ctx.Err() } - var authorizers []cel.Program - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_DOC { - authorizers = append(authorizers, a.program) - } - return true - }) var connection apipb.Connection bucket := tx.Bucket(dbConnections).Bucket([]byte(path.Gtype)) if bucket == nil { @@ -602,23 +568,6 @@ func (g *Graph) getConnection(ctx context.Context, tx *bbolt.Tx, path *apipb.Ref if err := proto.Unmarshal(bits, &connection); err != nil { return nil, err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return &connection, nil - } - if !res { - return nil, status.Error(codes.PermissionDenied, "view connection = permission denied") - } - } - } return &connection, nil } @@ -626,15 +575,6 @@ func (g *Graph) rangeConnections(ctx context.Context, gType string, fn func(n *a if err := ctx.Err(); err != nil { return err } - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_CONNECTION { - authorizers = append(authorizers, a.program) - } - return true - }) - } if err := g.db.View(func(tx *bbolt.Tx) error { if gType == apipb.Any { @@ -662,24 +602,6 @@ func (g *Graph) rangeConnections(ctx context.Context, gType string, fn func(n *a if err := proto.Unmarshal(v, &connection); err != nil { return err } - - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } if !fn(&connection) { return DONE } @@ -695,15 +617,6 @@ func (g *Graph) rangeDocs(ctx context.Context, gType string, fn func(n *apipb.Do if err := ctx.Err(); err != nil { return err } - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_DOC { - authorizers = append(authorizers, a.program) - } - return true - }) - } if err := g.db.View(func(tx *bbolt.Tx) error { if gType == apipb.Any { @@ -731,23 +644,6 @@ func (g *Graph) rangeDocs(ctx context.Context, gType string, fn func(n *apipb.Do if err := proto.Unmarshal(v, &doc); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_DOC, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(doc.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } if !fn(&doc) { return DONE } @@ -885,16 +781,6 @@ func (g *Graph) rangeTo(ctx context.Context, tx *bbolt.Tx, docRef *apipb.Ref, fn paths = append(paths, path) } sort.Strings(paths) - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_CONNECTION { - authorizers = append(authorizers, a.program) - } - return true - }) - } - for _, path := range paths { if err := ctx.Err(); err != nil { return err @@ -910,23 +796,6 @@ func (g *Graph) rangeTo(ctx context.Context, tx *bbolt.Tx, docRef *apipb.Ref, fn if err := proto.Unmarshal(bits, &connection); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } if !fn(&connection) { return nil } @@ -943,15 +812,6 @@ func (g *Graph) rangeFrom(ctx context.Context, tx *bbolt.Tx, docRef *apipb.Ref, paths = append(paths, path) } sort.Strings(paths) - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_CONNECTION { - authorizers = append(authorizers, a.program) - } - return true - }) - } for _, val := range paths { if err := ctx.Err(); err != nil { return err @@ -966,23 +826,6 @@ func (g *Graph) rangeFrom(ctx context.Context, tx *bbolt.Tx, docRef *apipb.Ref, if err := proto.Unmarshal(bits, &connection); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } if !fn(&connection) { return nil } @@ -994,13 +837,6 @@ func (g *Graph) rangeSeekConnections(ctx context.Context, gType string, seek str if ctx.Err() != nil { return seek, ctx.Err() } - var authorizers []cel.Program - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_CONNECTION { - authorizers = append(authorizers, a.program) - } - return true - }) var lastKey []byte if err := g.db.View(func(tx *bbolt.Tx) error { var c *bbolt.Cursor @@ -1030,23 +866,6 @@ func (g *Graph) rangeSeekConnections(ctx context.Context, gType string, seek str if err := proto.Unmarshal(v, &connection); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } lastKey = k if !fn(&connection) { return DONE @@ -1061,23 +880,6 @@ func (g *Graph) rangeSeekConnections(ctx context.Context, gType string, seek str if err := proto.Unmarshal(v, &connection); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_CONNECTION, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(connection.AsMap()), - }, a) - if err != nil { - logger.Error("view connection authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } lastKey = k if !fn(&connection) { return DONE @@ -1095,15 +897,6 @@ func (g *Graph) rangeSeekDocs(ctx context.Context, gType string, seek string, in if ctx.Err() != nil { return seek, ctx.Err() } - var authorizers []cel.Program - if ctx.Value(bypassAuthorizersCtxKey) == nil { - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_VIEW_DOC { - authorizers = append(authorizers, a.program) - } - return true - }) - } var lastKey []byte if err := g.db.View(func(tx *bbolt.Tx) error { var c *bbolt.Cursor @@ -1133,23 +926,6 @@ func (g *Graph) rangeSeekDocs(ctx context.Context, gType string, seek string, in if err := proto.Unmarshal(v, &doc); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_DOC, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(doc.AsMap()), - }, a) - if err != nil { - logger.Error("view doc authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } lastKey = k if !fn(&doc) { return DONE @@ -1164,23 +940,6 @@ func (g *Graph) rangeSeekDocs(ctx context.Context, gType string, seek string, in if err := proto.Unmarshal(v, &doc); err != nil { return err } - if len(authorizers) > 0 { - for _, a := range authorizers { - res, err := g.vm.Auth().Eval(&apipb.AuthTarget{ - Type: apipb.AuthType_VIEW_DOC, - Method: g.getMethod(ctx), - User: g.getIdentity(ctx), - Data: apipb.NewStruct(doc.AsMap()), - }, a) - if err != nil { - logger.Error("view doc authorization error", zap.Error(err)) - return nil - } - if !res { - return nil - } - } - } lastKey = k if !fn(&doc) { return DONE diff --git a/database/interceptors.go b/database/interceptors.go index 2683016..173936c 100644 --- a/database/interceptors.go +++ b/database/interceptors.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "github.com/golang/protobuf/ptypes/empty" "github.com/google/cel-go/cel" "github.com/graphikDB/graphik/gen/grpc/go" "github.com/graphikDB/graphik/helpers" @@ -38,7 +39,14 @@ func (g *Graph) UnaryInterceptor() grpc.UnaryServerInterceptor { if err != nil { return nil, err } - return handler(ctx, req) + hresp, err := handler(ctx, req) + if err != nil { + return hresp, err + } + if err := g.checkResponse(ctx, info.FullMethod, hresp, payload); err != nil { + return nil, err + } + return hresp, nil } ctx = g.methodToContext(ctx, info.FullMethod) userinfoReq, err := http.NewRequest(http.MethodGet, g.openID.UserinfoEndpoint, nil) @@ -67,7 +75,14 @@ func (g *Graph) UnaryInterceptor() grpc.UnaryServerInterceptor { if err != nil { return nil, err } - return handler(ctx, req) + hresp, err := handler(ctx, req) + if err != nil { + return hresp, err + } + if err := g.checkResponse(ctx, info.FullMethod, hresp, payload); err != nil { + return nil, err + } + return hresp, nil } } @@ -80,13 +95,19 @@ func (g *Graph) StreamInterceptor() grpc.StreamServerInterceptor { tokenHash := helpers.Hash([]byte(token)) if val, ok := g.jwtCache.Get(tokenHash); ok { payload := val.(map[string]interface{}) - ctx, err := g.checkRequest(ss.Context(), info.FullMethod, srv, payload) - if err != nil { - return err + if info.IsClientStream { + ctx, err := g.checkRequest(ss.Context(), info.FullMethod, srv, payload) + if err != nil { + return err + } + wrapped := grpc_middleware.WrapServerStream(ss) + wrapped.WrappedContext = ctx + return handler(srv, wrapped) + } else { + if err := g.checkResponse(ss.Context(), info.FullMethod, srv, payload); err != nil { + return err + } } - wrapped := grpc_middleware.WrapServerStream(ss) - wrapped.WrappedContext = ctx - return handler(srv, wrapped) } ctx := g.methodToContext(ss.Context(), info.FullMethod) userinfoReq, err := http.NewRequest(http.MethodGet, g.openID.UserinfoEndpoint, nil) @@ -238,41 +259,94 @@ func (g *Graph) checkRequest(ctx context.Context, method string, req interface{} if err != nil { return nil, status.Errorf(codes.Unauthenticated, err.Error()) } - if !g.isGraphikAdmin(user) { - ctx = context.WithValue(ctx, bypassAuthorizersCtxKey, true) - var programs []cel.Program - g.rangeAuthorizers(func(a *authorizer) bool { - if a.authorizer.GetType() == apipb.AuthType_REQUEST { - programs = append(programs, a.program) - } - return true - }) - if len(programs) == 0 { - return ctx, nil - } - request := &apipb.AuthTarget{ - Method: method, - User: user, + if g.isGraphikAdmin(user) { + return context.WithValue(ctx, bypassAuthorizersCtxKey, true), nil + } + var programs []cel.Program + g.rangeAuthorizers(func(a *authorizer) bool { + if a.authorizer.GetTargetRequests() { + programs = append(programs, a.program) } - if val, ok := req.(apipb.Mapper); ok { - request.Data = apipb.NewStruct(val.AsMap()) - } else if val, ok := req.(proto.Message); ok { - bits, _ := helpers.MarshalJSON(val) - reqMap := map[string]interface{}{} - if err := json.Unmarshal(bits, &reqMap); err != nil { - return nil, status.Error(codes.Internal, err.Error()) - } - request.Data = apipb.NewStruct(reqMap) + return true + }) + if len(programs) == 0 { + return ctx, nil + } + request := &apipb.AuthTarget{ + Method: method, + User: user, + } + if val, ok := req.(apipb.Mapper); ok { + request.Target = apipb.NewStruct(val.AsMap()) + } else if val, ok := req.(proto.Message); ok { + bits, _ := helpers.MarshalJSON(val) + reqMap := map[string]interface{}{} + if err := json.Unmarshal(bits, &reqMap); err != nil { + return nil, status.Error(codes.Internal, err.Error()) } - result, err := g.vm.Auth().Eval(request, programs...) + request.Target = apipb.NewStruct(reqMap) + } + result, err := g.vm.Auth().Eval(request, programs...) + if err != nil { + return nil, err + } + if !result { + return nil, status.Errorf(codes.PermissionDenied, "request from %s.%s authorization = denied", user.GetRef().GetGtype(), user.GetRef().GetGid()) + } + return ctx, nil +} + +func (g *Graph) checkResponse(ctx context.Context, method string, response interface{}, payload map[string]interface{}) error { + if _, ok := response.(*empty.Empty); ok { + return nil + } + ctx = g.methodToContext(ctx, method) + var ( + err error + user = g.getIdentity(ctx) + ) + if user == nil { + ctx, user, err = g.userToContext(ctx, payload) if err != nil { - return nil, err + return status.Errorf(codes.Unauthenticated, err.Error()) + } + } + if g.isGraphikAdmin(user) { + return nil + } + var programs []cel.Program + g.rangeAuthorizers(func(a *authorizer) bool { + if a.authorizer.GetTargetResponses() { + programs = append(programs, a.program) } - if !result { - return nil, status.Errorf(codes.PermissionDenied, "request from %s.%s authorization = denied", user.GetRef().GetGtype(), user.GetRef().GetGid()) + return true + }) + if len(programs) == 0 { + return nil + } + request := &apipb.AuthTarget{ + Method: method, + User: user, + Target: nil, + } + if val, ok := response.(apipb.Mapper); ok { + request.Target = apipb.NewStruct(val.AsMap()) + } else if val, ok := response.(proto.Message); ok { + bits, _ := helpers.MarshalJSON(val) + reqMap := map[string]interface{}{} + if err := json.Unmarshal(bits, &reqMap); err != nil { + return status.Error(codes.Internal, err.Error()) } + request.Target = apipb.NewStruct(reqMap) } - return ctx, nil + result, err := g.vm.Auth().Eval(request, programs...) + if err != nil { + return err + } + if !result { + return status.Errorf(codes.PermissionDenied, "response to %s.%s authorization = denied", user.GetRef().GetGtype(), user.GetRef().GetGid()) + } + return nil } func (g *Graph) isGraphikAdmin(user *apipb.Doc) bool { diff --git a/docker-compose.yml b/docker-compose.yml index 4a91c1b..f90bd83 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: graphik: - image: graphikdb/graphik:v0.5.2 + image: graphikdb/graphik:v0.6.0 env_file: - .env ports: diff --git a/docs/aggfilter.doc.html b/docs/aggfilter.doc.html index 3d8a81f..e8baa66 100644 --- a/docs/aggfilter.doc.html +++ b/docs/aggfilter.doc.html @@ -95,11 +95,6 @@
ENUM
-- enum AuthType {
- }
- REQUEST = 0;
- */
- REQUEST(0),
- /**
- * VIEW_DOC = 1;
- */
- VIEW_DOC(1),
- /**
- * VIEW_CONNECTION = 2;
- */
- VIEW_CONNECTION(2),
- UNRECOGNIZED(-1),
- ;
-
- /**
- * REQUEST = 0;
- */
- public static final int REQUEST_VALUE = 0;
- /**
- * VIEW_DOC = 1;
- */
- public static final int VIEW_DOC_VALUE = 1;
- /**
- * VIEW_CONNECTION = 2;
- */
- public static final int VIEW_CONNECTION_VALUE = 2;
-
-
- public final int getNumber() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalArgumentException(
- "Can't get the number of an unknown enum value.");
- }
- return value;
- }
-
- /**
- * @deprecated Use {@link #forNumber(int)} instead.
- */
- @java.lang.Deprecated
- public static AuthType valueOf(int value) {
- return forNumber(value);
- }
-
- public static AuthType forNumber(int value) {
- switch (value) {
- case 0: return REQUEST;
- case 1: return VIEW_DOC;
- case 2: return VIEW_CONNECTION;
- default: return null;
- }
- }
-
- public static com.google.protobuf.Internal.EnumLiteMap.api.AuthType type = 1;
- */
- int getTypeValue();
- /**
- * .api.AuthType type = 1;
- */
- api.Graphik.AuthType getType();
-
/**
* * method is the rpc method ** - *
string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
java.lang.String getMethod();
/**
@@ -23175,7 +23059,7 @@ public interface AuthTargetOrBuilder extends
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
com.google.protobuf.ByteString
getMethodBytes();
@@ -23185,7 +23069,7 @@ public interface AuthTargetOrBuilder extends
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
boolean hasUser();
/**
@@ -23193,7 +23077,7 @@ public interface AuthTargetOrBuilder extends
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
api.Graphik.Doc getUser();
/**
@@ -23201,34 +23085,22 @@ public interface AuthTargetOrBuilder extends
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
api.Graphik.DocOrBuilder getUserOrBuilder();
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- boolean hasData();
+ boolean hasTarget();
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- com.google.protobuf.Struct getData();
+ com.google.protobuf.Struct getTarget();
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- com.google.protobuf.StructOrBuilder getDataOrBuilder();
+ com.google.protobuf.StructOrBuilder getTargetOrBuilder();
}
/**
* Protobuf type {@code api.AuthTarget}
@@ -23243,7 +23115,6 @@ private AuthTarget(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private AuthTarget() {
- type_ = 0;
method_ = "";
}
@@ -23271,19 +23142,13 @@ private AuthTarget(
case 0:
done = true;
break;
- case 8: {
- int rawValue = input.readEnum();
-
- type_ = rawValue;
- break;
- }
- case 18: {
+ case 26: {
java.lang.String s = input.readStringRequireUtf8();
method_ = s;
break;
}
- case 26: {
+ case 34: {
api.Graphik.Doc.Builder subBuilder = null;
if (user_ != null) {
subBuilder = user_.toBuilder();
@@ -23296,15 +23161,15 @@ private AuthTarget(
break;
}
- case 34: {
+ case 42: {
com.google.protobuf.Struct.Builder subBuilder = null;
- if (data_ != null) {
- subBuilder = data_.toBuilder();
+ if (target_ != null) {
+ subBuilder = target_.toBuilder();
}
- data_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ target_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
if (subBuilder != null) {
- subBuilder.mergeFrom(data_);
- data_ = subBuilder.buildPartial();
+ subBuilder.mergeFrom(target_);
+ target_ = subBuilder.buildPartial();
}
break;
@@ -23341,31 +23206,14 @@ private AuthTarget(
api.Graphik.AuthTarget.class, api.Graphik.AuthTarget.Builder.class);
}
- public static final int TYPE_FIELD_NUMBER = 1;
- private int type_;
- /**
- * .api.AuthType type = 1;
- */
- public int getTypeValue() {
- return type_;
- }
- /**
- * .api.AuthType type = 1;
- */
- public api.Graphik.AuthType getType() {
- @SuppressWarnings("deprecation")
- api.Graphik.AuthType result = api.Graphik.AuthType.valueOf(type_);
- return result == null ? api.Graphik.AuthType.UNRECOGNIZED : result;
- }
-
- public static final int METHOD_FIELD_NUMBER = 2;
+ public static final int METHOD_FIELD_NUMBER = 3;
private volatile java.lang.Object method_;
/**
* * method is the rpc method ** - *
string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public java.lang.String getMethod() {
java.lang.Object ref = method_;
@@ -23384,7 +23232,7 @@ public java.lang.String getMethod() {
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public com.google.protobuf.ByteString
getMethodBytes() {
@@ -23400,14 +23248,14 @@ public java.lang.String getMethod() {
}
}
- public static final int USER_FIELD_NUMBER = 3;
+ public static final int USER_FIELD_NUMBER = 4;
private api.Graphik.Doc user_;
/**
* * user is the user making the request ** - *
.api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public boolean hasUser() {
return user_ != null;
@@ -23417,7 +23265,7 @@ public boolean hasUser() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public api.Graphik.Doc getUser() {
return user_ == null ? api.Graphik.Doc.getDefaultInstance() : user_;
@@ -23427,43 +23275,31 @@ public api.Graphik.Doc getUser() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public api.Graphik.DocOrBuilder getUserOrBuilder() {
return getUser();
}
- public static final int DATA_FIELD_NUMBER = 4;
- private com.google.protobuf.Struct data_;
+ public static final int TARGET_FIELD_NUMBER = 5;
+ private com.google.protobuf.Struct target_;
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public boolean hasData() {
- return data_ != null;
+ public boolean hasTarget() {
+ return target_ != null;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public com.google.protobuf.Struct getData() {
- return data_ == null ? com.google.protobuf.Struct.getDefaultInstance() : data_;
+ public com.google.protobuf.Struct getTarget() {
+ return target_ == null ? com.google.protobuf.Struct.getDefaultInstance() : target_;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public com.google.protobuf.StructOrBuilder getDataOrBuilder() {
- return getData();
+ public com.google.protobuf.StructOrBuilder getTargetOrBuilder() {
+ return getTarget();
}
private byte memoizedIsInitialized = -1;
@@ -23480,17 +23316,14 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
- if (type_ != api.Graphik.AuthType.REQUEST.getNumber()) {
- output.writeEnum(1, type_);
- }
if (!getMethodBytes().isEmpty()) {
- com.google.protobuf.GeneratedMessageV3.writeString(output, 2, method_);
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, method_);
}
if (user_ != null) {
- output.writeMessage(3, getUser());
+ output.writeMessage(4, getUser());
}
- if (data_ != null) {
- output.writeMessage(4, getData());
+ if (target_ != null) {
+ output.writeMessage(5, getTarget());
}
unknownFields.writeTo(output);
}
@@ -23501,20 +23334,16 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (type_ != api.Graphik.AuthType.REQUEST.getNumber()) {
- size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(1, type_);
- }
if (!getMethodBytes().isEmpty()) {
- size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, method_);
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, method_);
}
if (user_ != null) {
size += com.google.protobuf.CodedOutputStream
- .computeMessageSize(3, getUser());
+ .computeMessageSize(4, getUser());
}
- if (data_ != null) {
+ if (target_ != null) {
size += com.google.protobuf.CodedOutputStream
- .computeMessageSize(4, getData());
+ .computeMessageSize(5, getTarget());
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -23532,7 +23361,6 @@ public boolean equals(final java.lang.Object obj) {
api.Graphik.AuthTarget other = (api.Graphik.AuthTarget) obj;
boolean result = true;
- result = result && type_ == other.type_;
result = result && getMethod()
.equals(other.getMethod());
result = result && (hasUser() == other.hasUser());
@@ -23540,10 +23368,10 @@ public boolean equals(final java.lang.Object obj) {
result = result && getUser()
.equals(other.getUser());
}
- result = result && (hasData() == other.hasData());
- if (hasData()) {
- result = result && getData()
- .equals(other.getData());
+ result = result && (hasTarget() == other.hasTarget());
+ if (hasTarget()) {
+ result = result && getTarget()
+ .equals(other.getTarget());
}
result = result && unknownFields.equals(other.unknownFields);
return result;
@@ -23556,17 +23384,15 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- hash = (37 * hash) + TYPE_FIELD_NUMBER;
- hash = (53 * hash) + type_;
hash = (37 * hash) + METHOD_FIELD_NUMBER;
hash = (53 * hash) + getMethod().hashCode();
if (hasUser()) {
hash = (37 * hash) + USER_FIELD_NUMBER;
hash = (53 * hash) + getUser().hashCode();
}
- if (hasData()) {
- hash = (37 * hash) + DATA_FIELD_NUMBER;
- hash = (53 * hash) + getData().hashCode();
+ if (hasTarget()) {
+ hash = (37 * hash) + TARGET_FIELD_NUMBER;
+ hash = (53 * hash) + getTarget().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
@@ -23701,8 +23527,6 @@ private void maybeForceBuilderInitialization() {
@java.lang.Override
public Builder clear() {
super.clear();
- type_ = 0;
-
method_ = "";
if (userBuilder_ == null) {
@@ -23711,11 +23535,11 @@ public Builder clear() {
user_ = null;
userBuilder_ = null;
}
- if (dataBuilder_ == null) {
- data_ = null;
+ if (targetBuilder_ == null) {
+ target_ = null;
} else {
- data_ = null;
- dataBuilder_ = null;
+ target_ = null;
+ targetBuilder_ = null;
}
return this;
}
@@ -23743,17 +23567,16 @@ public api.Graphik.AuthTarget build() {
@java.lang.Override
public api.Graphik.AuthTarget buildPartial() {
api.Graphik.AuthTarget result = new api.Graphik.AuthTarget(this);
- result.type_ = type_;
result.method_ = method_;
if (userBuilder_ == null) {
result.user_ = user_;
} else {
result.user_ = userBuilder_.build();
}
- if (dataBuilder_ == null) {
- result.data_ = data_;
+ if (targetBuilder_ == null) {
+ result.target_ = target_;
} else {
- result.data_ = dataBuilder_.build();
+ result.target_ = targetBuilder_.build();
}
onBuilt();
return result;
@@ -23803,9 +23626,6 @@ public Builder mergeFrom(com.google.protobuf.Message other) {
public Builder mergeFrom(api.Graphik.AuthTarget other) {
if (other == api.Graphik.AuthTarget.getDefaultInstance()) return this;
- if (other.type_ != 0) {
- setTypeValue(other.getTypeValue());
- }
if (!other.getMethod().isEmpty()) {
method_ = other.method_;
onChanged();
@@ -23813,8 +23633,8 @@ public Builder mergeFrom(api.Graphik.AuthTarget other) {
if (other.hasUser()) {
mergeUser(other.getUser());
}
- if (other.hasData()) {
- mergeData(other.getData());
+ if (other.hasTarget()) {
+ mergeTarget(other.getTarget());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
@@ -23845,58 +23665,13 @@ public Builder mergeFrom(
return this;
}
- private int type_ = 0;
- /**
- * .api.AuthType type = 1;
- */
- public int getTypeValue() {
- return type_;
- }
- /**
- * .api.AuthType type = 1;
- */
- public Builder setTypeValue(int value) {
- type_ = value;
- onChanged();
- return this;
- }
- /**
- * .api.AuthType type = 1;
- */
- public api.Graphik.AuthType getType() {
- @SuppressWarnings("deprecation")
- api.Graphik.AuthType result = api.Graphik.AuthType.valueOf(type_);
- return result == null ? api.Graphik.AuthType.UNRECOGNIZED : result;
- }
- /**
- * .api.AuthType type = 1;
- */
- public Builder setType(api.Graphik.AuthType value) {
- if (value == null) {
- throw new NullPointerException();
- }
-
- type_ = value.getNumber();
- onChanged();
- return this;
- }
- /**
- * .api.AuthType type = 1;
- */
- public Builder clearType() {
-
- type_ = 0;
- onChanged();
- return this;
- }
-
private java.lang.Object method_ = "";
/**
* * method is the rpc method ** - *
string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public java.lang.String getMethod() {
java.lang.Object ref = method_;
@@ -23915,7 +23690,7 @@ public java.lang.String getMethod() {
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public com.google.protobuf.ByteString
getMethodBytes() {
@@ -23935,7 +23710,7 @@ public java.lang.String getMethod() {
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public Builder setMethod(
java.lang.String value) {
@@ -23952,7 +23727,7 @@ public Builder setMethod(
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public Builder clearMethod() {
@@ -23965,7 +23740,7 @@ public Builder clearMethod() {
* method is the rpc method
*
*
- * string method = 2 [(.validator.field) = { ... }
+ * string method = 3 [(.validator.field) = { ... }
*/
public Builder setMethodBytes(
com.google.protobuf.ByteString value) {
@@ -23987,7 +23762,7 @@ public Builder setMethodBytes(
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public boolean hasUser() {
return userBuilder_ != null || user_ != null;
@@ -23997,7 +23772,7 @@ public boolean hasUser() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public api.Graphik.Doc getUser() {
if (userBuilder_ == null) {
@@ -24011,7 +23786,7 @@ public api.Graphik.Doc getUser() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public Builder setUser(api.Graphik.Doc value) {
if (userBuilder_ == null) {
@@ -24031,7 +23806,7 @@ public Builder setUser(api.Graphik.Doc value) {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public Builder setUser(
api.Graphik.Doc.Builder builderForValue) {
@@ -24049,7 +23824,7 @@ public Builder setUser(
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public Builder mergeUser(api.Graphik.Doc value) {
if (userBuilder_ == null) {
@@ -24071,7 +23846,7 @@ public Builder mergeUser(api.Graphik.Doc value) {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public Builder clearUser() {
if (userBuilder_ == null) {
@@ -24089,7 +23864,7 @@ public Builder clearUser() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public api.Graphik.Doc.Builder getUserBuilder() {
@@ -24101,7 +23876,7 @@ public api.Graphik.Doc.Builder getUserBuilder() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
public api.Graphik.DocOrBuilder getUserOrBuilder() {
if (userBuilder_ != null) {
@@ -24116,7 +23891,7 @@ public api.Graphik.DocOrBuilder getUserOrBuilder() {
* user is the user making the request
*
*
- * .api.Doc user = 3 [(.validator.field) = { ... }
+ * .api.Doc user = 4 [(.validator.field) = { ... }
*/
private com.google.protobuf.SingleFieldBuilderV3<
api.Graphik.Doc, api.Graphik.Doc.Builder, api.Graphik.DocOrBuilder>
@@ -24132,157 +23907,121 @@ public api.Graphik.DocOrBuilder getUserOrBuilder() {
return userBuilder_;
}
- private com.google.protobuf.Struct data_ = null;
+ private com.google.protobuf.Struct target_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
- com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> dataBuilder_;
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> targetBuilder_;
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public boolean hasData() {
- return dataBuilder_ != null || data_ != null;
+ public boolean hasTarget() {
+ return targetBuilder_ != null || target_ != null;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public com.google.protobuf.Struct getData() {
- if (dataBuilder_ == null) {
- return data_ == null ? com.google.protobuf.Struct.getDefaultInstance() : data_;
+ public com.google.protobuf.Struct getTarget() {
+ if (targetBuilder_ == null) {
+ return target_ == null ? com.google.protobuf.Struct.getDefaultInstance() : target_;
} else {
- return dataBuilder_.getMessage();
+ return targetBuilder_.getMessage();
}
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public Builder setData(com.google.protobuf.Struct value) {
- if (dataBuilder_ == null) {
+ public Builder setTarget(com.google.protobuf.Struct value) {
+ if (targetBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
- data_ = value;
+ target_ = value;
onChanged();
} else {
- dataBuilder_.setMessage(value);
+ targetBuilder_.setMessage(value);
}
return this;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public Builder setData(
+ public Builder setTarget(
com.google.protobuf.Struct.Builder builderForValue) {
- if (dataBuilder_ == null) {
- data_ = builderForValue.build();
+ if (targetBuilder_ == null) {
+ target_ = builderForValue.build();
onChanged();
} else {
- dataBuilder_.setMessage(builderForValue.build());
+ targetBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public Builder mergeData(com.google.protobuf.Struct value) {
- if (dataBuilder_ == null) {
- if (data_ != null) {
- data_ =
- com.google.protobuf.Struct.newBuilder(data_).mergeFrom(value).buildPartial();
+ public Builder mergeTarget(com.google.protobuf.Struct value) {
+ if (targetBuilder_ == null) {
+ if (target_ != null) {
+ target_ =
+ com.google.protobuf.Struct.newBuilder(target_).mergeFrom(value).buildPartial();
} else {
- data_ = value;
+ target_ = value;
}
onChanged();
} else {
- dataBuilder_.mergeFrom(value);
+ targetBuilder_.mergeFrom(value);
}
return this;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public Builder clearData() {
- if (dataBuilder_ == null) {
- data_ = null;
+ public Builder clearTarget() {
+ if (targetBuilder_ == null) {
+ target_ = null;
onChanged();
} else {
- data_ = null;
- dataBuilder_ = null;
+ target_ = null;
+ targetBuilder_ = null;
}
return this;
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public com.google.protobuf.Struct.Builder getDataBuilder() {
+ public com.google.protobuf.Struct.Builder getTargetBuilder() {
onChanged();
- return getDataFieldBuilder().getBuilder();
+ return getTargetFieldBuilder().getBuilder();
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
- public com.google.protobuf.StructOrBuilder getDataOrBuilder() {
- if (dataBuilder_ != null) {
- return dataBuilder_.getMessageOrBuilder();
+ public com.google.protobuf.StructOrBuilder getTargetOrBuilder() {
+ if (targetBuilder_ != null) {
+ return targetBuilder_.getMessageOrBuilder();
} else {
- return data_ == null ?
- com.google.protobuf.Struct.getDefaultInstance() : data_;
+ return target_ == null ?
+ com.google.protobuf.Struct.getDefaultInstance() : target_;
}
}
/**
- * - * request is the intercepted request - *- * - *
.google.protobuf.Struct data = 4;
+ * .google.protobuf.Struct target = 5;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
- getDataFieldBuilder() {
- if (dataBuilder_ == null) {
- dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ getTargetFieldBuilder() {
+ if (targetBuilder_ == null) {
+ targetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
- getData(),
+ getTarget(),
getParentForChildren(),
isClean());
- data_ = null;
+ target_ = null;
}
- return dataBuilder_;
+ return targetBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(
@@ -24362,13 +24101,14 @@ public interface AuthorizerOrBuilder extends
getExpressionBytes();
/**
- * .api.AuthType type = 3;
+ * bool target_requests = 3;
*/
- int getTypeValue();
+ boolean getTargetRequests();
+
/**
- * .api.AuthType type = 3;
+ * bool target_responses = 4;
*/
- api.Graphik.AuthType getType();
+ boolean getTargetResponses();
}
/**
* Protobuf type {@code api.Authorizer}
@@ -24385,7 +24125,8 @@ private Authorizer(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
private Authorizer() {
name_ = "";
expression_ = "";
- type_ = 0;
+ targetRequests_ = false;
+ targetResponses_ = false;
}
@java.lang.Override
@@ -24425,9 +24166,13 @@ private Authorizer(
break;
}
case 24: {
- int rawValue = input.readEnum();
- type_ = rawValue;
+ targetRequests_ = input.readBool();
+ break;
+ }
+ case 32: {
+
+ targetResponses_ = input.readBool();
break;
}
default: {
@@ -24530,21 +24275,22 @@ public java.lang.String getExpression() {
}
}
- public static final int TYPE_FIELD_NUMBER = 3;
- private int type_;
+ public static final int TARGET_REQUESTS_FIELD_NUMBER = 3;
+ private boolean targetRequests_;
/**
- * .api.AuthType type = 3;
+ * bool target_requests = 3;
*/
- public int getTypeValue() {
- return type_;
+ public boolean getTargetRequests() {
+ return targetRequests_;
}
+
+ public static final int TARGET_RESPONSES_FIELD_NUMBER = 4;
+ private boolean targetResponses_;
/**
- * .api.AuthType type = 3;
+ * bool target_responses = 4;
*/
- public api.Graphik.AuthType getType() {
- @SuppressWarnings("deprecation")
- api.Graphik.AuthType result = api.Graphik.AuthType.valueOf(type_);
- return result == null ? api.Graphik.AuthType.UNRECOGNIZED : result;
+ public boolean getTargetResponses() {
+ return targetResponses_;
}
private byte memoizedIsInitialized = -1;
@@ -24567,8 +24313,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
if (!getExpressionBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, expression_);
}
- if (type_ != api.Graphik.AuthType.REQUEST.getNumber()) {
- output.writeEnum(3, type_);
+ if (targetRequests_ != false) {
+ output.writeBool(3, targetRequests_);
+ }
+ if (targetResponses_ != false) {
+ output.writeBool(4, targetResponses_);
}
unknownFields.writeTo(output);
}
@@ -24585,9 +24334,13 @@ public int getSerializedSize() {
if (!getExpressionBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, expression_);
}
- if (type_ != api.Graphik.AuthType.REQUEST.getNumber()) {
+ if (targetRequests_ != false) {
size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(3, type_);
+ .computeBoolSize(3, targetRequests_);
+ }
+ if (targetResponses_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(4, targetResponses_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -24609,7 +24362,10 @@ public boolean equals(final java.lang.Object obj) {
.equals(other.getName());
result = result && getExpression()
.equals(other.getExpression());
- result = result && type_ == other.type_;
+ result = result && (getTargetRequests()
+ == other.getTargetRequests());
+ result = result && (getTargetResponses()
+ == other.getTargetResponses());
result = result && unknownFields.equals(other.unknownFields);
return result;
}
@@ -24625,8 +24381,12 @@ public int hashCode() {
hash = (53 * hash) + getName().hashCode();
hash = (37 * hash) + EXPRESSION_FIELD_NUMBER;
hash = (53 * hash) + getExpression().hashCode();
- hash = (37 * hash) + TYPE_FIELD_NUMBER;
- hash = (53 * hash) + type_;
+ hash = (37 * hash) + TARGET_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getTargetRequests());
+ hash = (37 * hash) + TARGET_RESPONSES_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getTargetResponses());
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -24764,7 +24524,9 @@ public Builder clear() {
expression_ = "";
- type_ = 0;
+ targetRequests_ = false;
+
+ targetResponses_ = false;
return this;
}
@@ -24794,7 +24556,8 @@ public api.Graphik.Authorizer buildPartial() {
api.Graphik.Authorizer result = new api.Graphik.Authorizer(this);
result.name_ = name_;
result.expression_ = expression_;
- result.type_ = type_;
+ result.targetRequests_ = targetRequests_;
+ result.targetResponses_ = targetResponses_;
onBuilt();
return result;
}
@@ -24851,8 +24614,11 @@ public Builder mergeFrom(api.Graphik.Authorizer other) {
expression_ = other.expression_;
onChanged();
}
- if (other.type_ != 0) {
- setTypeValue(other.getTypeValue());
+ if (other.getTargetRequests() != false) {
+ setTargetRequests(other.getTargetRequests());
+ }
+ if (other.getTargetResponses() != false) {
+ setTargetResponses(other.getTargetResponses());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
@@ -25021,47 +24787,54 @@ public Builder setExpressionBytes(
return this;
}
- private int type_ = 0;
+ private boolean targetRequests_ ;
/**
- * .api.AuthType type = 3;
+ * bool target_requests = 3;
*/
- public int getTypeValue() {
- return type_;
+ public boolean getTargetRequests() {
+ return targetRequests_;
}
/**
- * .api.AuthType type = 3;
+ * bool target_requests = 3;
*/
- public Builder setTypeValue(int value) {
- type_ = value;
+ public Builder setTargetRequests(boolean value) {
+
+ targetRequests_ = value;
onChanged();
return this;
}
/**
- * .api.AuthType type = 3;
+ * bool target_requests = 3;
*/
- public api.Graphik.AuthType getType() {
- @SuppressWarnings("deprecation")
- api.Graphik.AuthType result = api.Graphik.AuthType.valueOf(type_);
- return result == null ? api.Graphik.AuthType.UNRECOGNIZED : result;
+ public Builder clearTargetRequests() {
+
+ targetRequests_ = false;
+ onChanged();
+ return this;
}
+
+ private boolean targetResponses_ ;
/**
- * .api.AuthType type = 3;
+ * bool target_responses = 4;
*/
- public Builder setType(api.Graphik.AuthType value) {
- if (value == null) {
- throw new NullPointerException();
- }
+ public boolean getTargetResponses() {
+ return targetResponses_;
+ }
+ /**
+ * bool target_responses = 4;
+ */
+ public Builder setTargetResponses(boolean value) {
- type_ = value.getNumber();
+ targetResponses_ = value;
onChanged();
return this;
}
/**
- * .api.AuthType type = 3;
+ * bool target_responses = 4;
*/
- public Builder clearType() {
+ public Builder clearTargetResponses() {
- type_ = 0;
+ targetResponses_ = false;
onChanged();
return this;
}
@@ -43198,118 +42971,116 @@ public api.Graphik.ExprFilter getDefaultInstanceForType() {
"\020IndexConstructor\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^" +
".{1,225}$\022\037\n\005gtype\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,225" +
"}$\022$\n\nexpression\030\004 \001(\tB\020\342\337\037\014\n\n^.{1,225}$" +
- "\022\014\n\004docs\030\006 \001(\010\022\023\n\013connections\030\007 \001(\010\"\222\001\n\n" +
- "AuthTarget\022\033\n\004type\030\001 \001(\0162\r.api.AuthType\022" +
- " \n\006method\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\036\n\004use" +
- "r\030\003 \001(\0132\010.api.DocB\006\342\337\037\002 \001\022%\n\004data\030\004 \001(\0132" +
- "\027.google.protobuf.Struct\"o\n\nAuthorizer\022\036" +
- "\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022$\n\nexpres" +
- "sion\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\033\n\004type\030\003 \001" +
- "(\0162\r.api.AuthType\"3\n\013Authorizers\022$\n\013auth" +
- "orizers\030\001 \003(\0132\017.api.Authorizer\"\231\001\n\rTypeV" +
- "alidator\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$" +
- "\022\037\n\005gtype\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022$\n\nexp" +
- "ression\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\014\n\004docs\030" +
- "\004 \001(\010\022\023\n\013connections\030\005 \001(\010\"8\n\016TypeValida" +
- "tors\022&\n\nvalidators\030\001 \003(\0132\022.api.TypeValid" +
- "ator\"\221\001\n\005Index\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1" +
- ",225}$\022\037\n\005gtype\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022" +
- "$\n\nexpression\030\004 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\014\n" +
- "\004docs\030\006 \001(\010\022\023\n\013connections\030\007 \001(\010\"&\n\007Inde" +
- "xes\022\033\n\007indexes\030\001 \003(\0132\n.api.Index\"E\n\014Stre" +
- "amFilter\022!\n\007channel\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,22" +
- "5}$\022\022\n\nexpression\030\002 \001(\t\"G\n\005Graph\022\027\n\004docs" +
- "\030\001 \001(\0132\t.api.Docs\022%\n\013connections\030\002 \001(\0132\020" +
- ".api.Connections\"\304\002\n\005Flags\022\031\n\021open_id_di" +
- "scovery\030\001 \001(\t\022\024\n\014storage_path\030\002 \001(\t\022\017\n\007m" +
- "etrics\030\003 \001(\010\022\025\n\rallow_headers\030\005 \003(\t\022\025\n\ra" +
- "llow_methods\030\006 \003(\t\022\025\n\rallow_origins\030\007 \003(" +
- "\t\022\022\n\nroot_users\030\010 \003(\t\022\020\n\010tls_cert\030\t \001(\t\022" +
- "\017\n\007tls_key\030\n \001(\t\022\034\n\024playground_client_id" +
- "\030\013 \001(\t\022 \n\030playground_client_secret\030\014 \001(\t" +
- "\022\033\n\023playground_redirect\030\r \001(\t\022 \n\030playgro" +
- "und_session_store\030\016 \001(\t\"\030\n\007Boolean\022\r\n\005va" +
- "lue\030\001 \001(\010\"\027\n\006Number\022\r\n\005value\030\001 \001(\001\"\203\001\n\014E" +
- "xistsFilter\022\037\n\005gtype\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,2" +
- "25}$\022$\n\nexpression\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225" +
- "}$\022\014\n\004seek\030\003 \001(\t\022\017\n\007reverse\030\004 \001(\010\022\r\n\005ind" +
- "ex\030\005 \001(\t\"R\n\004Edit\022\035\n\003ref\030\001 \001(\0132\010.api.RefB" +
- "\006\342\337\037\002 \001\022+\n\nattributes\030\002 \001(\0132\027.google.pro" +
- "tobuf.Struct\"V\n\nEditFilter\022\033\n\006filter\030\001 \001" +
- "(\0132\013.api.Filter\022+\n\nattributes\030\002 \001(\0132\027.go" +
- "ogle.protobuf.Struct\"\027\n\004Pong\022\017\n\007message\030" +
- "\001 \001(\t\"c\n\017OutboundMessage\022!\n\007channel\030\001 \001(" +
- "\tB\020\342\337\037\014\n\n^.{1,225}$\022-\n\004data\030\002 \001(\0132\027.goog" +
- "le.protobuf.StructB\006\342\337\037\002 \001\"\324\001\n\007Message\022!" +
- "\n\007channel\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022-\n\004dat" +
- "a\030\002 \001(\0132\027.google.protobuf.StructB\006\342\337\037\002 \001" +
- "\022\036\n\004user\030\003 \001(\0132\010.api.RefB\006\342\337\037\002 \001\0225\n\ttime" +
- "stamp\030\004 \001(\0132\032.google.protobuf.TimestampB" +
- "\006\342\337\037\002 \001\022 \n\006method\030\005 \001(\tB\020\342\337\037\014\n\n^.{1,225}" +
- "$\"\244\001\n\006Schema\022\030\n\020connection_types\030\001 \003(\t\022\021" +
- "\n\tdoc_types\030\002 \003(\t\022%\n\013authorizers\030\003 \001(\0132\020" +
- ".api.Authorizers\022\'\n\nvalidators\030\004 \001(\0132\023.a" +
- "pi.TypeValidators\022\035\n\007indexes\030\005 \001(\0132\014.api" +
- ".Indexes\" \n\nExprFilter\022\022\n\nexpression\030\001 \001" +
- "(\t*\035\n\tAlgorithm\022\007\n\003BFS\020\000\022\007\n\003DFS\020\001*D\n\tAgg" +
- "regate\022\t\n\005COUNT\020\000\022\007\n\003SUM\020\001\022\007\n\003AVG\020\002\022\007\n\003M" +
- "AX\020\003\022\007\n\003MIN\020\004\022\010\n\004PROD\020\005*:\n\010AuthType\022\013\n\007R" +
- "EQUEST\020\000\022\014\n\010VIEW_DOC\020\001\022\023\n\017VIEW_CONNECTIO" +
- "N\020\0022\332\020\n\017DatabaseService\022+\n\004Ping\022\026.google" +
- ".protobuf.Empty\032\t.api.Pong\"\000\0222\n\tGetSchem" +
- "a\022\026.google.protobuf.Empty\032\013.api.Schema\"\000" +
- "\022<\n\016SetAuthorizers\022\020.api.Authorizers\032\026.g" +
- "oogle.protobuf.Empty\"\000\0224\n\nSetIndexes\022\014.a" +
- "pi.Indexes\032\026.google.protobuf.Empty\"\000\022B\n\021" +
- "SetTypeValidators\022\023.api.TypeValidators\032\026" +
- ".google.protobuf.Empty\"\000\022(\n\002Me\022\026.google." +
- "protobuf.Empty\032\010.api.Doc\"\000\022,\n\tCreateDoc\022" +
- "\023.api.DocConstructor\032\010.api.Doc\"\000\022/\n\nCrea" +
- "teDocs\022\024.api.DocConstructors\032\t.api.Docs\"" +
- "\000\022\036\n\006GetDoc\022\010.api.Ref\032\010.api.Doc\"\000\022&\n\nSea" +
- "rchDocs\022\013.api.Filter\032\t.api.Docs\"\000\0222\n\010Tra" +
- "verse\022\023.api.TraverseFilter\032\017.api.Travers" +
- "als\"\000\0226\n\nTraverseMe\022\025.api.TraverseMeFilt" +
- "er\032\017.api.Traversals\"\000\022 \n\007EditDoc\022\t.api.E" +
- "dit\032\010.api.Doc\"\000\022(\n\010EditDocs\022\017.api.EditFi" +
- "lter\032\t.api.Docs\"\000\022,\n\006DelDoc\022\010.api.Ref\032\026." +
- "google.protobuf.Empty\"\000\0220\n\007DelDocs\022\013.api" +
- ".Filter\032\026.google.protobuf.Empty\"\000\022.\n\tExi" +
- "stsDoc\022\021.api.ExistsFilter\032\014.api.Boolean\"" +
- "\000\0225\n\020ExistsConnection\022\021.api.ExistsFilter" +
- "\032\014.api.Boolean\"\000\022\"\n\006HasDoc\022\010.api.Ref\032\014.a" +
- "pi.Boolean\"\000\022)\n\rHasConnection\022\010.api.Ref\032" +
- "\014.api.Boolean\"\000\022A\n\020CreateConnection\022\032.ap" +
- "i.ConnectionConstructor\032\017.api.Connection" +
- "\"\000\022D\n\021CreateConnections\022\033.api.Connection" +
- "Constructors\032\020.api.Connections\"\000\022@\n\020Sear" +
- "chAndConnect\022\030.api.SearchConnectFilter\032\020" +
- ".api.Connections\"\000\022D\n\022SearchAndConnectMe" +
- "\022\032.api.SearchConnectMeFilter\032\020.api.Conne" +
- "ctions\"\000\022,\n\rGetConnection\022\010.api.Ref\032\017.ap" +
- "i.Connection\"\000\0224\n\021SearchConnections\022\013.ap" +
- "i.Filter\032\020.api.Connections\"\000\022.\n\016EditConn" +
- "ection\022\t.api.Edit\032\017.api.Connection\"\000\0226\n\017" +
- "EditConnections\022\017.api.EditFilter\032\020.api.C" +
- "onnections\"\000\0223\n\rDelConnection\022\010.api.Ref\032" +
- "\026.google.protobuf.Empty\"\000\0227\n\016DelConnecti" +
- "ons\022\013.api.Filter\032\026.google.protobuf.Empty" +
- "\"\000\0229\n\017ConnectionsFrom\022\022.api.ConnectFilte" +
- "r\032\020.api.Connections\"\000\0227\n\rConnectionsTo\022\022" +
- ".api.ConnectFilter\032\020.api.Connections\"\000\022." +
- "\n\rAggregateDocs\022\016.api.AggFilter\032\013.api.Nu" +
- "mber\"\000\0225\n\024AggregateConnections\022\016.api.Agg" +
- "Filter\032\013.api.Number\"\000\022;\n\tBroadcast\022\024.api" +
- ".OutboundMessage\032\026.google.protobuf.Empty" +
- "\"\000\022-\n\006Stream\022\021.api.StreamFilter\032\014.api.Me" +
- "ssage\"\0000\001\022:\n\023PushDocConstructors\022\023.api.D" +
- "ocConstructor\032\010.api.Doc\"\000(\0010\001\022O\n\032PushCon" +
- "nectionConstructors\022\032.api.ConnectionCons" +
- "tructor\032\017.api.Connection\"\000(\0010\001\0220\n\010SeedDo" +
- "cs\022\010.api.Doc\032\026.google.protobuf.Empty\"\000(\001" +
- "\022>\n\017SeedConnections\022\017.api.Connection\032\026.g" +
- "oogle.protobuf.Empty\"\000(\001B\007Z\005apipbb\006proto" +
- "3"
+ "\022\014\n\004docs\030\006 \001(\010\022\023\n\013connections\030\007 \001(\010\"w\n\nA" +
+ "uthTarget\022 \n\006method\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,22" +
+ "5}$\022\036\n\004user\030\004 \001(\0132\010.api.DocB\006\342\337\037\002 \001\022\'\n\006t" +
+ "arget\030\005 \001(\0132\027.google.protobuf.Struct\"\205\001\n" +
+ "\nAuthorizer\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,22" +
+ "5}$\022$\n\nexpression\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}" +
+ "$\022\027\n\017target_requests\030\003 \001(\010\022\030\n\020target_res" +
+ "ponses\030\004 \001(\010\"3\n\013Authorizers\022$\n\013authorize" +
+ "rs\030\001 \003(\0132\017.api.Authorizer\"\231\001\n\rTypeValida" +
+ "tor\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\037\n\005g" +
+ "type\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022$\n\nexpressi" +
+ "on\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\014\n\004docs\030\004 \001(\010" +
+ "\022\023\n\013connections\030\005 \001(\010\"8\n\016TypeValidators\022" +
+ "&\n\nvalidators\030\001 \003(\0132\022.api.TypeValidator\"" +
+ "\221\001\n\005Index\022\036\n\004name\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}" +
+ "$\022\037\n\005gtype\030\003 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022$\n\nex" +
+ "pression\030\004 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\014\n\004docs" +
+ "\030\006 \001(\010\022\023\n\013connections\030\007 \001(\010\"&\n\007Indexes\022\033" +
+ "\n\007indexes\030\001 \003(\0132\n.api.Index\"E\n\014StreamFil" +
+ "ter\022!\n\007channel\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\022" +
+ "\n\nexpression\030\002 \001(\t\"G\n\005Graph\022\027\n\004docs\030\001 \001(" +
+ "\0132\t.api.Docs\022%\n\013connections\030\002 \001(\0132\020.api." +
+ "Connections\"\304\002\n\005Flags\022\031\n\021open_id_discove" +
+ "ry\030\001 \001(\t\022\024\n\014storage_path\030\002 \001(\t\022\017\n\007metric" +
+ "s\030\003 \001(\010\022\025\n\rallow_headers\030\005 \003(\t\022\025\n\rallow_" +
+ "methods\030\006 \003(\t\022\025\n\rallow_origins\030\007 \003(\t\022\022\n\n" +
+ "root_users\030\010 \003(\t\022\020\n\010tls_cert\030\t \001(\t\022\017\n\007tl" +
+ "s_key\030\n \001(\t\022\034\n\024playground_client_id\030\013 \001(" +
+ "\t\022 \n\030playground_client_secret\030\014 \001(\t\022\033\n\023p" +
+ "layground_redirect\030\r \001(\t\022 \n\030playground_s" +
+ "ession_store\030\016 \001(\t\"\030\n\007Boolean\022\r\n\005value\030\001" +
+ " \001(\010\"\027\n\006Number\022\r\n\005value\030\001 \001(\001\"\203\001\n\014Exists" +
+ "Filter\022\037\n\005gtype\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022" +
+ "$\n\nexpression\030\002 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022\014\n" +
+ "\004seek\030\003 \001(\t\022\017\n\007reverse\030\004 \001(\010\022\r\n\005index\030\005 " +
+ "\001(\t\"R\n\004Edit\022\035\n\003ref\030\001 \001(\0132\010.api.RefB\006\342\337\037\002" +
+ " \001\022+\n\nattributes\030\002 \001(\0132\027.google.protobuf" +
+ ".Struct\"V\n\nEditFilter\022\033\n\006filter\030\001 \001(\0132\013." +
+ "api.Filter\022+\n\nattributes\030\002 \001(\0132\027.google." +
+ "protobuf.Struct\"\027\n\004Pong\022\017\n\007message\030\001 \001(\t" +
+ "\"c\n\017OutboundMessage\022!\n\007channel\030\001 \001(\tB\020\342\337" +
+ "\037\014\n\n^.{1,225}$\022-\n\004data\030\002 \001(\0132\027.google.pr" +
+ "otobuf.StructB\006\342\337\037\002 \001\"\324\001\n\007Message\022!\n\007cha" +
+ "nnel\030\001 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\022-\n\004data\030\002 \001" +
+ "(\0132\027.google.protobuf.StructB\006\342\337\037\002 \001\022\036\n\004u" +
+ "ser\030\003 \001(\0132\010.api.RefB\006\342\337\037\002 \001\0225\n\ttimestamp" +
+ "\030\004 \001(\0132\032.google.protobuf.TimestampB\006\342\337\037\002" +
+ " \001\022 \n\006method\030\005 \001(\tB\020\342\337\037\014\n\n^.{1,225}$\"\244\001\n" +
+ "\006Schema\022\030\n\020connection_types\030\001 \003(\t\022\021\n\tdoc" +
+ "_types\030\002 \003(\t\022%\n\013authorizers\030\003 \001(\0132\020.api." +
+ "Authorizers\022\'\n\nvalidators\030\004 \001(\0132\023.api.Ty" +
+ "peValidators\022\035\n\007indexes\030\005 \001(\0132\014.api.Inde" +
+ "xes\" \n\nExprFilter\022\022\n\nexpression\030\001 \001(\t*\035\n" +
+ "\tAlgorithm\022\007\n\003BFS\020\000\022\007\n\003DFS\020\001*D\n\tAggregat" +
+ "e\022\t\n\005COUNT\020\000\022\007\n\003SUM\020\001\022\007\n\003AVG\020\002\022\007\n\003MAX\020\003\022" +
+ "\007\n\003MIN\020\004\022\010\n\004PROD\020\0052\332\020\n\017DatabaseService\022+" +
+ "\n\004Ping\022\026.google.protobuf.Empty\032\t.api.Pon" +
+ "g\"\000\0222\n\tGetSchema\022\026.google.protobuf.Empty" +
+ "\032\013.api.Schema\"\000\022<\n\016SetAuthorizers\022\020.api." +
+ "Authorizers\032\026.google.protobuf.Empty\"\000\0224\n" +
+ "\nSetIndexes\022\014.api.Indexes\032\026.google.proto" +
+ "buf.Empty\"\000\022B\n\021SetTypeValidators\022\023.api.T" +
+ "ypeValidators\032\026.google.protobuf.Empty\"\000\022" +
+ "(\n\002Me\022\026.google.protobuf.Empty\032\010.api.Doc\"" +
+ "\000\022,\n\tCreateDoc\022\023.api.DocConstructor\032\010.ap" +
+ "i.Doc\"\000\022/\n\nCreateDocs\022\024.api.DocConstruct" +
+ "ors\032\t.api.Docs\"\000\022\036\n\006GetDoc\022\010.api.Ref\032\010.a" +
+ "pi.Doc\"\000\022&\n\nSearchDocs\022\013.api.Filter\032\t.ap" +
+ "i.Docs\"\000\0222\n\010Traverse\022\023.api.TraverseFilte" +
+ "r\032\017.api.Traversals\"\000\0226\n\nTraverseMe\022\025.api" +
+ ".TraverseMeFilter\032\017.api.Traversals\"\000\022 \n\007" +
+ "EditDoc\022\t.api.Edit\032\010.api.Doc\"\000\022(\n\010EditDo" +
+ "cs\022\017.api.EditFilter\032\t.api.Docs\"\000\022,\n\006DelD" +
+ "oc\022\010.api.Ref\032\026.google.protobuf.Empty\"\000\0220" +
+ "\n\007DelDocs\022\013.api.Filter\032\026.google.protobuf" +
+ ".Empty\"\000\022.\n\tExistsDoc\022\021.api.ExistsFilter" +
+ "\032\014.api.Boolean\"\000\0225\n\020ExistsConnection\022\021.a" +
+ "pi.ExistsFilter\032\014.api.Boolean\"\000\022\"\n\006HasDo" +
+ "c\022\010.api.Ref\032\014.api.Boolean\"\000\022)\n\rHasConnec" +
+ "tion\022\010.api.Ref\032\014.api.Boolean\"\000\022A\n\020Create" +
+ "Connection\022\032.api.ConnectionConstructor\032\017" +
+ ".api.Connection\"\000\022D\n\021CreateConnections\022\033" +
+ ".api.ConnectionConstructors\032\020.api.Connec" +
+ "tions\"\000\022@\n\020SearchAndConnect\022\030.api.Search" +
+ "ConnectFilter\032\020.api.Connections\"\000\022D\n\022Sea" +
+ "rchAndConnectMe\022\032.api.SearchConnectMeFil" +
+ "ter\032\020.api.Connections\"\000\022,\n\rGetConnection" +
+ "\022\010.api.Ref\032\017.api.Connection\"\000\0224\n\021SearchC" +
+ "onnections\022\013.api.Filter\032\020.api.Connection" +
+ "s\"\000\022.\n\016EditConnection\022\t.api.Edit\032\017.api.C" +
+ "onnection\"\000\0226\n\017EditConnections\022\017.api.Edi" +
+ "tFilter\032\020.api.Connections\"\000\0223\n\rDelConnec" +
+ "tion\022\010.api.Ref\032\026.google.protobuf.Empty\"\000" +
+ "\0227\n\016DelConnections\022\013.api.Filter\032\026.google" +
+ ".protobuf.Empty\"\000\0229\n\017ConnectionsFrom\022\022.a" +
+ "pi.ConnectFilter\032\020.api.Connections\"\000\0227\n\r" +
+ "ConnectionsTo\022\022.api.ConnectFilter\032\020.api." +
+ "Connections\"\000\022.\n\rAggregateDocs\022\016.api.Agg" +
+ "Filter\032\013.api.Number\"\000\0225\n\024AggregateConnec" +
+ "tions\022\016.api.AggFilter\032\013.api.Number\"\000\022;\n\t" +
+ "Broadcast\022\024.api.OutboundMessage\032\026.google" +
+ ".protobuf.Empty\"\000\022-\n\006Stream\022\021.api.Stream" +
+ "Filter\032\014.api.Message\"\0000\001\022:\n\023PushDocConst" +
+ "ructors\022\023.api.DocConstructor\032\010.api.Doc\"\000" +
+ "(\0010\001\022O\n\032PushConnectionConstructors\022\032.api" +
+ ".ConnectionConstructor\032\017.api.Connection\"" +
+ "\000(\0010\001\0220\n\010SeedDocs\022\010.api.Doc\032\026.google.pro" +
+ "tobuf.Empty\"\000(\001\022>\n\017SeedConnections\022\017.api" +
+ ".Connection\032\026.google.protobuf.Empty\"\000(\001B" +
+ "\007Z\005apipbb\006proto3"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
@@ -43459,13 +43230,13 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
internal_static_api_AuthTarget_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_api_AuthTarget_descriptor,
- new java.lang.String[] { "Type", "Method", "User", "Data", });
+ new java.lang.String[] { "Method", "User", "Target", });
internal_static_api_Authorizer_descriptor =
getDescriptor().getMessageTypes().get(22);
internal_static_api_Authorizer_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_api_Authorizer_descriptor,
- new java.lang.String[] { "Name", "Expression", "Type", });
+ new java.lang.String[] { "Name", "Expression", "TargetRequests", "TargetResponses", });
internal_static_api_Authorizers_descriptor =
getDescriptor().getMessageTypes().get(23);
internal_static_api_Authorizers_fieldAccessorTable = new
diff --git a/gen/grpc/js/graphik_pb.js b/gen/grpc/js/graphik_pb.js
index 96c52b8..e33c6c0 100644
--- a/gen/grpc/js/graphik_pb.js
+++ b/gen/grpc/js/graphik_pb.js
@@ -20,7 +20,6 @@ goog.exportSymbol('proto.api.AggFilter', null, global);
goog.exportSymbol('proto.api.Aggregate', null, global);
goog.exportSymbol('proto.api.Algorithm', null, global);
goog.exportSymbol('proto.api.AuthTarget', null, global);
-goog.exportSymbol('proto.api.AuthType', null, global);
goog.exportSymbol('proto.api.Authorizer', null, global);
goog.exportSymbol('proto.api.Authorizers', null, global);
goog.exportSymbol('proto.api.Boolean', null, global);
@@ -5187,10 +5186,9 @@ proto.api.AuthTarget.prototype.toObject = function(opt_includeInstance) {
*/
proto.api.AuthTarget.toObject = function(includeInstance, msg) {
var f, obj = {
- type: jspb.Message.getFieldWithDefault(msg, 1, 0),
- method: jspb.Message.getFieldWithDefault(msg, 2, ""),
+ method: jspb.Message.getFieldWithDefault(msg, 3, ""),
user: (f = msg.getUser()) && proto.api.Doc.toObject(includeInstance, f),
- data: (f = msg.getData()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)
+ target: (f = msg.getTarget()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)
};
if (includeInstance) {
@@ -5227,23 +5225,19 @@ proto.api.AuthTarget.deserializeBinaryFromReader = function(msg, reader) {
}
var field = reader.getFieldNumber();
switch (field) {
- case 1:
- var value = /** @type {!proto.api.AuthType} */ (reader.readEnum());
- msg.setType(value);
- break;
- case 2:
+ case 3:
var value = /** @type {string} */ (reader.readString());
msg.setMethod(value);
break;
- case 3:
+ case 4:
var value = new proto.api.Doc;
reader.readMessage(value,proto.api.Doc.deserializeBinaryFromReader);
msg.setUser(value);
break;
- case 4:
+ case 5:
var value = new google_protobuf_struct_pb.Struct;
reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);
- msg.setData(value);
+ msg.setTarget(value);
break;
default:
reader.skipField();
@@ -5274,32 +5268,25 @@ proto.api.AuthTarget.prototype.serializeBinary = function() {
*/
proto.api.AuthTarget.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
- f = message.getType();
- if (f !== 0.0) {
- writer.writeEnum(
- 1,
- f
- );
- }
f = message.getMethod();
if (f.length > 0) {
writer.writeString(
- 2,
+ 3,
f
);
}
f = message.getUser();
if (f != null) {
writer.writeMessage(
- 3,
+ 4,
f,
proto.api.Doc.serializeBinaryToWriter
);
}
- f = message.getData();
+ f = message.getTarget();
if (f != null) {
writer.writeMessage(
- 4,
+ 5,
f,
google_protobuf_struct_pb.Struct.serializeBinaryToWriter
);
@@ -5308,48 +5295,33 @@ proto.api.AuthTarget.serializeBinaryToWriter = function(message, writer) {
/**
- * optional AuthType type = 1;
- * @return {!proto.api.AuthType}
- */
-proto.api.AuthTarget.prototype.getType = function() {
- return /** @type {!proto.api.AuthType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/** @param {!proto.api.AuthType} value */
-proto.api.AuthTarget.prototype.setType = function(value) {
- jspb.Message.setProto3EnumField(this, 1, value);
-};
-
-
-/**
- * optional string method = 2;
+ * optional string method = 3;
* @return {string}
*/
proto.api.AuthTarget.prototype.getMethod = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};
/** @param {string} value */
proto.api.AuthTarget.prototype.setMethod = function(value) {
- jspb.Message.setProto3StringField(this, 2, value);
+ jspb.Message.setProto3StringField(this, 3, value);
};
/**
- * optional Doc user = 3;
+ * optional Doc user = 4;
* @return {?proto.api.Doc}
*/
proto.api.AuthTarget.prototype.getUser = function() {
return /** @type{?proto.api.Doc} */ (
- jspb.Message.getWrapperField(this, proto.api.Doc, 3));
+ jspb.Message.getWrapperField(this, proto.api.Doc, 4));
};
/** @param {?proto.api.Doc|undefined} value */
proto.api.AuthTarget.prototype.setUser = function(value) {
- jspb.Message.setWrapperField(this, 3, value);
+ jspb.Message.setWrapperField(this, 4, value);
};
@@ -5363,28 +5335,28 @@ proto.api.AuthTarget.prototype.clearUser = function() {
* @return {!boolean}
*/
proto.api.AuthTarget.prototype.hasUser = function() {
- return jspb.Message.getField(this, 3) != null;
+ return jspb.Message.getField(this, 4) != null;
};
/**
- * optional google.protobuf.Struct data = 4;
+ * optional google.protobuf.Struct target = 5;
* @return {?proto.google.protobuf.Struct}
*/
-proto.api.AuthTarget.prototype.getData = function() {
+proto.api.AuthTarget.prototype.getTarget = function() {
return /** @type{?proto.google.protobuf.Struct} */ (
- jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 4));
+ jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));
};
/** @param {?proto.google.protobuf.Struct|undefined} value */
-proto.api.AuthTarget.prototype.setData = function(value) {
- jspb.Message.setWrapperField(this, 4, value);
+proto.api.AuthTarget.prototype.setTarget = function(value) {
+ jspb.Message.setWrapperField(this, 5, value);
};
-proto.api.AuthTarget.prototype.clearData = function() {
- this.setData(undefined);
+proto.api.AuthTarget.prototype.clearTarget = function() {
+ this.setTarget(undefined);
};
@@ -5392,8 +5364,8 @@ proto.api.AuthTarget.prototype.clearData = function() {
* Returns whether this field is set.
* @return {!boolean}
*/
-proto.api.AuthTarget.prototype.hasData = function() {
- return jspb.Message.getField(this, 4) != null;
+proto.api.AuthTarget.prototype.hasTarget = function() {
+ return jspb.Message.getField(this, 5) != null;
};
@@ -5446,7 +5418,8 @@ proto.api.Authorizer.toObject = function(includeInstance, msg) {
var f, obj = {
name: jspb.Message.getFieldWithDefault(msg, 1, ""),
expression: jspb.Message.getFieldWithDefault(msg, 2, ""),
- type: jspb.Message.getFieldWithDefault(msg, 3, 0)
+ targetRequests: jspb.Message.getFieldWithDefault(msg, 3, false),
+ targetResponses: jspb.Message.getFieldWithDefault(msg, 4, false)
};
if (includeInstance) {
@@ -5492,8 +5465,12 @@ proto.api.Authorizer.deserializeBinaryFromReader = function(msg, reader) {
msg.setExpression(value);
break;
case 3:
- var value = /** @type {!proto.api.AuthType} */ (reader.readEnum());
- msg.setType(value);
+ var value = /** @type {boolean} */ (reader.readBool());
+ msg.setTargetRequests(value);
+ break;
+ case 4:
+ var value = /** @type {boolean} */ (reader.readBool());
+ msg.setTargetResponses(value);
break;
default:
reader.skipField();
@@ -5538,13 +5515,20 @@ proto.api.Authorizer.serializeBinaryToWriter = function(message, writer) {
f
);
}
- f = message.getType();
- if (f !== 0.0) {
- writer.writeEnum(
+ f = message.getTargetRequests();
+ if (f) {
+ writer.writeBool(
3,
f
);
}
+ f = message.getTargetResponses();
+ if (f) {
+ writer.writeBool(
+ 4,
+ f
+ );
+ }
};
@@ -5579,17 +5563,36 @@ proto.api.Authorizer.prototype.setExpression = function(value) {
/**
- * optional AuthType type = 3;
- * @return {!proto.api.AuthType}
+ * optional bool target_requests = 3;
+ * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
+ * You should avoid comparisons like {@code val === true/false} in those cases.
+ * @return {boolean}
*/
-proto.api.Authorizer.prototype.getType = function() {
- return /** @type {!proto.api.AuthType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+proto.api.Authorizer.prototype.getTargetRequests = function() {
+ return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false));
};
-/** @param {!proto.api.AuthType} value */
-proto.api.Authorizer.prototype.setType = function(value) {
- jspb.Message.setProto3EnumField(this, 3, value);
+/** @param {boolean} value */
+proto.api.Authorizer.prototype.setTargetRequests = function(value) {
+ jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional bool target_responses = 4;
+ * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
+ * You should avoid comparisons like {@code val === true/false} in those cases.
+ * @return {boolean}
+ */
+proto.api.Authorizer.prototype.getTargetResponses = function() {
+ return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false));
+};
+
+
+/** @param {boolean} value */
+proto.api.Authorizer.prototype.setTargetResponses = function(value) {
+ jspb.Message.setProto3BooleanField(this, 4, value);
};
@@ -9579,13 +9582,4 @@ proto.api.Aggregate = {
PROD: 5
};
-/**
- * @enum {number}
- */
-proto.api.AuthType = {
- REQUEST: 0,
- VIEW_DOC: 1,
- VIEW_CONNECTION: 2
-};
-
goog.object.extend(exports, proto.api);
diff --git a/gen/grpc/php/Api/AuthTarget.php b/gen/grpc/php/Api/AuthTarget.php
index b97d827..e61bebb 100644
--- a/gen/grpc/php/Api/AuthTarget.php
+++ b/gen/grpc/php/Api/AuthTarget.php
@@ -13,28 +13,22 @@
*/
class AuthTarget extends \Google\Protobuf\Internal\Message
{
- /**
- * Generated from protobuf field .api.AuthType type = 1;
- */
- private $type = 0;
/**
* method is the rpc method
*
- * Generated from protobuf field string method = 2 [(.validator.field) = {
+ * Generated from protobuf field string method = 3 [(.validator.field) = {
*/
private $method = '';
/**
* user is the user making the request
*
- * Generated from protobuf field .api.Doc user = 3 [(.validator.field) = {
+ * Generated from protobuf field .api.Doc user = 4 [(.validator.field) = {
*/
private $user = null;
/**
- * request is the intercepted request
- *
- * Generated from protobuf field .google.protobuf.Struct data = 4;
+ * Generated from protobuf field .google.protobuf.Struct target = 5;
*/
- private $data = null;
+ private $target = null;
/**
* Constructor.
@@ -42,13 +36,11 @@ class AuthTarget extends \Google\Protobuf\Internal\Message
* @param array $data {
* Optional. Data for populating the Message object.
*
- * @type int $type
* @type string $method
* method is the rpc method
* @type \Api\Doc $user
* user is the user making the request
- * @type \Google\Protobuf\Struct $data
- * request is the intercepted request
+ * @type \Google\Protobuf\Struct $target
* }
*/
public function __construct($data = NULL) {
@@ -56,32 +48,10 @@ public function __construct($data = NULL) {
parent::__construct($data);
}
- /**
- * Generated from protobuf field .api.AuthType type = 1;
- * @return int
- */
- public function getType()
- {
- return $this->type;
- }
-
- /**
- * Generated from protobuf field .api.AuthType type = 1;
- * @param int $var
- * @return $this
- */
- public function setType($var)
- {
- GPBUtil::checkEnum($var, \Api\AuthType::class);
- $this->type = $var;
-
- return $this;
- }
-
/**
* method is the rpc method
*
- * Generated from protobuf field string method = 2 [(.validator.field) = {
+ * Generated from protobuf field string method = 3 [(.validator.field) = {
* @return string
*/
public function getMethod()
@@ -92,7 +62,7 @@ public function getMethod()
/**
* method is the rpc method
*
- * Generated from protobuf field string method = 2 [(.validator.field) = {
+ * Generated from protobuf field string method = 3 [(.validator.field) = {
* @param string $var
* @return $this
*/
@@ -107,7 +77,7 @@ public function setMethod($var)
/**
* user is the user making the request
*
- * Generated from protobuf field .api.Doc user = 3 [(.validator.field) = {
+ * Generated from protobuf field .api.Doc user = 4 [(.validator.field) = {
* @return \Api\Doc
*/
public function getUser()
@@ -118,7 +88,7 @@ public function getUser()
/**
* user is the user making the request
*
- * Generated from protobuf field .api.Doc user = 3 [(.validator.field) = {
+ * Generated from protobuf field .api.Doc user = 4 [(.validator.field) = {
* @param \Api\Doc $var
* @return $this
*/
@@ -131,27 +101,23 @@ public function setUser($var)
}
/**
- * request is the intercepted request
- *
- * Generated from protobuf field .google.protobuf.Struct data = 4;
+ * Generated from protobuf field .google.protobuf.Struct target = 5;
* @return \Google\Protobuf\Struct
*/
- public function getData()
+ public function getTarget()
{
- return $this->data;
+ return $this->target;
}
/**
- * request is the intercepted request
- *
- * Generated from protobuf field .google.protobuf.Struct data = 4;
+ * Generated from protobuf field .google.protobuf.Struct target = 5;
* @param \Google\Protobuf\Struct $var
* @return $this
*/
- public function setData($var)
+ public function setTarget($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class);
- $this->data = $var;
+ $this->target = $var;
return $this;
}
diff --git a/gen/grpc/php/Api/AuthType.php b/gen/grpc/php/Api/AuthType.php
index b4a8a0f..c392d1e 100644
--- a/gen/grpc/php/Api/AuthType.php
+++ b/gen/grpc/php/Api/AuthType.php
@@ -14,12 +14,8 @@ class AuthType
*/
const REQUEST = 0;
/**
- * Generated from protobuf enum VIEW_DOC = 1;
+ * Generated from protobuf enum RESPONSE = 1;
*/
- const VIEW_DOC = 1;
- /**
- * Generated from protobuf enum VIEW_CONNECTION = 2;
- */
- const VIEW_CONNECTION = 2;
+ const RESPONSE = 1;
}
diff --git a/gen/grpc/php/Api/Authorizer.php b/gen/grpc/php/Api/Authorizer.php
index f5a38d5..77048ea 100644
--- a/gen/grpc/php/Api/Authorizer.php
+++ b/gen/grpc/php/Api/Authorizer.php
@@ -22,9 +22,13 @@ class Authorizer extends \Google\Protobuf\Internal\Message
*/
private $expression = '';
/**
- * Generated from protobuf field .api.AuthType type = 3;
+ * Generated from protobuf field bool target_requests = 3;
*/
- private $type = 0;
+ private $target_requests = false;
+ /**
+ * Generated from protobuf field bool target_responses = 4;
+ */
+ private $target_responses = false;
/**
* Constructor.
@@ -34,7 +38,8 @@ class Authorizer extends \Google\Protobuf\Internal\Message
*
* @type string $name
* @type string $expression
- * @type int $type
+ * @type bool $target_requests
+ * @type bool $target_responses
* }
*/
public function __construct($data = NULL) {
@@ -87,23 +92,45 @@ public function setExpression($var)
}
/**
- * Generated from protobuf field .api.AuthType type = 3;
- * @return int
+ * Generated from protobuf field bool target_requests = 3;
+ * @return bool
+ */
+ public function getTargetRequests()
+ {
+ return $this->target_requests;
+ }
+
+ /**
+ * Generated from protobuf field bool target_requests = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setTargetRequests($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->target_requests = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field bool target_responses = 4;
+ * @return bool
*/
- public function getType()
+ public function getTargetResponses()
{
- return $this->type;
+ return $this->target_responses;
}
/**
- * Generated from protobuf field .api.AuthType type = 3;
- * @param int $var
+ * Generated from protobuf field bool target_responses = 4;
+ * @param bool $var
* @return $this
*/
- public function setType($var)
+ public function setTargetResponses($var)
{
- GPBUtil::checkEnum($var, \Api\AuthType::class);
- $this->type = $var;
+ GPBUtil::checkBool($var);
+ $this->target_responses = $var;
return $this;
}
diff --git a/gen/grpc/php/GPBMetadata/Graphik.php b/gen/grpc/php/GPBMetadata/Graphik.php
index c815efc..11750e2 100644
--- a/gen/grpc/php/GPBMetadata/Graphik.php
+++ b/gen/grpc/php/GPBMetadata/Graphik.php
@@ -20,7 +20,7 @@ public static function initOnce() {
\GPBMetadata\Google\Protobuf\GPBEmpty::initOnce();
\GPBMetadata\GithubCom\Mwitkow\GoProtoValidators\Validator::initOnce();
$pool->internalAddGeneratedFile(hex2bin(
- "0afb380a0d6772617068696b2e70726f746f12036170691a1f676f6f676c" .
+ "0aba380a0d6772617068696b2e70726f746f12036170691a1f676f6f676c" .
"652f70726f746f6275662f74696d657374616d702e70726f746f1a19676f" .
"6f676c652f70726f746f6275662f616e792e70726f746f1a1b676f6f676c" .
"652f70726f746f6275662f656d7074792e70726f746f1a36676974687562" .
@@ -116,154 +116,151 @@ public static function initOnce() {
"651803200128094210e2df1f0c0a0a5e2e7b312c3232357d2412240a0a65" .
"787072657373696f6e1804200128094210e2df1f0c0a0a5e2e7b312c3232" .
"357d24120c0a04646f637318062001280812130a0b636f6e6e656374696f" .
- "6e731807200128082292010a0a41757468546172676574121b0a04747970" .
- "6518012001280e320d2e6170692e417574685479706512200a066d657468" .
- "6f641802200128094210e2df1f0c0a0a5e2e7b312c3232357d24121e0a04" .
- "7573657218032001280b32082e6170692e446f634206e2df1f0220011225" .
- "0a046461746118042001280b32172e676f6f676c652e70726f746f627566" .
- "2e537472756374226f0a0a417574686f72697a6572121e0a046e616d6518" .
- "01200128094210e2df1f0c0a0a5e2e7b312c3232357d2412240a0a657870" .
- "72657373696f6e1802200128094210e2df1f0c0a0a5e2e7b312c3232357d" .
- "24121b0a047479706518032001280e320d2e6170692e4175746854797065" .
- "22330a0b417574686f72697a65727312240a0b617574686f72697a657273" .
- "18012003280b320f2e6170692e417574686f72697a65722299010a0d5479" .
- "706556616c696461746f72121e0a046e616d651801200128094210e2df1f" .
- "0c0a0a5e2e7b312c3232357d24121f0a0567747970651802200128094210" .
- "e2df1f0c0a0a5e2e7b312c3232357d2412240a0a65787072657373696f6e" .
- "1803200128094210e2df1f0c0a0a5e2e7b312c3232357d24120c0a04646f" .
- "637318042001280812130a0b636f6e6e656374696f6e7318052001280822" .
- "380a0e5479706556616c696461746f727312260a0a76616c696461746f72" .
- "7318012003280b32122e6170692e5479706556616c696461746f72229101" .
- "0a05496e646578121e0a046e616d651801200128094210e2df1f0c0a0a5e" .
- "2e7b312c3232357d24121f0a0567747970651803200128094210e2df1f0c" .
- "0a0a5e2e7b312c3232357d2412240a0a65787072657373696f6e18042001" .
- "28094210e2df1f0c0a0a5e2e7b312c3232357d24120c0a04646f63731806" .
- "2001280812130a0b636f6e6e656374696f6e7318072001280822260a0749" .
- "6e6465786573121b0a07696e646578657318012003280b320a2e6170692e" .
- "496e64657822450a0c53747265616d46696c74657212210a076368616e6e" .
- "656c1801200128094210e2df1f0c0a0a5e2e7b312c3232357d2412120a0a" .
- "65787072657373696f6e18022001280922470a05477261706812170a0464" .
- "6f637318012001280b32092e6170692e446f637312250a0b636f6e6e6563" .
- "74696f6e7318022001280b32102e6170692e436f6e6e656374696f6e7322" .
- "c4020a05466c61677312190a116f70656e5f69645f646973636f76657279" .
- "18012001280912140a0c73746f726167655f70617468180220012809120f" .
- "0a076d65747269637318032001280812150a0d616c6c6f775f6865616465" .
- "727318052003280912150a0d616c6c6f775f6d6574686f64731806200328" .
- "0912150a0d616c6c6f775f6f726967696e7318072003280912120a0a726f" .
- "6f745f757365727318082003280912100a08746c735f6365727418092001" .
- "2809120f0a07746c735f6b6579180a20012809121c0a14706c617967726f" .
- "756e645f636c69656e745f6964180b2001280912200a18706c617967726f" .
- "756e645f636c69656e745f736563726574180c20012809121b0a13706c61" .
- "7967726f756e645f7265646972656374180d2001280912200a18706c6179" .
- "67726f756e645f73657373696f6e5f73746f7265180e2001280922180a07" .
- "426f6f6c65616e120d0a0576616c756518012001280822170a064e756d62" .
- "6572120d0a0576616c75651801200128012283010a0c4578697374734669" .
- "6c746572121f0a0567747970651801200128094210e2df1f0c0a0a5e2e7b" .
- "312c3232357d2412240a0a65787072657373696f6e1802200128094210e2" .
- "df1f0c0a0a5e2e7b312c3232357d24120c0a047365656b18032001280912" .
- "0f0a0772657665727365180420012808120d0a05696e6465781805200128" .
- "0922520a0445646974121d0a0372656618012001280b32082e6170692e52" .
- "65664206e2df1f022001122b0a0a6174747269627574657318022001280b" .
- "32172e676f6f676c652e70726f746f6275662e53747275637422560a0a45" .
- "64697446696c746572121b0a0666696c74657218012001280b320b2e6170" .
- "692e46696c746572122b0a0a6174747269627574657318022001280b3217" .
- "2e676f6f676c652e70726f746f6275662e53747275637422170a04506f6e" .
- "67120f0a076d65737361676518012001280922630a0f4f7574626f756e64" .
- "4d65737361676512210a076368616e6e656c1801200128094210e2df1f0c" .
- "0a0a5e2e7b312c3232357d24122d0a046461746118022001280b32172e67" .
- "6f6f676c652e70726f746f6275662e5374727563744206e2df1f02200122" .
- "d4010a074d65737361676512210a076368616e6e656c1801200128094210" .
- "e2df1f0c0a0a5e2e7b312c3232357d24122d0a046461746118022001280b" .
- "32172e676f6f676c652e70726f746f6275662e5374727563744206e2df1f" .
- "022001121e0a047573657218032001280b32082e6170692e5265664206e2" .
- "df1f02200112350a0974696d657374616d7018042001280b321a2e676f6f" .
- "676c652e70726f746f6275662e54696d657374616d704206e2df1f022001" .
- "12200a066d6574686f641805200128094210e2df1f0c0a0a5e2e7b312c32" .
- "32357d2422a4010a06536368656d6112180a10636f6e6e656374696f6e5f" .
- "747970657318012003280912110a09646f635f7479706573180220032809" .
- "12250a0b617574686f72697a65727318032001280b32102e6170692e4175" .
- "74686f72697a65727312270a0a76616c696461746f727318042001280b32" .
- "132e6170692e5479706556616c696461746f7273121d0a07696e64657865" .
- "7318052001280b320c2e6170692e496e646578657322200a0a4578707246" .
- "696c74657212120a0a65787072657373696f6e1801200128092a1d0a0941" .
- "6c676f726974686d12070a03424653100012070a0344465310012a440a09" .
- "41676772656761746512090a05434f554e54100012070a0353554d100112" .
- "070a03415647100212070a034d4158100312070a034d494e100412080a04" .
- "50524f4410052a3a0a084175746854797065120b0a075245515545535410" .
- "00120c0a08564945575f444f43100112130a0f564945575f434f4e4e4543" .
- "54494f4e100232da100a0f446174616261736553657276696365122b0a04" .
- "50696e6712162e676f6f676c652e70726f746f6275662e456d7074791a09" .
- "2e6170692e506f6e67220012320a09476574536368656d6112162e676f6f" .
- "676c652e70726f746f6275662e456d7074791a0b2e6170692e536368656d" .
- "612200123c0a0e536574417574686f72697a65727312102e6170692e4175" .
- "74686f72697a6572731a162e676f6f676c652e70726f746f6275662e456d" .
- "707479220012340a0a536574496e6465786573120c2e6170692e496e6465" .
- "7865731a162e676f6f676c652e70726f746f6275662e456d707479220012" .
- "420a115365745479706556616c696461746f727312132e6170692e547970" .
- "6556616c696461746f72731a162e676f6f676c652e70726f746f6275662e" .
- "456d707479220012280a024d6512162e676f6f676c652e70726f746f6275" .
- "662e456d7074791a082e6170692e446f632200122c0a0943726561746544" .
- "6f6312132e6170692e446f63436f6e7374727563746f721a082e6170692e" .
- "446f632200122f0a0a437265617465446f637312142e6170692e446f6343" .
- "6f6e7374727563746f72731a092e6170692e446f63732200121e0a064765" .
- "74446f6312082e6170692e5265661a082e6170692e446f63220012260a0a" .
- "536561726368446f6373120b2e6170692e46696c7465721a092e6170692e" .
- "446f6373220012320a08547261766572736512132e6170692e5472617665" .
- "72736546696c7465721a0f2e6170692e54726176657273616c7322001236" .
- "0a0a54726176657273654d6512152e6170692e54726176657273654d6546" .
- "696c7465721a0f2e6170692e54726176657273616c73220012200a074564" .
- "6974446f6312092e6170692e456469741a082e6170692e446f6322001228" .
- "0a0845646974446f6373120f2e6170692e4564697446696c7465721a092e" .
- "6170692e446f63732200122c0a0644656c446f6312082e6170692e526566" .
- "1a162e676f6f676c652e70726f746f6275662e456d707479220012300a07" .
- "44656c446f6373120b2e6170692e46696c7465721a162e676f6f676c652e" .
- "70726f746f6275662e456d7074792200122e0a09457869737473446f6312" .
- "112e6170692e45786973747346696c7465721a0c2e6170692e426f6f6c65" .
- "616e220012350a10457869737473436f6e6e656374696f6e12112e617069" .
+ "6e7318072001280822770a0a4175746854617267657412200a066d657468" .
+ "6f641803200128094210e2df1f0c0a0a5e2e7b312c3232357d24121e0a04" .
+ "7573657218042001280b32082e6170692e446f634206e2df1f0220011227" .
+ "0a0674617267657418052001280b32172e676f6f676c652e70726f746f62" .
+ "75662e5374727563742285010a0a417574686f72697a6572121e0a046e61" .
+ "6d651801200128094210e2df1f0c0a0a5e2e7b312c3232357d2412240a0a" .
+ "65787072657373696f6e1802200128094210e2df1f0c0a0a5e2e7b312c32" .
+ "32357d2412170a0f7461726765745f726571756573747318032001280812" .
+ "180a107461726765745f726573706f6e73657318042001280822330a0b41" .
+ "7574686f72697a65727312240a0b617574686f72697a6572731801200328" .
+ "0b320f2e6170692e417574686f72697a65722299010a0d5479706556616c" .
+ "696461746f72121e0a046e616d651801200128094210e2df1f0c0a0a5e2e" .
+ "7b312c3232357d24121f0a0567747970651802200128094210e2df1f0c0a" .
+ "0a5e2e7b312c3232357d2412240a0a65787072657373696f6e1803200128" .
+ "094210e2df1f0c0a0a5e2e7b312c3232357d24120c0a04646f6373180420" .
+ "01280812130a0b636f6e6e656374696f6e7318052001280822380a0e5479" .
+ "706556616c696461746f727312260a0a76616c696461746f727318012003" .
+ "280b32122e6170692e5479706556616c696461746f722291010a05496e64" .
+ "6578121e0a046e616d651801200128094210e2df1f0c0a0a5e2e7b312c32" .
+ "32357d24121f0a0567747970651803200128094210e2df1f0c0a0a5e2e7b" .
+ "312c3232357d2412240a0a65787072657373696f6e1804200128094210e2" .
+ "df1f0c0a0a5e2e7b312c3232357d24120c0a04646f637318062001280812" .
+ "130a0b636f6e6e656374696f6e7318072001280822260a07496e64657865" .
+ "73121b0a07696e646578657318012003280b320a2e6170692e496e646578" .
+ "22450a0c53747265616d46696c74657212210a076368616e6e656c180120" .
+ "0128094210e2df1f0c0a0a5e2e7b312c3232357d2412120a0a6578707265" .
+ "7373696f6e18022001280922470a05477261706812170a04646f63731801" .
+ "2001280b32092e6170692e446f637312250a0b636f6e6e656374696f6e73" .
+ "18022001280b32102e6170692e436f6e6e656374696f6e7322c4020a0546" .
+ "6c61677312190a116f70656e5f69645f646973636f766572791801200128" .
+ "0912140a0c73746f726167655f70617468180220012809120f0a076d6574" .
+ "7269637318032001280812150a0d616c6c6f775f68656164657273180520" .
+ "03280912150a0d616c6c6f775f6d6574686f647318062003280912150a0d" .
+ "616c6c6f775f6f726967696e7318072003280912120a0a726f6f745f7573" .
+ "65727318082003280912100a08746c735f63657274180920012809120f0a" .
+ "07746c735f6b6579180a20012809121c0a14706c617967726f756e645f63" .
+ "6c69656e745f6964180b2001280912200a18706c617967726f756e645f63" .
+ "6c69656e745f736563726574180c20012809121b0a13706c617967726f75" .
+ "6e645f7265646972656374180d2001280912200a18706c617967726f756e" .
+ "645f73657373696f6e5f73746f7265180e2001280922180a07426f6f6c65" .
+ "616e120d0a0576616c756518012001280822170a064e756d626572120d0a" .
+ "0576616c75651801200128012283010a0c45786973747346696c74657212" .
+ "1f0a0567747970651801200128094210e2df1f0c0a0a5e2e7b312c323235" .
+ "7d2412240a0a65787072657373696f6e1802200128094210e2df1f0c0a0a" .
+ "5e2e7b312c3232357d24120c0a047365656b180320012809120f0a077265" .
+ "7665727365180420012808120d0a05696e64657818052001280922520a04" .
+ "45646974121d0a0372656618012001280b32082e6170692e5265664206e2" .
+ "df1f022001122b0a0a6174747269627574657318022001280b32172e676f" .
+ "6f676c652e70726f746f6275662e53747275637422560a0a456469744669" .
+ "6c746572121b0a0666696c74657218012001280b320b2e6170692e46696c" .
+ "746572122b0a0a6174747269627574657318022001280b32172e676f6f67" .
+ "6c652e70726f746f6275662e53747275637422170a04506f6e67120f0a07" .
+ "6d65737361676518012001280922630a0f4f7574626f756e644d65737361" .
+ "676512210a076368616e6e656c1801200128094210e2df1f0c0a0a5e2e7b" .
+ "312c3232357d24122d0a046461746118022001280b32172e676f6f676c65" .
+ "2e70726f746f6275662e5374727563744206e2df1f02200122d4010a074d" .
+ "65737361676512210a076368616e6e656c1801200128094210e2df1f0c0a" .
+ "0a5e2e7b312c3232357d24122d0a046461746118022001280b32172e676f" .
+ "6f676c652e70726f746f6275662e5374727563744206e2df1f022001121e" .
+ "0a047573657218032001280b32082e6170692e5265664206e2df1f022001" .
+ "12350a0974696d657374616d7018042001280b321a2e676f6f676c652e70" .
+ "726f746f6275662e54696d657374616d704206e2df1f02200112200a066d" .
+ "6574686f641805200128094210e2df1f0c0a0a5e2e7b312c3232357d2422" .
+ "a4010a06536368656d6112180a10636f6e6e656374696f6e5f7479706573" .
+ "18012003280912110a09646f635f747970657318022003280912250a0b61" .
+ "7574686f72697a65727318032001280b32102e6170692e417574686f7269" .
+ "7a65727312270a0a76616c696461746f727318042001280b32132e617069" .
+ "2e5479706556616c696461746f7273121d0a07696e646578657318052001" .
+ "280b320c2e6170692e496e646578657322200a0a4578707246696c746572" .
+ "12120a0a65787072657373696f6e1801200128092a1d0a09416c676f7269" .
+ "74686d12070a03424653100012070a0344465310012a440a094167677265" .
+ "6761746512090a05434f554e54100012070a0353554d100112070a034156" .
+ "47100212070a034d4158100312070a034d494e100412080a0450524f4410" .
+ "0532da100a0f446174616261736553657276696365122b0a0450696e6712" .
+ "162e676f6f676c652e70726f746f6275662e456d7074791a092e6170692e" .
+ "506f6e67220012320a09476574536368656d6112162e676f6f676c652e70" .
+ "726f746f6275662e456d7074791a0b2e6170692e536368656d612200123c" .
+ "0a0e536574417574686f72697a65727312102e6170692e417574686f7269" .
+ "7a6572731a162e676f6f676c652e70726f746f6275662e456d7074792200" .
+ "12340a0a536574496e6465786573120c2e6170692e496e64657865731a16" .
+ "2e676f6f676c652e70726f746f6275662e456d707479220012420a115365" .
+ "745479706556616c696461746f727312132e6170692e5479706556616c69" .
+ "6461746f72731a162e676f6f676c652e70726f746f6275662e456d707479" .
+ "220012280a024d6512162e676f6f676c652e70726f746f6275662e456d70" .
+ "74791a082e6170692e446f632200122c0a09437265617465446f6312132e" .
+ "6170692e446f63436f6e7374727563746f721a082e6170692e446f632200" .
+ "122f0a0a437265617465446f637312142e6170692e446f63436f6e737472" .
+ "7563746f72731a092e6170692e446f63732200121e0a06476574446f6312" .
+ "082e6170692e5265661a082e6170692e446f63220012260a0a5365617263" .
+ "68446f6373120b2e6170692e46696c7465721a092e6170692e446f637322" .
+ "0012320a08547261766572736512132e6170692e54726176657273654669" .
+ "6c7465721a0f2e6170692e54726176657273616c73220012360a0a547261" .
+ "76657273654d6512152e6170692e54726176657273654d6546696c746572" .
+ "1a0f2e6170692e54726176657273616c73220012200a0745646974446f63" .
+ "12092e6170692e456469741a082e6170692e446f63220012280a08456469" .
+ "74446f6373120f2e6170692e4564697446696c7465721a092e6170692e44" .
+ "6f63732200122c0a0644656c446f6312082e6170692e5265661a162e676f" .
+ "6f676c652e70726f746f6275662e456d707479220012300a0744656c446f" .
+ "6373120b2e6170692e46696c7465721a162e676f6f676c652e70726f746f" .
+ "6275662e456d7074792200122e0a09457869737473446f6312112e617069" .
"2e45786973747346696c7465721a0c2e6170692e426f6f6c65616e220012" .
- "220a06486173446f6312082e6170692e5265661a0c2e6170692e426f6f6c" .
- "65616e220012290a0d486173436f6e6e656374696f6e12082e6170692e52" .
- "65661a0c2e6170692e426f6f6c65616e220012410a10437265617465436f" .
- "6e6e656374696f6e121a2e6170692e436f6e6e656374696f6e436f6e7374" .
- "727563746f721a0f2e6170692e436f6e6e656374696f6e220012440a1143" .
- "7265617465436f6e6e656374696f6e73121b2e6170692e436f6e6e656374" .
- "696f6e436f6e7374727563746f72731a102e6170692e436f6e6e65637469" .
- "6f6e73220012400a10536561726368416e64436f6e6e65637412182e6170" .
- "692e536561726368436f6e6e65637446696c7465721a102e6170692e436f" .
- "6e6e656374696f6e73220012440a12536561726368416e64436f6e6e6563" .
- "744d65121a2e6170692e536561726368436f6e6e6563744d6546696c7465" .
- "721a102e6170692e436f6e6e656374696f6e732200122c0a0d476574436f" .
- "6e6e656374696f6e12082e6170692e5265661a0f2e6170692e436f6e6e65" .
- "6374696f6e220012340a11536561726368436f6e6e656374696f6e73120b" .
- "2e6170692e46696c7465721a102e6170692e436f6e6e656374696f6e7322" .
- "00122e0a0e45646974436f6e6e656374696f6e12092e6170692e45646974" .
- "1a0f2e6170692e436f6e6e656374696f6e220012360a0f45646974436f6e" .
- "6e656374696f6e73120f2e6170692e4564697446696c7465721a102e6170" .
- "692e436f6e6e656374696f6e73220012330a0d44656c436f6e6e65637469" .
- "6f6e12082e6170692e5265661a162e676f6f676c652e70726f746f627566" .
- "2e456d707479220012370a0e44656c436f6e6e656374696f6e73120b2e61" .
- "70692e46696c7465721a162e676f6f676c652e70726f746f6275662e456d" .
- "707479220012390a0f436f6e6e656374696f6e7346726f6d12122e617069" .
- "2e436f6e6e65637446696c7465721a102e6170692e436f6e6e656374696f" .
- "6e73220012370a0d436f6e6e656374696f6e73546f12122e6170692e436f" .
- "6e6e65637446696c7465721a102e6170692e436f6e6e656374696f6e7322" .
- "00122e0a0d416767726567617465446f6373120e2e6170692e4167674669" .
- "6c7465721a0b2e6170692e4e756d626572220012350a1441676772656761" .
- "7465436f6e6e656374696f6e73120e2e6170692e41676746696c7465721a" .
- "0b2e6170692e4e756d6265722200123b0a0942726f61646361737412142e" .
- "6170692e4f7574626f756e644d6573736167651a162e676f6f676c652e70" .
- "726f746f6275662e456d7074792200122d0a0653747265616d12112e6170" .
- "692e53747265616d46696c7465721a0c2e6170692e4d6573736167652200" .
- "3001123a0a1350757368446f63436f6e7374727563746f727312132e6170" .
- "692e446f63436f6e7374727563746f721a082e6170692e446f6322002801" .
- "3001124f0a1a50757368436f6e6e656374696f6e436f6e7374727563746f" .
- "7273121a2e6170692e436f6e6e656374696f6e436f6e7374727563746f72" .
- "1a0f2e6170692e436f6e6e656374696f6e22002801300112300a08536565" .
- "64446f637312082e6170692e446f631a162e676f6f676c652e70726f746f" .
- "6275662e456d70747922002801123e0a0f53656564436f6e6e656374696f" .
- "6e73120f2e6170692e436f6e6e656374696f6e1a162e676f6f676c652e70" .
- "726f746f6275662e456d7074792200280142075a05617069706262067072" .
- "6f746f33"
+ "350a10457869737473436f6e6e656374696f6e12112e6170692e45786973" .
+ "747346696c7465721a0c2e6170692e426f6f6c65616e220012220a064861" .
+ "73446f6312082e6170692e5265661a0c2e6170692e426f6f6c65616e2200" .
+ "12290a0d486173436f6e6e656374696f6e12082e6170692e5265661a0c2e" .
+ "6170692e426f6f6c65616e220012410a10437265617465436f6e6e656374" .
+ "696f6e121a2e6170692e436f6e6e656374696f6e436f6e7374727563746f" .
+ "721a0f2e6170692e436f6e6e656374696f6e220012440a11437265617465" .
+ "436f6e6e656374696f6e73121b2e6170692e436f6e6e656374696f6e436f" .
+ "6e7374727563746f72731a102e6170692e436f6e6e656374696f6e732200" .
+ "12400a10536561726368416e64436f6e6e65637412182e6170692e536561" .
+ "726368436f6e6e65637446696c7465721a102e6170692e436f6e6e656374" .
+ "696f6e73220012440a12536561726368416e64436f6e6e6563744d65121a" .
+ "2e6170692e536561726368436f6e6e6563744d6546696c7465721a102e61" .
+ "70692e436f6e6e656374696f6e732200122c0a0d476574436f6e6e656374" .
+ "696f6e12082e6170692e5265661a0f2e6170692e436f6e6e656374696f6e" .
+ "220012340a11536561726368436f6e6e656374696f6e73120b2e6170692e" .
+ "46696c7465721a102e6170692e436f6e6e656374696f6e732200122e0a0e" .
+ "45646974436f6e6e656374696f6e12092e6170692e456469741a0f2e6170" .
+ "692e436f6e6e656374696f6e220012360a0f45646974436f6e6e65637469" .
+ "6f6e73120f2e6170692e4564697446696c7465721a102e6170692e436f6e" .
+ "6e656374696f6e73220012330a0d44656c436f6e6e656374696f6e12082e" .
+ "6170692e5265661a162e676f6f676c652e70726f746f6275662e456d7074" .
+ "79220012370a0e44656c436f6e6e656374696f6e73120b2e6170692e4669" .
+ "6c7465721a162e676f6f676c652e70726f746f6275662e456d7074792200" .
+ "12390a0f436f6e6e656374696f6e7346726f6d12122e6170692e436f6e6e" .
+ "65637446696c7465721a102e6170692e436f6e6e656374696f6e73220012" .
+ "370a0d436f6e6e656374696f6e73546f12122e6170692e436f6e6e656374" .
+ "46696c7465721a102e6170692e436f6e6e656374696f6e732200122e0a0d" .
+ "416767726567617465446f6373120e2e6170692e41676746696c7465721a" .
+ "0b2e6170692e4e756d626572220012350a14416767726567617465436f6e" .
+ "6e656374696f6e73120e2e6170692e41676746696c7465721a0b2e617069" .
+ "2e4e756d6265722200123b0a0942726f61646361737412142e6170692e4f" .
+ "7574626f756e644d6573736167651a162e676f6f676c652e70726f746f62" .
+ "75662e456d7074792200122d0a0653747265616d12112e6170692e537472" .
+ "65616d46696c7465721a0c2e6170692e4d65737361676522003001123a0a" .
+ "1350757368446f63436f6e7374727563746f727312132e6170692e446f63" .
+ "436f6e7374727563746f721a082e6170692e446f63220028013001124f0a" .
+ "1a50757368436f6e6e656374696f6e436f6e7374727563746f7273121a2e" .
+ "6170692e436f6e6e656374696f6e436f6e7374727563746f721a0f2e6170" .
+ "692e436f6e6e656374696f6e22002801300112300a0853656564446f6373" .
+ "12082e6170692e446f631a162e676f6f676c652e70726f746f6275662e45" .
+ "6d70747922002801123e0a0f53656564436f6e6e656374696f6e73120f2e" .
+ "6170692e436f6e6e656374696f6e1a162e676f6f676c652e70726f746f62" .
+ "75662e456d7074792200280142075a056170697062620670726f746f33"
));
static::$is_initialized = true;
diff --git a/gen/grpc/python/graphik_pb2.py b/gen/grpc/python/graphik_pb2.py
index 3108aaa..7f7d549 100644
--- a/gen/grpc/python/graphik_pb2.py
+++ b/gen/grpc/python/graphik_pb2.py
@@ -25,7 +25,7 @@
package='api',
syntax='proto3',
serialized_options=_b('Z\005apipb'),
- serialized_pb=_b('\n\rgraphik.proto\x12\x03\x61pi\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x36github.com/mwitkow/go-proto-validators/validator.proto\"E\n\x03Ref\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1d\n\x03gid\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\">\n\x0eRefConstructor\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0b\n\x03gid\x18\x02 \x01(\t\"\x1e\n\x04Refs\x12\x16\n\x04refs\x18\x01 \x03(\x0b\x32\x08.api.Ref\"Q\n\x03\x44oc\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"g\n\x0e\x44ocConstructor\x12(\n\x03ref\x18\x01 \x01(\x0b\x32\x13.api.RefConstructorB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"4\n\x0f\x44ocConstructors\x12!\n\x04\x64ocs\x18\x01 \x03(\x0b\x32\x13.api.DocConstructor\"a\n\tTraversal\x12\x15\n\x03\x64oc\x18\x01 \x01(\x0b\x32\x08.api.Doc\x12 \n\x0etraversal_path\x18\x02 \x03(\x0b\x32\x08.api.Ref\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x04\x12\x0c\n\x04hops\x18\x04 \x01(\x04\"0\n\nTraversals\x12\"\n\ntraversals\x18\x01 \x03(\x0b\x32\x0e.api.Traversal\"1\n\x04\x44ocs\x12\x16\n\x04\x64ocs\x18\x01 \x03(\x0b\x32\x08.api.Doc\x12\x11\n\tseek_next\x18\x02 \x01(\t\"\xa8\x01\n\nConnection\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x03 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x04 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1c\n\x02to\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\xbe\x01\n\x15\x43onnectionConstructor\x12(\n\x03ref\x18\x01 \x01(\x0b\x32\x13.api.RefConstructorB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1c\n\x02to\x18\x06 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\xa0\x01\n\x13SearchConnectFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12\r\n\x05gtype\x18\x02 \x01(\t\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\x82\x01\n\x15SearchConnectMeFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12\r\n\x05gtype\x18\x02 \x01(\t\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\"I\n\x16\x43onnectionConstructors\x12/\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x1a.api.ConnectionConstructor\"F\n\x0b\x43onnections\x12$\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x0f.api.Connection\x12\x11\n\tseek_next\x18\x02 \x01(\t\"\xe2\x01\n\rConnectFilter\x12!\n\x07\x64oc_ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1f\n\x05gtype\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x03 \x01(\t\x12\x15\n\x05limit\x18\x04 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x05 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0c\n\x04seek\x18\x06 \x01(\t\x12\x0f\n\x07reverse\x18\x07 \x01(\x08\"\xc7\x01\n\x06\x46ilter\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x02 \x01(\t\x12\x15\n\x05limit\x18\x03 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x04 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0c\n\x04seek\x18\x05 \x01(\t\x12\x0f\n\x07reverse\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\t\"\x87\x01\n\tAggFilter\x12#\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.FilterB\x06\xe2\xdf\x1f\x02 \x01\x12!\n\taggregate\x18\x02 \x01(\x0e\x32\x0e.api.Aggregate\x12\x32\n\x05\x66ield\x18\x03 \x01(\tB#\xe2\xdf\x1f\x1f\n\x1d((^|, )(|^attributes.(.*)))+$\"\xac\x02\n\x0eTraverseFilter\x12\x1e\n\x04root\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x16\n\x0e\x64oc_expression\x18\x02 \x01(\t\x12\x1d\n\x15\x63onnection_expression\x18\x03 \x01(\t\x12\x15\n\x05limit\x18\x04 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x05 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0f\n\x07reverse\x18\x06 \x01(\x08\x12!\n\talgorithm\x18\x07 \x01(\x0e\x32\x0e.api.Algorithm\x12\x19\n\tmax_depth\x18\x08 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x18\n\x08max_hops\x18\t \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\"\x8e\x02\n\x10TraverseMeFilter\x12\x16\n\x0e\x64oc_expression\x18\x01 \x01(\t\x12\x1d\n\x15\x63onnection_expression\x18\x02 \x01(\t\x12\x15\n\x05limit\x18\x03 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x04 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0f\n\x07reverse\x18\x05 \x01(\x08\x12!\n\talgorithm\x18\x06 \x01(\x0e\x32\x0e.api.Algorithm\x12\x19\n\tmax_depth\x18\x07 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x18\n\x08max_hops\x18\x08 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\"\x9c\x01\n\x10IndexConstructor\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x04 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x06 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x07 \x01(\x08\"\x92\x01\n\nAuthTarget\x12\x1b\n\x04type\x18\x01 \x01(\x0e\x32\r.api.AuthType\x12 \n\x06method\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1e\n\x04user\x18\x03 \x01(\x0b\x32\x08.api.DocB\x06\xe2\xdf\x1f\x02 \x01\x12%\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"o\n\nAuthorizer\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1b\n\x04type\x18\x03 \x01(\x0e\x32\r.api.AuthType\"3\n\x0b\x41uthorizers\x12$\n\x0b\x61uthorizers\x18\x01 \x03(\x0b\x32\x0f.api.Authorizer\"\x99\x01\n\rTypeValidator\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x04 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x05 \x01(\x08\"8\n\x0eTypeValidators\x12&\n\nvalidators\x18\x01 \x03(\x0b\x32\x12.api.TypeValidator\"\x91\x01\n\x05Index\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x04 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x06 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x07 \x01(\x08\"&\n\x07Indexes\x12\x1b\n\x07indexes\x18\x01 \x03(\x0b\x32\n.api.Index\"E\n\x0cStreamFilter\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x02 \x01(\t\"G\n\x05Graph\x12\x17\n\x04\x64ocs\x18\x01 \x01(\x0b\x32\t.api.Docs\x12%\n\x0b\x63onnections\x18\x02 \x01(\x0b\x32\x10.api.Connections\"\xc4\x02\n\x05\x46lags\x12\x19\n\x11open_id_discovery\x18\x01 \x01(\t\x12\x14\n\x0cstorage_path\x18\x02 \x01(\t\x12\x0f\n\x07metrics\x18\x03 \x01(\x08\x12\x15\n\rallow_headers\x18\x05 \x03(\t\x12\x15\n\rallow_methods\x18\x06 \x03(\t\x12\x15\n\rallow_origins\x18\x07 \x03(\t\x12\x12\n\nroot_users\x18\x08 \x03(\t\x12\x10\n\x08tls_cert\x18\t \x01(\t\x12\x0f\n\x07tls_key\x18\n \x01(\t\x12\x1c\n\x14playground_client_id\x18\x0b \x01(\t\x12 \n\x18playground_client_secret\x18\x0c \x01(\t\x12\x1b\n\x13playground_redirect\x18\r \x01(\t\x12 \n\x18playground_session_store\x18\x0e \x01(\t\"\x18\n\x07\x42oolean\x12\r\n\x05value\x18\x01 \x01(\x08\"\x17\n\x06Number\x12\r\n\x05value\x18\x01 \x01(\x01\"\x83\x01\n\x0c\x45xistsFilter\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04seek\x18\x03 \x01(\t\x12\x0f\n\x07reverse\x18\x04 \x01(\x08\x12\r\n\x05index\x18\x05 \x01(\t\"R\n\x04\x45\x64it\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"V\n\nEditFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x17\n\x04Pong\x12\x0f\n\x07message\x18\x01 \x01(\t\"c\n\x0fOutboundMessage\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\xe2\xdf\x1f\x02 \x01\"\xd4\x01\n\x07Message\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\xe2\xdf\x1f\x02 \x01\x12\x1e\n\x04user\x18\x03 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x35\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x06\xe2\xdf\x1f\x02 \x01\x12 \n\x06method\x18\x05 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\"\xa4\x01\n\x06Schema\x12\x18\n\x10\x63onnection_types\x18\x01 \x03(\t\x12\x11\n\tdoc_types\x18\x02 \x03(\t\x12%\n\x0b\x61uthorizers\x18\x03 \x01(\x0b\x32\x10.api.Authorizers\x12\'\n\nvalidators\x18\x04 \x01(\x0b\x32\x13.api.TypeValidators\x12\x1d\n\x07indexes\x18\x05 \x01(\x0b\x32\x0c.api.Indexes\" \n\nExprFilter\x12\x12\n\nexpression\x18\x01 \x01(\t*\x1d\n\tAlgorithm\x12\x07\n\x03\x42\x46S\x10\x00\x12\x07\n\x03\x44\x46S\x10\x01*D\n\tAggregate\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x12\x07\n\x03MAX\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x08\n\x04PROD\x10\x05*:\n\x08\x41uthType\x12\x0b\n\x07REQUEST\x10\x00\x12\x0c\n\x08VIEW_DOC\x10\x01\x12\x13\n\x0fVIEW_CONNECTION\x10\x02\x32\xda\x10\n\x0f\x44\x61tabaseService\x12+\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\t.api.Pong\"\x00\x12\x32\n\tGetSchema\x12\x16.google.protobuf.Empty\x1a\x0b.api.Schema\"\x00\x12<\n\x0eSetAuthorizers\x12\x10.api.Authorizers\x1a\x16.google.protobuf.Empty\"\x00\x12\x34\n\nSetIndexes\x12\x0c.api.Indexes\x1a\x16.google.protobuf.Empty\"\x00\x12\x42\n\x11SetTypeValidators\x12\x13.api.TypeValidators\x1a\x16.google.protobuf.Empty\"\x00\x12(\n\x02Me\x12\x16.google.protobuf.Empty\x1a\x08.api.Doc\"\x00\x12,\n\tCreateDoc\x12\x13.api.DocConstructor\x1a\x08.api.Doc\"\x00\x12/\n\nCreateDocs\x12\x14.api.DocConstructors\x1a\t.api.Docs\"\x00\x12\x1e\n\x06GetDoc\x12\x08.api.Ref\x1a\x08.api.Doc\"\x00\x12&\n\nSearchDocs\x12\x0b.api.Filter\x1a\t.api.Docs\"\x00\x12\x32\n\x08Traverse\x12\x13.api.TraverseFilter\x1a\x0f.api.Traversals\"\x00\x12\x36\n\nTraverseMe\x12\x15.api.TraverseMeFilter\x1a\x0f.api.Traversals\"\x00\x12 \n\x07\x45\x64itDoc\x12\t.api.Edit\x1a\x08.api.Doc\"\x00\x12(\n\x08\x45\x64itDocs\x12\x0f.api.EditFilter\x1a\t.api.Docs\"\x00\x12,\n\x06\x44\x65lDoc\x12\x08.api.Ref\x1a\x16.google.protobuf.Empty\"\x00\x12\x30\n\x07\x44\x65lDocs\x12\x0b.api.Filter\x1a\x16.google.protobuf.Empty\"\x00\x12.\n\tExistsDoc\x12\x11.api.ExistsFilter\x1a\x0c.api.Boolean\"\x00\x12\x35\n\x10\x45xistsConnection\x12\x11.api.ExistsFilter\x1a\x0c.api.Boolean\"\x00\x12\"\n\x06HasDoc\x12\x08.api.Ref\x1a\x0c.api.Boolean\"\x00\x12)\n\rHasConnection\x12\x08.api.Ref\x1a\x0c.api.Boolean\"\x00\x12\x41\n\x10\x43reateConnection\x12\x1a.api.ConnectionConstructor\x1a\x0f.api.Connection\"\x00\x12\x44\n\x11\x43reateConnections\x12\x1b.api.ConnectionConstructors\x1a\x10.api.Connections\"\x00\x12@\n\x10SearchAndConnect\x12\x18.api.SearchConnectFilter\x1a\x10.api.Connections\"\x00\x12\x44\n\x12SearchAndConnectMe\x12\x1a.api.SearchConnectMeFilter\x1a\x10.api.Connections\"\x00\x12,\n\rGetConnection\x12\x08.api.Ref\x1a\x0f.api.Connection\"\x00\x12\x34\n\x11SearchConnections\x12\x0b.api.Filter\x1a\x10.api.Connections\"\x00\x12.\n\x0e\x45\x64itConnection\x12\t.api.Edit\x1a\x0f.api.Connection\"\x00\x12\x36\n\x0f\x45\x64itConnections\x12\x0f.api.EditFilter\x1a\x10.api.Connections\"\x00\x12\x33\n\rDelConnection\x12\x08.api.Ref\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\x0e\x44\x65lConnections\x12\x0b.api.Filter\x1a\x16.google.protobuf.Empty\"\x00\x12\x39\n\x0f\x43onnectionsFrom\x12\x12.api.ConnectFilter\x1a\x10.api.Connections\"\x00\x12\x37\n\rConnectionsTo\x12\x12.api.ConnectFilter\x1a\x10.api.Connections\"\x00\x12.\n\rAggregateDocs\x12\x0e.api.AggFilter\x1a\x0b.api.Number\"\x00\x12\x35\n\x14\x41ggregateConnections\x12\x0e.api.AggFilter\x1a\x0b.api.Number\"\x00\x12;\n\tBroadcast\x12\x14.api.OutboundMessage\x1a\x16.google.protobuf.Empty\"\x00\x12-\n\x06Stream\x12\x11.api.StreamFilter\x1a\x0c.api.Message\"\x00\x30\x01\x12:\n\x13PushDocConstructors\x12\x13.api.DocConstructor\x1a\x08.api.Doc\"\x00(\x01\x30\x01\x12O\n\x1aPushConnectionConstructors\x12\x1a.api.ConnectionConstructor\x1a\x0f.api.Connection\"\x00(\x01\x30\x01\x12\x30\n\x08SeedDocs\x12\x08.api.Doc\x1a\x16.google.protobuf.Empty\"\x00(\x01\x12>\n\x0fSeedConnections\x12\x0f.api.Connection\x1a\x16.google.protobuf.Empty\"\x00(\x01\x42\x07Z\x05\x61pipbb\x06proto3')
+ serialized_pb=_b('\n\rgraphik.proto\x12\x03\x61pi\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x36github.com/mwitkow/go-proto-validators/validator.proto\"E\n\x03Ref\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1d\n\x03gid\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\">\n\x0eRefConstructor\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0b\n\x03gid\x18\x02 \x01(\t\"\x1e\n\x04Refs\x12\x16\n\x04refs\x18\x01 \x03(\x0b\x32\x08.api.Ref\"Q\n\x03\x44oc\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"g\n\x0e\x44ocConstructor\x12(\n\x03ref\x18\x01 \x01(\x0b\x32\x13.api.RefConstructorB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"4\n\x0f\x44ocConstructors\x12!\n\x04\x64ocs\x18\x01 \x03(\x0b\x32\x13.api.DocConstructor\"a\n\tTraversal\x12\x15\n\x03\x64oc\x18\x01 \x01(\x0b\x32\x08.api.Doc\x12 \n\x0etraversal_path\x18\x02 \x03(\x0b\x32\x08.api.Ref\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x04\x12\x0c\n\x04hops\x18\x04 \x01(\x04\"0\n\nTraversals\x12\"\n\ntraversals\x18\x01 \x03(\x0b\x32\x0e.api.Traversal\"1\n\x04\x44ocs\x12\x16\n\x04\x64ocs\x18\x01 \x03(\x0b\x32\x08.api.Doc\x12\x11\n\tseek_next\x18\x02 \x01(\t\"\xa8\x01\n\nConnection\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x03 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x04 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1c\n\x02to\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\xbe\x01\n\x15\x43onnectionConstructor\x12(\n\x03ref\x18\x01 \x01(\x0b\x32\x13.api.RefConstructorB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1c\n\x02to\x18\x06 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\xa0\x01\n\x13SearchConnectFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12\r\n\x05gtype\x18\x02 \x01(\t\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\x12\x1e\n\x04\x66rom\x18\x05 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\"\x82\x01\n\x15SearchConnectMeFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12\r\n\x05gtype\x18\x02 \x01(\t\x12+\n\nattributes\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x64irected\x18\x04 \x01(\x08\"I\n\x16\x43onnectionConstructors\x12/\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x1a.api.ConnectionConstructor\"F\n\x0b\x43onnections\x12$\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x0f.api.Connection\x12\x11\n\tseek_next\x18\x02 \x01(\t\"\xe2\x01\n\rConnectFilter\x12!\n\x07\x64oc_ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x1f\n\x05gtype\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x03 \x01(\t\x12\x15\n\x05limit\x18\x04 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x05 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0c\n\x04seek\x18\x06 \x01(\t\x12\x0f\n\x07reverse\x18\x07 \x01(\x08\"\xc7\x01\n\x06\x46ilter\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x02 \x01(\t\x12\x15\n\x05limit\x18\x03 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x04 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0c\n\x04seek\x18\x05 \x01(\t\x12\x0f\n\x07reverse\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\t\"\x87\x01\n\tAggFilter\x12#\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.FilterB\x06\xe2\xdf\x1f\x02 \x01\x12!\n\taggregate\x18\x02 \x01(\x0e\x32\x0e.api.Aggregate\x12\x32\n\x05\x66ield\x18\x03 \x01(\tB#\xe2\xdf\x1f\x1f\n\x1d((^|, )(|^attributes.(.*)))+$\"\xac\x02\n\x0eTraverseFilter\x12\x1e\n\x04root\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x16\n\x0e\x64oc_expression\x18\x02 \x01(\t\x12\x1d\n\x15\x63onnection_expression\x18\x03 \x01(\t\x12\x15\n\x05limit\x18\x04 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x05 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0f\n\x07reverse\x18\x06 \x01(\x08\x12!\n\talgorithm\x18\x07 \x01(\x0e\x32\x0e.api.Algorithm\x12\x19\n\tmax_depth\x18\x08 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x18\n\x08max_hops\x18\t \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\"\x8e\x02\n\x10TraverseMeFilter\x12\x16\n\x0e\x64oc_expression\x18\x01 \x01(\t\x12\x1d\n\x15\x63onnection_expression\x18\x02 \x01(\t\x12\x15\n\x05limit\x18\x03 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x43\n\x04sort\x18\x04 \x01(\tB5\xe2\xdf\x1f\x31\n/((^|, )(|ref.gid|ref.gtype|^attributes.(.*)))+$\x12\x0f\n\x07reverse\x18\x05 \x01(\x08\x12!\n\talgorithm\x18\x06 \x01(\x0e\x32\x0e.api.Algorithm\x12\x19\n\tmax_depth\x18\x07 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\x12\x18\n\x08max_hops\x18\x08 \x01(\x04\x42\x06\xe2\xdf\x1f\x02\x10\x00\"\x9c\x01\n\x10IndexConstructor\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x04 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x06 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x07 \x01(\x08\"w\n\nAuthTarget\x12 \n\x06method\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1e\n\x04user\x18\x04 \x01(\x0b\x32\x08.api.DocB\x06\xe2\xdf\x1f\x02 \x01\x12\'\n\x06target\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x85\x01\n\nAuthorizer\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x17\n\x0ftarget_requests\x18\x03 \x01(\x08\x12\x18\n\x10target_responses\x18\x04 \x01(\x08\"3\n\x0b\x41uthorizers\x12$\n\x0b\x61uthorizers\x18\x01 \x03(\x0b\x32\x0f.api.Authorizer\"\x99\x01\n\rTypeValidator\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x04 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x05 \x01(\x08\"8\n\x0eTypeValidators\x12&\n\nvalidators\x18\x01 \x03(\x0b\x32\x12.api.TypeValidator\"\x91\x01\n\x05Index\x12\x1e\n\x04name\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x1f\n\x05gtype\x18\x03 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x04 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04\x64ocs\x18\x06 \x01(\x08\x12\x13\n\x0b\x63onnections\x18\x07 \x01(\x08\"&\n\x07Indexes\x12\x1b\n\x07indexes\x18\x01 \x03(\x0b\x32\n.api.Index\"E\n\x0cStreamFilter\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x12\n\nexpression\x18\x02 \x01(\t\"G\n\x05Graph\x12\x17\n\x04\x64ocs\x18\x01 \x01(\x0b\x32\t.api.Docs\x12%\n\x0b\x63onnections\x18\x02 \x01(\x0b\x32\x10.api.Connections\"\xc4\x02\n\x05\x46lags\x12\x19\n\x11open_id_discovery\x18\x01 \x01(\t\x12\x14\n\x0cstorage_path\x18\x02 \x01(\t\x12\x0f\n\x07metrics\x18\x03 \x01(\x08\x12\x15\n\rallow_headers\x18\x05 \x03(\t\x12\x15\n\rallow_methods\x18\x06 \x03(\t\x12\x15\n\rallow_origins\x18\x07 \x03(\t\x12\x12\n\nroot_users\x18\x08 \x03(\t\x12\x10\n\x08tls_cert\x18\t \x01(\t\x12\x0f\n\x07tls_key\x18\n \x01(\t\x12\x1c\n\x14playground_client_id\x18\x0b \x01(\t\x12 \n\x18playground_client_secret\x18\x0c \x01(\t\x12\x1b\n\x13playground_redirect\x18\r \x01(\t\x12 \n\x18playground_session_store\x18\x0e \x01(\t\"\x18\n\x07\x42oolean\x12\r\n\x05value\x18\x01 \x01(\x08\"\x17\n\x06Number\x12\r\n\x05value\x18\x01 \x01(\x01\"\x83\x01\n\x0c\x45xistsFilter\x12\x1f\n\x05gtype\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12$\n\nexpression\x18\x02 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12\x0c\n\x04seek\x18\x03 \x01(\t\x12\x0f\n\x07reverse\x18\x04 \x01(\x08\x12\r\n\x05index\x18\x05 \x01(\t\"R\n\x04\x45\x64it\x12\x1d\n\x03ref\x18\x01 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"V\n\nEditFilter\x12\x1b\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x0b.api.Filter\x12+\n\nattributes\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x17\n\x04Pong\x12\x0f\n\x07message\x18\x01 \x01(\t\"c\n\x0fOutboundMessage\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\xe2\xdf\x1f\x02 \x01\"\xd4\x01\n\x07Message\x12!\n\x07\x63hannel\x18\x01 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\xe2\xdf\x1f\x02 \x01\x12\x1e\n\x04user\x18\x03 \x01(\x0b\x32\x08.api.RefB\x06\xe2\xdf\x1f\x02 \x01\x12\x35\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x06\xe2\xdf\x1f\x02 \x01\x12 \n\x06method\x18\x05 \x01(\tB\x10\xe2\xdf\x1f\x0c\n\n^.{1,225}$\"\xa4\x01\n\x06Schema\x12\x18\n\x10\x63onnection_types\x18\x01 \x03(\t\x12\x11\n\tdoc_types\x18\x02 \x03(\t\x12%\n\x0b\x61uthorizers\x18\x03 \x01(\x0b\x32\x10.api.Authorizers\x12\'\n\nvalidators\x18\x04 \x01(\x0b\x32\x13.api.TypeValidators\x12\x1d\n\x07indexes\x18\x05 \x01(\x0b\x32\x0c.api.Indexes\" \n\nExprFilter\x12\x12\n\nexpression\x18\x01 \x01(\t*\x1d\n\tAlgorithm\x12\x07\n\x03\x42\x46S\x10\x00\x12\x07\n\x03\x44\x46S\x10\x01*D\n\tAggregate\x12\t\n\x05\x43OUNT\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03\x41VG\x10\x02\x12\x07\n\x03MAX\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x08\n\x04PROD\x10\x05\x32\xda\x10\n\x0f\x44\x61tabaseService\x12+\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\t.api.Pong\"\x00\x12\x32\n\tGetSchema\x12\x16.google.protobuf.Empty\x1a\x0b.api.Schema\"\x00\x12<\n\x0eSetAuthorizers\x12\x10.api.Authorizers\x1a\x16.google.protobuf.Empty\"\x00\x12\x34\n\nSetIndexes\x12\x0c.api.Indexes\x1a\x16.google.protobuf.Empty\"\x00\x12\x42\n\x11SetTypeValidators\x12\x13.api.TypeValidators\x1a\x16.google.protobuf.Empty\"\x00\x12(\n\x02Me\x12\x16.google.protobuf.Empty\x1a\x08.api.Doc\"\x00\x12,\n\tCreateDoc\x12\x13.api.DocConstructor\x1a\x08.api.Doc\"\x00\x12/\n\nCreateDocs\x12\x14.api.DocConstructors\x1a\t.api.Docs\"\x00\x12\x1e\n\x06GetDoc\x12\x08.api.Ref\x1a\x08.api.Doc\"\x00\x12&\n\nSearchDocs\x12\x0b.api.Filter\x1a\t.api.Docs\"\x00\x12\x32\n\x08Traverse\x12\x13.api.TraverseFilter\x1a\x0f.api.Traversals\"\x00\x12\x36\n\nTraverseMe\x12\x15.api.TraverseMeFilter\x1a\x0f.api.Traversals\"\x00\x12 \n\x07\x45\x64itDoc\x12\t.api.Edit\x1a\x08.api.Doc\"\x00\x12(\n\x08\x45\x64itDocs\x12\x0f.api.EditFilter\x1a\t.api.Docs\"\x00\x12,\n\x06\x44\x65lDoc\x12\x08.api.Ref\x1a\x16.google.protobuf.Empty\"\x00\x12\x30\n\x07\x44\x65lDocs\x12\x0b.api.Filter\x1a\x16.google.protobuf.Empty\"\x00\x12.\n\tExistsDoc\x12\x11.api.ExistsFilter\x1a\x0c.api.Boolean\"\x00\x12\x35\n\x10\x45xistsConnection\x12\x11.api.ExistsFilter\x1a\x0c.api.Boolean\"\x00\x12\"\n\x06HasDoc\x12\x08.api.Ref\x1a\x0c.api.Boolean\"\x00\x12)\n\rHasConnection\x12\x08.api.Ref\x1a\x0c.api.Boolean\"\x00\x12\x41\n\x10\x43reateConnection\x12\x1a.api.ConnectionConstructor\x1a\x0f.api.Connection\"\x00\x12\x44\n\x11\x43reateConnections\x12\x1b.api.ConnectionConstructors\x1a\x10.api.Connections\"\x00\x12@\n\x10SearchAndConnect\x12\x18.api.SearchConnectFilter\x1a\x10.api.Connections\"\x00\x12\x44\n\x12SearchAndConnectMe\x12\x1a.api.SearchConnectMeFilter\x1a\x10.api.Connections\"\x00\x12,\n\rGetConnection\x12\x08.api.Ref\x1a\x0f.api.Connection\"\x00\x12\x34\n\x11SearchConnections\x12\x0b.api.Filter\x1a\x10.api.Connections\"\x00\x12.\n\x0e\x45\x64itConnection\x12\t.api.Edit\x1a\x0f.api.Connection\"\x00\x12\x36\n\x0f\x45\x64itConnections\x12\x0f.api.EditFilter\x1a\x10.api.Connections\"\x00\x12\x33\n\rDelConnection\x12\x08.api.Ref\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\x0e\x44\x65lConnections\x12\x0b.api.Filter\x1a\x16.google.protobuf.Empty\"\x00\x12\x39\n\x0f\x43onnectionsFrom\x12\x12.api.ConnectFilter\x1a\x10.api.Connections\"\x00\x12\x37\n\rConnectionsTo\x12\x12.api.ConnectFilter\x1a\x10.api.Connections\"\x00\x12.\n\rAggregateDocs\x12\x0e.api.AggFilter\x1a\x0b.api.Number\"\x00\x12\x35\n\x14\x41ggregateConnections\x12\x0e.api.AggFilter\x1a\x0b.api.Number\"\x00\x12;\n\tBroadcast\x12\x14.api.OutboundMessage\x1a\x16.google.protobuf.Empty\"\x00\x12-\n\x06Stream\x12\x11.api.StreamFilter\x1a\x0c.api.Message\"\x00\x30\x01\x12:\n\x13PushDocConstructors\x12\x13.api.DocConstructor\x1a\x08.api.Doc\"\x00(\x01\x30\x01\x12O\n\x1aPushConnectionConstructors\x12\x1a.api.ConnectionConstructor\x1a\x0f.api.Connection\"\x00(\x01\x30\x01\x12\x30\n\x08SeedDocs\x12\x08.api.Doc\x1a\x16.google.protobuf.Empty\"\x00(\x01\x12>\n\x0fSeedConnections\x12\x0f.api.Connection\x1a\x16.google.protobuf.Empty\"\x00(\x01\x42\x07Z\x05\x61pipbb\x06proto3')
,
dependencies=[google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,github_dot_com_dot_mwitkow_dot_go__proto__validators_dot_validator__pb2.DESCRIPTOR,])
@@ -46,8 +46,8 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=5004,
- serialized_end=5033,
+ serialized_start=4999,
+ serialized_end=5028,
)
_sym_db.RegisterEnumDescriptor(_ALGORITHM)
@@ -85,39 +85,12 @@
],
containing_type=None,
serialized_options=None,
- serialized_start=5035,
- serialized_end=5103,
+ serialized_start=5030,
+ serialized_end=5098,
)
_sym_db.RegisterEnumDescriptor(_AGGREGATE)
Aggregate = enum_type_wrapper.EnumTypeWrapper(_AGGREGATE)
-_AUTHTYPE = _descriptor.EnumDescriptor(
- name='AuthType',
- full_name='api.AuthType',
- filename=None,
- file=DESCRIPTOR,
- values=[
- _descriptor.EnumValueDescriptor(
- name='REQUEST', index=0, number=0,
- serialized_options=None,
- type=None),
- _descriptor.EnumValueDescriptor(
- name='VIEW_DOC', index=1, number=1,
- serialized_options=None,
- type=None),
- _descriptor.EnumValueDescriptor(
- name='VIEW_CONNECTION', index=2, number=2,
- serialized_options=None,
- type=None),
- ],
- containing_type=None,
- serialized_options=None,
- serialized_start=5105,
- serialized_end=5163,
-)
-_sym_db.RegisterEnumDescriptor(_AUTHTYPE)
-
-AuthType = enum_type_wrapper.EnumTypeWrapper(_AUTHTYPE)
BFS = 0
DFS = 1
COUNT = 0
@@ -126,9 +99,6 @@
MAX = 3
MIN = 4
PROD = 5
-REQUEST = 0
-VIEW_DOC = 1
-VIEW_CONNECTION = 2
@@ -1190,29 +1160,22 @@
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
- name='type', full_name='api.AuthTarget.type', index=0,
- number=1, type=14, cpp_type=8, label=1,
- has_default_value=False, default_value=0,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='method', full_name='api.AuthTarget.method', index=1,
- number=2, type=9, cpp_type=9, label=1,
+ name='method', full_name='api.AuthTarget.method', index=0,
+ number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=_b('\342\337\037\014\n\n^.{1,225}$'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='user', full_name='api.AuthTarget.user', index=2,
- number=3, type=11, cpp_type=10, label=1,
+ name='user', full_name='api.AuthTarget.user', index=1,
+ number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=_b('\342\337\037\002 \001'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='data', full_name='api.AuthTarget.data', index=3,
- number=4, type=11, cpp_type=10, label=1,
+ name='target', full_name='api.AuthTarget.target', index=2,
+ number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
@@ -1229,8 +1192,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2918,
- serialized_end=3064,
+ serialized_start=2917,
+ serialized_end=3036,
)
@@ -1256,9 +1219,16 @@
is_extension=False, extension_scope=None,
serialized_options=_b('\342\337\037\014\n\n^.{1,225}$'), file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='type', full_name='api.Authorizer.type', index=2,
- number=3, type=14, cpp_type=8, label=1,
- has_default_value=False, default_value=0,
+ name='target_requests', full_name='api.Authorizer.target_requests', index=2,
+ number=3, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='target_responses', full_name='api.Authorizer.target_responses', index=3,
+ number=4, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
@@ -1274,8 +1244,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3066,
- serialized_end=3177,
+ serialized_start=3039,
+ serialized_end=3172,
)
@@ -1305,8 +1275,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3179,
- serialized_end=3230,
+ serialized_start=3174,
+ serialized_end=3225,
)
@@ -1364,8 +1334,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3233,
- serialized_end=3386,
+ serialized_start=3228,
+ serialized_end=3381,
)
@@ -1395,8 +1365,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3388,
- serialized_end=3444,
+ serialized_start=3383,
+ serialized_end=3439,
)
@@ -1454,8 +1424,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3447,
- serialized_end=3592,
+ serialized_start=3442,
+ serialized_end=3587,
)
@@ -1485,8 +1455,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3594,
- serialized_end=3632,
+ serialized_start=3589,
+ serialized_end=3627,
)
@@ -1523,8 +1493,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3634,
- serialized_end=3703,
+ serialized_start=3629,
+ serialized_end=3698,
)
@@ -1561,8 +1531,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3705,
- serialized_end=3776,
+ serialized_start=3700,
+ serialized_end=3771,
)
@@ -1676,8 +1646,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3779,
- serialized_end=4103,
+ serialized_start=3774,
+ serialized_end=4098,
)
@@ -1707,8 +1677,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4105,
- serialized_end=4129,
+ serialized_start=4100,
+ serialized_end=4124,
)
@@ -1738,8 +1708,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4131,
- serialized_end=4154,
+ serialized_start=4126,
+ serialized_end=4149,
)
@@ -1797,8 +1767,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4157,
- serialized_end=4288,
+ serialized_start=4152,
+ serialized_end=4283,
)
@@ -1835,8 +1805,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4290,
- serialized_end=4372,
+ serialized_start=4285,
+ serialized_end=4367,
)
@@ -1873,8 +1843,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4374,
- serialized_end=4460,
+ serialized_start=4369,
+ serialized_end=4455,
)
@@ -1904,8 +1874,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4462,
- serialized_end=4485,
+ serialized_start=4457,
+ serialized_end=4480,
)
@@ -1942,8 +1912,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4487,
- serialized_end=4586,
+ serialized_start=4482,
+ serialized_end=4581,
)
@@ -2001,8 +1971,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4589,
- serialized_end=4801,
+ serialized_start=4584,
+ serialized_end=4796,
)
@@ -2060,8 +2030,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4804,
- serialized_end=4968,
+ serialized_start=4799,
+ serialized_end=4963,
)
@@ -2091,8 +2061,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4970,
- serialized_end=5002,
+ serialized_start=4965,
+ serialized_end=4997,
)
_REFS.fields_by_name['refs'].message_type = _REF
@@ -2126,10 +2096,8 @@
_TRAVERSEFILTER.fields_by_name['root'].message_type = _REF
_TRAVERSEFILTER.fields_by_name['algorithm'].enum_type = _ALGORITHM
_TRAVERSEMEFILTER.fields_by_name['algorithm'].enum_type = _ALGORITHM
-_AUTHTARGET.fields_by_name['type'].enum_type = _AUTHTYPE
_AUTHTARGET.fields_by_name['user'].message_type = _DOC
-_AUTHTARGET.fields_by_name['data'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
-_AUTHORIZER.fields_by_name['type'].enum_type = _AUTHTYPE
+_AUTHTARGET.fields_by_name['target'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_AUTHORIZERS.fields_by_name['authorizers'].message_type = _AUTHORIZER
_TYPEVALIDATORS.fields_by_name['validators'].message_type = _TYPEVALIDATOR
_INDEXES.fields_by_name['indexes'].message_type = _INDEX
@@ -2189,7 +2157,6 @@
DESCRIPTOR.message_types_by_name['ExprFilter'] = _EXPRFILTER
DESCRIPTOR.enum_types_by_name['Algorithm'] = _ALGORITHM
DESCRIPTOR.enum_types_by_name['Aggregate'] = _AGGREGATE
-DESCRIPTOR.enum_types_by_name['AuthType'] = _AUTHTYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
Ref = _reflection.GeneratedProtocolMessageType('Ref', (_message.Message,), dict(
@@ -2542,8 +2509,8 @@
file=DESCRIPTOR,
index=0,
serialized_options=None,
- serialized_start=5166,
- serialized_end=7304,
+ serialized_start=5101,
+ serialized_end=7239,
methods=[
_descriptor.MethodDescriptor(
name='Ping',
diff --git a/gen/grpc/ruby/graphik_pb.rb b/gen/grpc/ruby/graphik_pb.rb
index d70885a..d4eca1a 100644
--- a/gen/grpc/ruby/graphik_pb.rb
+++ b/gen/grpc/ruby/graphik_pb.rb
@@ -129,15 +129,15 @@
optional :connections, :bool, 7
end
add_message "api.AuthTarget" do
- optional :type, :enum, 1, "api.AuthType"
- optional :method, :string, 2
- optional :user, :message, 3, "api.Doc"
- optional :data, :message, 4, "google.protobuf.Struct"
+ optional :method, :string, 3
+ optional :user, :message, 4, "api.Doc"
+ optional :target, :message, 5, "google.protobuf.Struct"
end
add_message "api.Authorizer" do
optional :name, :string, 1
optional :expression, :string, 2
- optional :type, :enum, 3, "api.AuthType"
+ optional :target_requests, :bool, 3
+ optional :target_responses, :bool, 4
end
add_message "api.Authorizers" do
repeated :authorizers, :message, 1, "api.Authorizer"
@@ -242,11 +242,6 @@
value :MIN, 4
value :PROD, 5
end
- add_enum "api.AuthType" do
- value :REQUEST, 0
- value :VIEW_DOC, 1
- value :VIEW_CONNECTION, 2
- end
end
module Api
@@ -293,5 +288,4 @@ module Api
ExprFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.ExprFilter").msgclass
Algorithm = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Algorithm").enummodule
Aggregate = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.Aggregate").enummodule
- AuthType = Google::Protobuf::DescriptorPool.generated_pool.lookup("api.AuthType").enummodule
end
diff --git a/gql/helpers.go b/gql/helpers.go
index 8121c44..d436c18 100644
--- a/gql/helpers.go
+++ b/gql/helpers.go
@@ -424,22 +424,12 @@ func protoIndex(index *model.IndexInput) *apipb.Index {
}
}
-func protoAuthType(t model.AuthType) apipb.AuthType {
- switch t {
- case model.AuthTypeViewConnection:
- return apipb.AuthType_VIEW_CONNECTION
- case model.AuthTypeViewDoc:
- return apipb.AuthType_VIEW_DOC
- default:
- return apipb.AuthType_REQUEST
- }
-}
-
func protoAuthorizer(auth *model.AuthorizerInput) *apipb.Authorizer {
return &apipb.Authorizer{
- Name: auth.Name,
- Expression: auth.Expression,
- Type: protoAuthType(auth.Type),
+ Name: auth.Name,
+ Expression: auth.Expression,
+ TargetRequests: auth.TargetRequests,
+ TargetResponses: auth.TargetResponses,
}
}
diff --git a/gql/resolver.go b/gql/resolver.go
index b4aac9c..68e96f2 100644
--- a/gql/resolver.go
+++ b/gql/resolver.go
@@ -35,23 +35,23 @@ func init() {
// It serves as dependency injection for your app, add any dependencies you require here.
type Resolver struct {
- client apipb.DatabaseServiceClient
- cors *cors.Cors
- machine *machine.Machine
- store sessions.Store
- config *oauth2.Config
- cookieName string
+ client apipb.DatabaseServiceClient
+ cors *cors.Cors
+ machine *machine.Machine
+ store sessions.Store
+ config *oauth2.Config
+ cookieName string
sessionPath string
sessionType string
}
func NewResolver(ctx context.Context, client apipb.DatabaseServiceClient, cors *cors.Cors, config *oauth2.Config, sessionPath string) *Resolver {
r := &Resolver{
- client: client,
- cors: cors,
- machine: machine.New(ctx),
- config: config,
- cookieName: "graphik-playground",
+ client: client,
+ cors: cors,
+ machine: machine.New(ctx),
+ config: config,
+ cookieName: "graphik-playground",
sessionPath: sessionPath,
}
if sessionPath == "" {
diff --git a/graphik-client-go/example_test.go b/graphik-client-go/example_test.go
index 5112369..8f85d47 100644
--- a/graphik-client-go/example_test.go
+++ b/graphik-client-go/example_test.go
@@ -69,8 +69,14 @@ func ExampleClient_SetAuthorizers() {
_, err := client.SetAuthorizers(context.Background(), &apipb2.Authorizers{
Authorizers: []*apipb2.Authorizer{
{
- Name: "testing",
- Expression: `this.user.attributes.email.contains("coleman")`,
+ Name: "testing-request",
+ Expression: `this.user.attributes.email.contains("coleman")`,
+ TargetRequests: true,
+ },
+ {
+ Name: "testing-response",
+ Expression: `this.user.attributes.email.contains("coleman") && this.method != ""`,
+ TargetResponses: true,
},
},
})
@@ -88,7 +94,7 @@ func ExampleClient_SetAuthorizers() {
authorizers = append(authorizers, a.Name)
}
fmt.Printf("%s", strings.Join(authorizers, ","))
- // Output: testing
+ // Output: testing-request,testing-response
}
func ExampleClient_SetTypeValidators() {
@@ -397,7 +403,7 @@ func ExampleClient_GetSchema() {
fmt.Printf("authorizers: %s", strings.Join(authorizers, ","))
// Output: doc types: dog,human,user
//connection types: created,created_by,edited,edited_by,owner
- //authorizers: testing
+ //authorizers: testing-request,testing-response
}
func ExampleClient_Traverse() {
diff --git a/graphik.proto b/graphik.proto
index 9b7e1f5..065d829 100644
--- a/graphik.proto
+++ b/graphik.proto
@@ -100,12 +100,6 @@ enum Aggregate {
PROD =5;
}
-enum AuthType {
- REQUEST = 0;
- VIEW_DOC = 1;
- VIEW_CONNECTION = 2;
-}
-
// Ref describes a doc/connection type & id
message Ref {
// gtype is the type of the doc/connection ex: pet
@@ -311,19 +305,18 @@ message IndexConstructor {
}
message AuthTarget {
- AuthType type =1;
// method is the rpc method
- string method =2 [(validator.field) = {regex : "^.{1,225}$"}];
+ string method =3 [(validator.field) = {regex : "^.{1,225}$"}];
// user is the user making the request
- Doc user =3 [(validator.field) = {msg_exists : true}];
- // request is the intercepted request
- google.protobuf.Struct data = 4;
+ Doc user =4 [(validator.field) = {msg_exists : true}];
+ google.protobuf.Struct target = 5;
}
message Authorizer {
string name =1[(validator.field) = {regex : "^.{1,225}$"}];
string expression =2[(validator.field) = {regex : "^.{1,225}$"}];
- AuthType type =3;
+ bool target_requests =3;
+ bool target_responses =4;
}
message Authorizers {
diff --git a/schema.graphql b/schema.graphql
index cdf17bc..4e8cc02 100644
--- a/schema.graphql
+++ b/schema.graphql
@@ -28,12 +28,6 @@ enum Aggregate {
PROD
}
-enum AuthType {
- REQUEST
- VIEW_DOC
- VIEW_CONNECTION
-}
-
# Pong returns PONG if the server is healthy
type Pong {
message: String!
@@ -73,13 +67,12 @@ type Traversal {
# AuthTarget
type AuthTarget {
- type: AuthType!
# method is the gRPC method invoked
method: String!
# user is the user making the request
user: Doc!
- # data is the payload gived to the authorizer(request, doc, connection)
- data: Map!
+ # target is the payload gived to the authorizer(request or response payload)
+ target: Map!
}
# Traversals is an array of Traversal that is returned from Graph traversal algorithms
@@ -159,7 +152,8 @@ type Authorizer {
name: String!
# expression is a boolean CEL expression used to evaluate the inbound request
expression: String!
- type: AuthType!
+ target_requests: Boolean!
+ target_responses: Boolean!
}
# Authorizers is an array of Authorizer
@@ -426,7 +420,8 @@ input AuthorizerInput {
name: String!
# expression is a boolean CEL expression used to evaluate the inbound request
expression: String!
- type: AuthType!
+ target_requests: Boolean!
+ target_responses: Boolean!
}
# AuthorizersInput is an array of authorizers
diff --git a/version/version.go b/version/version.go
index 419e94d..6cc8872 100644
--- a/version/version.go
+++ b/version/version.go
@@ -1,3 +1,3 @@
package version
-const Version = "0.5.2"
+const Version = "0.6.0"
diff --git a/vm/auth.go b/vm/auth.go
index 76aca58..3f86c61 100644
--- a/vm/auth.go
+++ b/vm/auth.go
@@ -57,7 +57,7 @@ func (n *AuthVM) Eval(target *apipb.AuthTarget, programs ...cel.Program) (bool,
}
for _, program := range programs {
out, _, err := program.Eval(map[string]interface{}{
- "this": target,
+ "this": target.AsMap(),
})
if err != nil {
if strings.Contains(err.Error(), "no such key") {
diff --git a/vm/connection.go b/vm/connection.go
index 8bcfcd7..80efac1 100644
--- a/vm/connection.go
+++ b/vm/connection.go
@@ -55,7 +55,7 @@ func (n *ConnectionVM) Eval(connection *apipb.Connection, programs ...cel.Progra
var passes = true
for _, program := range programs {
out, _, err := program.Eval(map[string]interface{}{
- "this": connection,
+ "this": connection.AsMap(),
})
if err != nil {
if strings.Contains(err.Error(), "no such key") {
diff --git a/vm/message.go b/vm/message.go
index 8439694..377b8a8 100644
--- a/vm/message.go
+++ b/vm/message.go
@@ -55,7 +55,7 @@ func (n *MessageVM) Eval(message *apipb.Message, programs ...cel.Program) (bool,
var passes = true
for _, program := range programs {
out, _, err := program.Eval(map[string]interface{}{
- "this": message,
+ "this": message.AsMap(),
})
if err != nil {
if strings.Contains(err.Error(), "no such key") {
diff --git a/vm/node.go b/vm/node.go
index 33c6723..87f0188 100644
--- a/vm/node.go
+++ b/vm/node.go
@@ -58,7 +58,7 @@ func (n *DocVM) Eval(doc *apipb.Doc, programs ...cel.Program) (bool, error) {
var passes = true
for _, program := range programs {
out, _, err := program.Eval(map[string]interface{}{
- "this": doc,
+ "this": doc.AsMap(),
})
if err != nil {
if strings.Contains(err.Error(), "no such key") {