Skip to content
Snippets Groups Projects
common.proto 1.10 KiB
syntax = "proto3";

option go_package = "git.perx.ru/perxis/perxis-go/proto/common;common";

package common;

import "google/protobuf/struct.proto";

message Filter {
  string op = 1;
  string field = 2;
  google.protobuf.Value value = 3;
}

message FindOptions {
  repeated string sort = 1;
  int32 page_num = 2;
  int32 page_size = 3;
  repeated string fields = 4;
  bool exclude_fields = 5;
}


enum Access {
  ANY = 0;
  MINE = 1;
  ROLE = 2;
}

enum Action {
  UNKNOWN = 0;
  CREATE = 1;
  READ = 2;
  UPDATE = 3;
  DELETE = 4;
}

message Rule {
  string collection_id = 1;
  repeated Action actions = 2;
  Access access = 3;
  repeated string hidden_fields = 5;
  repeated string readonly_fields = 6;
  repeated string writeonly_fields = 7;
  string read_filter = 8;
  string write_filter = 9;
  repeated string deny_read_fields = 10;
  repeated string deny_write_fields = 11;
}

message Collaborator {
  string space_id = 1;
  string subject = 2;
  string role = 3;
}

message Version {
  string server_version = 1;
  string api_version = 2;
  string build_time = 3;
  string commit = 4;
  int32 build_number = 5;
}