syntax = “proto3”; package authpb;

import “gogo.proto”;

option (gogoproto.marshaler_all) = true; option (gogoproto.sizer_all) = true; option (gogoproto.unmarshaler_all) = true; option (gogoproto.goproto_getters_all) = false; option (gogoproto.goproto_enum_prefix_all) = false;

// User is a single entry in the bucket authUsers message User {

bytes name = 1;
bytes password = 2;
repeated string roles = 3;

}

// Permission is a single entity message Permission {

enum Type {
  READ = 0;
  WRITE = 1;
  READWRITE = 2;
}
Type permType = 1;

bytes key = 2;
bytes range_end = 3;

}

// Role is a single entry in the bucket authRoles message Role {

bytes name = 1;

repeated Permission keyPermission = 2;

}