1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00

Add invite type

This commit is contained in:
Mikhail Rakhmanov 2025-05-07 13:53:33 +02:00
parent 0751bbbd58
commit 4e9f1a3356
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B
6 changed files with 131 additions and 90 deletions

View file

@ -22,6 +22,31 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
type AclInviteType int32
const (
AclInviteType_RequestToJoin AclInviteType = 0
AclInviteType_AnyoneCanJoin AclInviteType = 1
)
var AclInviteType_name = map[int32]string{
0: "RequestToJoin",
1: "AnyoneCanJoin",
}
var AclInviteType_value = map[string]int32{
"RequestToJoin": 0,
"AnyoneCanJoin": 1,
}
func (x AclInviteType) String() string {
return proto.EnumName(AclInviteType_name, int32(x))
}
func (AclInviteType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c8e9f754f34e929b, []int{0}
}
// AclUserPermissions contains different possible user roles
type AclUserPermissions int32
@ -57,7 +82,7 @@ func (x AclUserPermissions) String() string {
}
func (AclUserPermissions) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c8e9f754f34e929b, []int{0}
return fileDescriptor_c8e9f754f34e929b, []int{1}
}
// AclRoot is a root of access control list
@ -1313,6 +1338,7 @@ func (m *AclData) GetAclContent() []*AclContentValue {
}
func init() {
proto.RegisterEnum("aclrecord.AclInviteType", AclInviteType_name, AclInviteType_value)
proto.RegisterEnum("aclrecord.AclUserPermissions", AclUserPermissions_name, AclUserPermissions_value)
proto.RegisterType((*AclRoot)(nil), "aclrecord.AclRoot")
proto.RegisterType((*AclAccountInvite)(nil), "aclrecord.AclAccountInvite")
@ -1338,71 +1364,73 @@ func init() {
}
var fileDescriptor_c8e9f754f34e929b = []byte{
// 1020 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x4f, 0x6f, 0xdc, 0x44,
0x14, 0xb7, 0x77, 0x93, 0x6c, 0xf6, 0x39, 0x49, 0xdd, 0x29, 0xb4, 0x6e, 0x0a, 0xab, 0x65, 0x50,
0xab, 0x55, 0x85, 0x9a, 0x6a, 0x51, 0x2b, 0x54, 0x81, 0x52, 0x37, 0xa9, 0xba, 0x69, 0x55, 0xa8,
0xa6, 0xa2, 0x45, 0x48, 0x20, 0x39, 0xe3, 0x51, 0x31, 0xf8, 0xcf, 0x32, 0x9e, 0x5d, 0xb4, 0xdf,
0x82, 0x1b, 0x5f, 0x84, 0x2b, 0x77, 0x0e, 0x1c, 0x7a, 0xe4, 0x88, 0x92, 0x1b, 0x37, 0xbe, 0x01,
0x9a, 0xb1, 0xd7, 0xf6, 0x78, 0xbd, 0x9b, 0xe4, 0xd0, 0x43, 0x12, 0xcf, 0xfb, 0x37, 0xef, 0xfd,
0xde, 0x6f, 0xde, 0x4c, 0xe0, 0x73, 0x9a, 0x44, 0x51, 0x12, 0xa7, 0x63, 0x8f, 0xb2, 0xbd, 0xe4,
0xf8, 0x47, 0x46, 0xc5, 0x9e, 0x47, 0x43, 0xf9, 0xc3, 0x19, 0x4d, 0xb8, 0x3f, 0xe6, 0x89, 0x48,
0xf6, 0xd4, 0xef, 0xb4, 0x94, 0xde, 0x51, 0x02, 0xd4, 0x2d, 0x04, 0xf8, 0xbf, 0x16, 0x74, 0x5c,
0x1a, 0x92, 0x24, 0x11, 0x68, 0x17, 0x36, 0x03, 0x9f, 0xc5, 0x22, 0x10, 0x33, 0xc7, 0xec, 0x9b,
0x83, 0x2d, 0x52, 0xac, 0xd1, 0x07, 0xd0, 0x8d, 0xbc, 0x54, 0x30, 0xfe, 0x8c, 0xcd, 0x9c, 0x96,
0x52, 0x96, 0x02, 0xe4, 0x40, 0x47, 0xa5, 0x72, 0xe4, 0x3b, 0xed, 0xbe, 0x39, 0xe8, 0x92, 0xf9,
0x12, 0xdd, 0x06, 0x9b, 0xc5, 0x94, 0xcf, 0xc6, 0x82, 0xf9, 0x84, 0x79, 0xbe, 0x74, 0x5f, 0x53,
0xee, 0x0b, 0x72, 0xb9, 0x87, 0x08, 0x22, 0x96, 0x0a, 0x2f, 0x1a, 0x3b, 0xeb, 0x7d, 0x73, 0xd0,
0x26, 0xa5, 0x00, 0x7d, 0x02, 0x97, 0xe7, 0xd9, 0xbc, 0x0c, 0xde, 0xc4, 0x9e, 0x98, 0x70, 0xe6,
0x6c, 0xa8, 0x50, 0x8b, 0x0a, 0x74, 0x0b, 0x76, 0x22, 0x26, 0x3c, 0xdf, 0x13, 0xde, 0x8b, 0xc9,
0xb1, 0xdc, 0xb5, 0xa3, 0x4c, 0x6b, 0x52, 0xf4, 0x00, 0x9c, 0x22, 0x8f, 0xe7, 0x73, 0x15, 0x0f,
0xa6, 0xd2, 0x63, 0x53, 0x79, 0x2c, 0xd5, 0xa3, 0xfb, 0x70, 0xb5, 0xd0, 0x7d, 0xf5, 0x4b, 0xcc,
0xf8, 0xdc, 0xc0, 0xe9, 0x2a, 0xcf, 0x25, 0x5a, 0x7c, 0x17, 0x6c, 0x97, 0x86, 0x2e, 0xa5, 0xc9,
0x24, 0x16, 0x47, 0xf1, 0x34, 0x10, 0x4c, 0xd6, 0x1e, 0xa8, 0x2f, 0xb9, 0x71, 0x06, 0x7e, 0x29,
0xc0, 0x7f, 0x98, 0xf0, 0x7e, 0xe9, 0x42, 0xd8, 0xcf, 0x13, 0x96, 0x8a, 0xa7, 0x49, 0x10, 0xcb,
0x3a, 0x33, 0xb3, 0x23, 0xbd, 0x73, 0x35, 0x69, 0x69, 0x47, 0x54, 0xdf, 0x8f, 0x7c, 0xd5, 0xc4,
0x2e, 0xa9, 0x49, 0xd1, 0x67, 0x70, 0x4d, 0xf7, 0x2c, 0xb1, 0x6e, 0xab, 0xc0, 0xcb, 0xd4, 0x92,
0x3d, 0x73, 0x6c, 0xf3, 0x0e, 0x17, 0x6b, 0xfc, 0x97, 0x09, 0xd7, 0x16, 0xf2, 0x77, 0x29, 0x65,
0xe3, 0xd5, 0xac, 0x1b, 0xc0, 0x25, 0x9e, 0x19, 0xd7, 0xd2, 0xae, 0x8b, 0x1b, 0x79, 0xd6, 0x5e,
0xc2, 0xb3, 0x7d, 0xb0, 0xc6, 0x8c, 0x47, 0x41, 0x9a, 0x06, 0x49, 0x9c, 0xaa, 0x64, 0x77, 0x86,
0x1f, 0xde, 0x29, 0x4f, 0x89, 0x4b, 0xc3, 0xaf, 0x53, 0xc6, 0x5f, 0x94, 0x46, 0xa4, 0xea, 0x81,
0x0f, 0xc1, 0x59, 0xa8, 0xe6, 0x90, 0xd1, 0x30, 0x88, 0x59, 0x53, 0xca, 0x66, 0x63, 0xca, 0xf8,
0x21, 0x5c, 0xad, 0xd3, 0x80, 0xb0, 0x69, 0xf2, 0x13, 0x6b, 0x68, 0x96, 0xd9, 0xd4, 0x2c, 0xfc,
0x1d, 0x5c, 0x71, 0x69, 0xf8, 0xb8, 0x5e, 0xdf, 0x2a, 0x44, 0x9b, 0x70, 0x6a, 0x35, 0xe3, 0x84,
0xbf, 0x87, 0x1b, 0x65, 0x82, 0x25, 0x18, 0x07, 0x3f, 0x78, 0xf1, 0x1b, 0x96, 0xa2, 0x7d, 0xe8,
0xd0, 0xec, 0xd3, 0x31, 0xfb, 0xed, 0x81, 0x35, 0xbc, 0xa9, 0x43, 0xb8, 0xc4, 0x91, 0xcc, 0xbd,
0xf0, 0x08, 0x76, 0x4a, 0xb3, 0xd4, 0xf5, 0x7d, 0x74, 0x1f, 0xba, 0x9e, 0xef, 0x07, 0x42, 0xf5,
0x25, 0x0b, 0xea, 0x34, 0x06, 0x75, 0x7d, 0x9f, 0x94, 0xa6, 0xf8, 0x77, 0x13, 0xb6, 0x35, 0xe5,
0x4a, 0x0c, 0x6a, 0xfd, 0x6f, 0x5d, 0xb4, 0xff, 0x1a, 0xd5, 0xdb, 0x3a, 0xd5, 0x2f, 0x32, 0xf0,
0xf0, 0xbd, 0x86, 0x53, 0x71, 0xe0, 0xc5, 0x94, 0x85, 0x72, 0x0b, 0xae, 0x37, 0xbf, 0x58, 0xe3,
0x19, 0xec, 0x2e, 0x87, 0xf7, 0x9d, 0x56, 0x8e, 0xff, 0x35, 0xd5, 0xec, 0xca, 0x0b, 0xc8, 0x77,
0x7c, 0x08, 0x96, 0x97, 0x25, 0xf3, 0x8c, 0xcd, 0xe6, 0x7d, 0xeb, 0xe9, 0x51, 0xeb, 0x24, 0x25,
0x55, 0x97, 0x86, 0x69, 0xdd, 0xba, 0xf0, 0xb4, 0x6e, 0x9f, 0x31, 0xad, 0xef, 0xc2, 0x95, 0x72,
0x1e, 0x87, 0xb5, 0xde, 0x34, 0xa9, 0xf0, 0xa4, 0x3a, 0xa7, 0x09, 0x8b, 0x92, 0x29, 0x43, 0x3d,
0x80, 0x1c, 0xcd, 0x20, 0xe7, 0xfd, 0x16, 0xa9, 0x48, 0x90, 0x0b, 0xdb, 0xbc, 0x0a, 0x8e, 0x2a,
0xc4, 0x1a, 0xde, 0xd0, 0xd1, 0xd0, 0xf0, 0x23, 0xba, 0x07, 0xbe, 0xde, 0xc0, 0x8a, 0x6c, 0x77,
0xfc, 0x5b, 0x07, 0x2e, 0xb9, 0x34, 0x3c, 0x48, 0x62, 0xc1, 0x62, 0xf1, 0xca, 0x0b, 0x27, 0x0c,
0xdd, 0x83, 0x8d, 0x6c, 0x2c, 0xa8, 0x6e, 0x2f, 0x6c, 0xa5, 0xcd, 0x97, 0x91, 0x41, 0x72, 0x63,
0xf4, 0x04, 0xb6, 0x82, 0xca, 0xcc, 0xc9, 0xf3, 0xfc, 0x68, 0x85, 0x73, 0x66, 0x38, 0x32, 0x88,
0xe6, 0x88, 0x0e, 0xc1, 0xe2, 0xe5, 0x85, 0xa4, 0xda, 0x60, 0x0d, 0xfb, 0x8d, 0x71, 0x2a, 0x17,
0xd7, 0xc8, 0x20, 0x55, 0x37, 0xf4, 0x54, 0xe2, 0x56, 0xb9, 0x16, 0x54, 0x5f, 0xac, 0x21, 0x5e,
0x15, 0x27, 0xb3, 0x1c, 0x19, 0x44, 0x77, 0x45, 0x2f, 0xc1, 0x1e, 0xd7, 0x4e, 0x85, 0x7a, 0x4e,
0x9c, 0x77, 0x42, 0x8d, 0x0c, 0xb2, 0x10, 0x00, 0x1d, 0xc0, 0xb6, 0x57, 0x65, 0x82, 0x7a, 0x7a,
0x2c, 0x43, 0x3b, 0x33, 0x91, 0x99, 0x69, 0x3e, 0x32, 0x88, 0xce, 0x8e, 0xce, 0x99, 0xec, 0xc8,
0xca, 0xab, 0x1e, 0xb7, 0xe7, 0xb0, 0xc3, 0xb5, 0x3b, 0x47, 0x3d, 0x54, 0xac, 0xe1, 0xc7, 0xab,
0xb0, 0xca, 0x4d, 0x47, 0x06, 0xa9, 0x39, 0xa3, 0x6f, 0xe0, 0x3d, 0xaf, 0x81, 0x6b, 0xea, 0x0d,
0x73, 0x46, 0x03, 0x8a, 0x32, 0x1b, 0x23, 0xa0, 0x57, 0x70, 0xb9, 0x0e, 0x63, 0xea, 0x80, 0x0a,
0x7b, 0xeb, 0x5c, 0x8d, 0x48, 0x47, 0x06, 0x59, 0x0c, 0x81, 0xbe, 0x28, 0xe6, 0x8d, 0xbc, 0x34,
0x1c, 0x4b, 0x45, 0xbc, 0xde, 0x18, 0x51, 0x1a, 0x48, 0xaa, 0x55, 0xec, 0x2b, 0x54, 0xcb, 0x66,
0xad, 0xb3, 0x75, 0x76, 0xa5, 0x99, 0x65, 0x85, 0x6a, 0x99, 0xe0, 0x51, 0x07, 0xd6, 0xa7, 0xf2,
0x14, 0xe2, 0xc7, 0xea, 0x19, 0x7d, 0x28, 0x6f, 0x80, 0x07, 0x00, 0x5e, 0x71, 0x46, 0xf3, 0x69,
0xb8, 0xab, 0x07, 0xaf, 0x1e, 0x60, 0x52, 0xb1, 0xbe, 0xfd, 0x1a, 0xd0, 0xe2, 0x08, 0x46, 0x9b,
0xb0, 0xf6, 0x65, 0x12, 0x33, 0xdb, 0x40, 0x5d, 0x58, 0x57, 0x6f, 0x49, 0xdb, 0x94, 0x9f, 0xae,
0x1f, 0x05, 0xb1, 0xdd, 0x42, 0x00, 0x1b, 0xaf, 0x79, 0x20, 0x18, 0xb7, 0xdb, 0xf2, 0x5b, 0xf2,
0x87, 0x71, 0x7b, 0x4d, 0x9a, 0x3c, 0x91, 0xc9, 0xda, 0xeb, 0x8f, 0xf6, 0xff, 0x3c, 0xe9, 0x99,
0x6f, 0x4f, 0x7a, 0xe6, 0x3f, 0x27, 0x3d, 0xf3, 0xd7, 0xd3, 0x9e, 0xf1, 0xf6, 0xb4, 0x67, 0xfc,
0x7d, 0xda, 0x33, 0xbe, 0xbd, 0x79, 0xae, 0x7f, 0x25, 0x8e, 0x37, 0xd4, 0x9f, 0x4f, 0xff, 0x0f,
0x00, 0x00, 0xff, 0xff, 0xb7, 0x65, 0xd3, 0x8c, 0x7a, 0x0c, 0x00, 0x00,
// 1054 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x41, 0x6f, 0x1b, 0x45,
0x14, 0xde, 0xb5, 0x93, 0x38, 0x7e, 0x4e, 0xd2, 0xcd, 0x14, 0xda, 0x6d, 0x0a, 0x56, 0x58, 0xd4,
0xca, 0x8a, 0x50, 0x53, 0x19, 0xa5, 0x42, 0x15, 0x28, 0xdd, 0x3a, 0x55, 0x9d, 0x56, 0x85, 0x6a,
0x5a, 0x5a, 0x84, 0x04, 0xd2, 0x64, 0x76, 0x54, 0x16, 0xd6, 0xb3, 0x66, 0x76, 0x6c, 0xe4, 0x7f,
0xc1, 0x8d, 0x3f, 0xc2, 0x95, 0x3b, 0x07, 0x0e, 0x3d, 0x72, 0x44, 0xc9, 0x8d, 0x1b, 0xff, 0x00,
0xcd, 0xec, 0xda, 0xbb, 0xb3, 0x5e, 0x3b, 0xc9, 0xa1, 0x87, 0x24, 0x3b, 0x6f, 0xde, 0x7b, 0xf3,
0xde, 0xf7, 0xbe, 0xf7, 0x66, 0x02, 0x9f, 0xd3, 0x78, 0x30, 0x88, 0x79, 0x32, 0x24, 0x94, 0xed,
0xc7, 0x27, 0x3f, 0x32, 0x2a, 0xf7, 0x09, 0x8d, 0xd4, 0x8f, 0x60, 0x34, 0x16, 0xc1, 0x50, 0xc4,
0x32, 0xde, 0xd7, 0xbf, 0x93, 0x5c, 0x7a, 0x47, 0x0b, 0x50, 0x73, 0x26, 0xf0, 0xfe, 0xab, 0x41,
0xc3, 0xa7, 0x11, 0x8e, 0x63, 0x89, 0x76, 0x60, 0x3d, 0x0c, 0x18, 0x97, 0xa1, 0x9c, 0xb8, 0xf6,
0xae, 0xdd, 0xd9, 0xc0, 0xb3, 0x35, 0xfa, 0x00, 0x9a, 0x03, 0x92, 0x48, 0x26, 0x9e, 0xb2, 0x89,
0x5b, 0xd3, 0x9b, 0xb9, 0x00, 0xb9, 0xd0, 0xd0, 0xa1, 0x1c, 0x07, 0x6e, 0x7d, 0xd7, 0xee, 0x34,
0xf1, 0x74, 0x89, 0xf6, 0xc0, 0x61, 0x9c, 0x8a, 0xc9, 0x50, 0xb2, 0x00, 0x33, 0x12, 0x28, 0xf3,
0x15, 0x6d, 0x3e, 0x27, 0x57, 0x67, 0xc8, 0x70, 0xc0, 0x12, 0x49, 0x06, 0x43, 0x77, 0x75, 0xd7,
0xee, 0xd4, 0x71, 0x2e, 0x40, 0x9f, 0xc0, 0xf6, 0x34, 0x9a, 0x17, 0xe1, 0x1b, 0x4e, 0xe4, 0x48,
0x30, 0x77, 0x4d, 0xbb, 0x9a, 0xdf, 0x40, 0xb7, 0x61, 0x6b, 0xc0, 0x24, 0x09, 0x88, 0x24, 0xcf,
0x47, 0x27, 0xea, 0xd4, 0x86, 0x56, 0x2d, 0x49, 0xd1, 0x7d, 0x70, 0x67, 0x71, 0x3c, 0x9b, 0x6e,
0x89, 0x70, 0xac, 0x2c, 0xd6, 0xb5, 0xc5, 0xc2, 0x7d, 0x74, 0x0f, 0xae, 0xcd, 0xf6, 0xbe, 0xfa,
0x85, 0x33, 0x31, 0x55, 0x70, 0x9b, 0xda, 0x72, 0xc1, 0xae, 0x77, 0x17, 0x1c, 0x9f, 0x46, 0x3e,
0xa5, 0xf1, 0x88, 0xcb, 0x63, 0x3e, 0x0e, 0x25, 0x53, 0xb9, 0x87, 0xfa, 0x4b, 0x1d, 0x9c, 0x82,
0x9f, 0x0b, 0xbc, 0x3f, 0x6c, 0x78, 0x3f, 0x37, 0xc1, 0xec, 0xe7, 0x11, 0x4b, 0xe4, 0x93, 0x38,
0xe4, 0x2a, 0xcf, 0x54, 0xed, 0xd8, 0xac, 0x5c, 0x49, 0x9a, 0xeb, 0x61, 0x5d, 0xf7, 0xe3, 0x40,
0x17, 0xb1, 0x89, 0x4b, 0x52, 0xf4, 0x19, 0x5c, 0x37, 0x2d, 0x73, 0xac, 0xeb, 0xda, 0xf1, 0xa2,
0x6d, 0xc5, 0x9e, 0x29, 0xb6, 0x59, 0x85, 0x67, 0x6b, 0xef, 0x2f, 0x1b, 0xae, 0xcf, 0xc5, 0xef,
0x53, 0xca, 0x86, 0xcb, 0x59, 0xd7, 0x81, 0x2b, 0x22, 0x55, 0x2e, 0x85, 0x5d, 0x16, 0x57, 0xf2,
0xac, 0xbe, 0x80, 0x67, 0x87, 0xd0, 0x1a, 0x32, 0x31, 0x08, 0x93, 0x24, 0x8c, 0x79, 0xa2, 0x83,
0xdd, 0xea, 0x7e, 0x78, 0x27, 0xef, 0x12, 0x9f, 0x46, 0x5f, 0x27, 0x4c, 0x3c, 0xcf, 0x95, 0x70,
0xd1, 0xc2, 0x3b, 0x02, 0x77, 0x2e, 0x9b, 0x23, 0x46, 0xa3, 0x90, 0xb3, 0xaa, 0x90, 0xed, 0xca,
0x90, 0xbd, 0x07, 0x70, 0xad, 0x4c, 0x03, 0xcc, 0xc6, 0xf1, 0x4f, 0xac, 0xa2, 0x58, 0x76, 0x55,
0xb1, 0xbc, 0xef, 0xe0, 0xaa, 0x4f, 0xa3, 0x47, 0xe5, 0xfc, 0x96, 0x21, 0x5a, 0x85, 0x53, 0xad,
0x1a, 0x27, 0xef, 0x7b, 0xb8, 0x99, 0x07, 0x98, 0x83, 0xd1, 0xfb, 0x81, 0xf0, 0x37, 0x2c, 0x41,
0x87, 0xd0, 0xa0, 0xe9, 0xa7, 0x6b, 0xef, 0xd6, 0x3b, 0xad, 0xee, 0x2d, 0x13, 0xc2, 0x05, 0x86,
0x78, 0x6a, 0xe5, 0xf5, 0x61, 0x2b, 0x57, 0x4b, 0xfc, 0x20, 0x40, 0xf7, 0xa0, 0x49, 0x82, 0x20,
0x94, 0xba, 0x2e, 0xa9, 0x53, 0xb7, 0xd2, 0xa9, 0x1f, 0x04, 0x38, 0x57, 0xf5, 0x7e, 0xb7, 0x61,
0xd3, 0xd8, 0x5c, 0x8a, 0x41, 0xa9, 0xfe, 0xb5, 0xcb, 0xd6, 0xdf, 0xa0, 0x7a, 0xdd, 0xa4, 0xfa,
0x65, 0x06, 0x9e, 0x77, 0x50, 0xd1, 0x15, 0x3d, 0xc2, 0x29, 0x8b, 0xd4, 0x11, 0xc2, 0x2c, 0xfe,
0x6c, 0xed, 0x4d, 0x60, 0x67, 0x31, 0xbc, 0xef, 0x34, 0x73, 0xef, 0x5f, 0x5b, 0xcf, 0xae, 0x2c,
0x81, 0xec, 0xc4, 0x07, 0xd0, 0x22, 0x69, 0x30, 0x4f, 0xd9, 0x64, 0x5a, 0xb7, 0xb6, 0xe9, 0xb5,
0x4c, 0x52, 0x5c, 0x34, 0xa9, 0x98, 0xd6, 0xb5, 0x4b, 0x4f, 0xeb, 0xfa, 0x39, 0xd3, 0xfa, 0x2e,
0x5c, 0xcd, 0xe7, 0x71, 0x54, 0xaa, 0x4d, 0xd5, 0x96, 0x37, 0x2a, 0xce, 0x69, 0xcc, 0x06, 0xf1,
0x98, 0xa1, 0x36, 0x40, 0x86, 0x66, 0x98, 0xf1, 0x7e, 0x03, 0x17, 0x24, 0xc8, 0x87, 0x4d, 0x51,
0x04, 0x47, 0x27, 0xd2, 0xea, 0xde, 0x34, 0xd1, 0x30, 0xf0, 0xc3, 0xa6, 0x85, 0x77, 0xa3, 0x82,
0x15, 0xe9, 0xe9, 0xde, 0x6f, 0x0d, 0xb8, 0xe2, 0xd3, 0xa8, 0x17, 0x73, 0xc9, 0xb8, 0x7c, 0x45,
0xa2, 0x11, 0x43, 0x07, 0xb0, 0x96, 0x8e, 0x05, 0x5d, 0xed, 0xb9, 0xa3, 0x8c, 0xf9, 0xd2, 0xb7,
0x70, 0xa6, 0x8c, 0x1e, 0xc3, 0x46, 0x58, 0x98, 0x39, 0x59, 0x9c, 0x1f, 0x2d, 0x31, 0x4e, 0x15,
0xfb, 0x16, 0x36, 0x0c, 0xd1, 0x11, 0xb4, 0x44, 0x7e, 0x21, 0xe9, 0x32, 0xb4, 0xba, 0xbb, 0x95,
0x7e, 0x0a, 0x17, 0x57, 0xdf, 0xc2, 0x45, 0x33, 0xf4, 0x44, 0xe1, 0x56, 0xb8, 0x16, 0x74, 0x5d,
0x5a, 0x5d, 0x6f, 0x99, 0x9f, 0x54, 0xb3, 0x6f, 0x61, 0xd3, 0x14, 0xbd, 0x00, 0x67, 0x58, 0xea,
0x0a, 0xfd, 0x9c, 0xb8, 0xe8, 0x84, 0xea, 0x5b, 0x78, 0xce, 0x01, 0xea, 0xc1, 0x26, 0x29, 0x32,
0x41, 0x3f, 0x3d, 0x16, 0xa1, 0x9d, 0xaa, 0xa8, 0xc8, 0x0c, 0x1b, 0xe5, 0xc4, 0x64, 0x47, 0xe3,
0x5c, 0x76, 0xa4, 0xe9, 0x15, 0xdb, 0xed, 0x19, 0x6c, 0x09, 0xe3, 0xce, 0xd1, 0x0f, 0x95, 0x56,
0xf7, 0xe3, 0x65, 0x58, 0x65, 0xaa, 0x7d, 0x0b, 0x97, 0x8c, 0xd1, 0x37, 0xf0, 0x1e, 0xa9, 0xe0,
0x9a, 0x7e, 0xc3, 0x9c, 0x53, 0x80, 0x59, 0x9a, 0x95, 0x1e, 0xd0, 0x2b, 0xd8, 0x2e, 0xc3, 0x98,
0xb8, 0xa0, 0xdd, 0xde, 0xbe, 0x50, 0x21, 0x92, 0xbe, 0x85, 0xe7, 0x5d, 0xa0, 0x2f, 0x66, 0xf3,
0x46, 0x5d, 0x1a, 0x6e, 0x4b, 0x7b, 0xbc, 0x51, 0xe9, 0x51, 0x29, 0x28, 0xaa, 0x15, 0xf4, 0x0b,
0x54, 0x4b, 0x67, 0xad, 0xbb, 0x71, 0x7e, 0xa6, 0xa9, 0x66, 0x81, 0x6a, 0xa9, 0xe0, 0x61, 0x03,
0x56, 0xc7, 0xaa, 0x0b, 0xbd, 0x47, 0xfa, 0x19, 0x7d, 0xa4, 0x6e, 0x80, 0xfb, 0x00, 0x64, 0xd6,
0xa3, 0xd9, 0x34, 0xdc, 0x31, 0x9d, 0x17, 0x1b, 0x18, 0x17, 0xb4, 0xf7, 0x0e, 0xf4, 0x3d, 0x96,
0xf6, 0xdb, 0xcb, 0xc9, 0x90, 0xa1, 0x6d, 0xd8, 0xcc, 0x42, 0x78, 0x19, 0xab, 0x46, 0x71, 0x2c,
0x25, 0xf2, 0xf9, 0x24, 0xe6, 0xac, 0x47, 0xb8, 0x16, 0xd9, 0x7b, 0xaf, 0x01, 0xcd, 0x4f, 0x6e,
0xb4, 0x0e, 0x2b, 0x5f, 0xc6, 0x9c, 0x39, 0x16, 0x6a, 0xc2, 0xaa, 0x7e, 0x82, 0x3a, 0xb6, 0xfa,
0xf4, 0x83, 0x41, 0xc8, 0x9d, 0x1a, 0x02, 0x58, 0x7b, 0x2d, 0x42, 0xc9, 0x84, 0x53, 0x57, 0xdf,
0x8a, 0x76, 0x4c, 0x38, 0x2b, 0x4a, 0xe5, 0xb1, 0x3a, 0xd1, 0x59, 0x7d, 0x78, 0xf8, 0xe7, 0x69,
0xdb, 0x7e, 0x7b, 0xda, 0xb6, 0xff, 0x39, 0x6d, 0xdb, 0xbf, 0x9e, 0xb5, 0xad, 0xb7, 0x67, 0x6d,
0xeb, 0xef, 0xb3, 0xb6, 0xf5, 0xed, 0xad, 0x0b, 0xfd, 0x07, 0x72, 0xb2, 0xa6, 0xff, 0x7c, 0xfa,
0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x97, 0x9d, 0x7f, 0x03, 0xb1, 0x0c, 0x00, 0x00,
}
func (m *AclRoot) Marshal() (dAtA []byte, err error) {

View file

@ -20,6 +20,11 @@ message AclAccountInvite {
bytes inviteKey = 1;
}
enum AclInviteType {
RequestToJoin = 0;
AnyoneCanJoin = 1;
}
// AclAccountRequestJoin contains the reference to the invite record and the data of the person who wants to join, confirmed by the private invite key
message AclAccountRequestJoin {
bytes inviteIdentity = 1;

View file

@ -323,7 +323,7 @@ func (a *aclRecordBuilder) buildInviteRevoke(inviteRecordId string) (value *aclr
err = ErrInsufficientPermissions
return
}
_, exists := a.state.inviteKeys[inviteRecordId]
_, exists := a.state.invites[inviteRecordId]
if !exists {
err = ErrNoSuchInvite
return
@ -334,17 +334,17 @@ func (a *aclRecordBuilder) buildInviteRevoke(inviteRecordId string) (value *aclr
func (a *aclRecordBuilder) BuildRequestJoin(payload RequestJoinPayload) (rawRecord *consensusproto.RawRecord, err error) {
var inviteId string
for id, key := range a.state.inviteKeys {
if key.Equals(payload.InviteKey.GetPublic()) {
for id, inv := range a.state.invites {
if inv.Key.Equals(payload.InviteKey.GetPublic()) && inv.Type == aclrecordproto.AclInviteType_RequestToJoin {
inviteId = id
}
}
key, exists := a.state.inviteKeys[inviteId]
invite, exists := a.state.invites[inviteId]
if !exists {
err = ErrNoSuchInvite
return
}
if !payload.InviteKey.GetPublic().Equals(key) {
if !payload.InviteKey.GetPublic().Equals(invite.Key) {
err = ErrIncorrectInviteKey
return
}

View file

@ -50,6 +50,11 @@ type AclKeys struct {
MetadataPubKey crypto.PubKey
}
type Invite struct {
Key crypto.PubKey
Type aclrecordproto.AclInviteType
}
type AclState struct {
id string
// keys represent current keys of the acl
@ -57,7 +62,7 @@ type AclState struct {
// accountStates is a map pubKey -> state which defines current account state
accountStates map[string]AccountState
// inviteKeys is a map recordId -> invite
inviteKeys map[string]crypto.PubKey
invites map[string]Invite
// requestRecords is a map recordId -> RequestRecord
requestRecords map[string]RequestRecord
// pendingRequests is a map pubKey -> recordId
@ -82,7 +87,7 @@ func newAclStateWithKeys(
pubKey: key.GetPublic(),
keys: make(map[string]AclKeys),
accountStates: make(map[string]AccountState),
inviteKeys: make(map[string]crypto.PubKey),
invites: make(map[string]Invite),
requestRecords: make(map[string]RequestRecord),
pendingRequests: make(map[string]string),
keyStore: crypto.NewKeyStorage(),
@ -103,7 +108,7 @@ func newAclState(rootRecord *AclRecord) (st *AclState, err error) {
id: rootRecord.Id,
keys: make(map[string]AclKeys),
accountStates: make(map[string]AccountState),
inviteKeys: make(map[string]crypto.PubKey),
invites: make(map[string]Invite),
requestRecords: make(map[string]RequestRecord),
pendingRequests: make(map[string]string),
keyStore: crypto.NewKeyStorage(),
@ -209,9 +214,9 @@ func (st *AclState) HadReadPermissions(identity crypto.PubKey) (had bool) {
return false
}
func (st *AclState) Invites() []crypto.PubKey {
var invites []crypto.PubKey
for _, inv := range st.inviteKeys {
func (st *AclState) Invites() []Invite {
var invites []Invite
for _, inv := range st.invites {
invites = append(invites, inv)
}
return invites
@ -223,7 +228,7 @@ func (st *AclState) Key() crypto.PrivKey {
func (st *AclState) InviteIds() []string {
var invites []string
for invId := range st.inviteKeys {
for invId := range st.invites {
invites = append(invites, invId)
}
return invites
@ -350,7 +355,7 @@ func (st *AclState) Copy() *AclState {
pubKey: st.key.GetPublic(),
keys: make(map[string]AclKeys),
accountStates: make(map[string]AccountState),
inviteKeys: make(map[string]crypto.PubKey),
invites: make(map[string]Invite),
requestRecords: make(map[string]RequestRecord),
pendingRequests: make(map[string]string),
keyStore: st.keyStore,
@ -365,8 +370,8 @@ func (st *AclState) Copy() *AclState {
accState.PermissionChanges = permChanges
newSt.accountStates[k] = accState
}
for k, v := range st.inviteKeys {
newSt.inviteKeys[k] = v
for k, v := range st.invites {
newSt.invites[k] = v
}
for k, v := range st.requestRecords {
newSt.requestRecords[k] = v
@ -452,7 +457,10 @@ func (st *AclState) applyInvite(ch *aclrecordproto.AclAccountInvite, record *Acl
if err != nil {
return err
}
st.inviteKeys[record.Id] = inviteKey
st.invites[record.Id] = Invite{
Key: inviteKey,
Type: aclrecordproto.AclInviteType_RequestToJoin, // Default value
}
return nil
}
@ -461,7 +469,7 @@ func (st *AclState) applyInviteRevoke(ch *aclrecordproto.AclAccountInviteRevoke,
if err != nil {
return err
}
delete(st.inviteKeys, ch.InviteRecordId)
delete(st.invites, ch.InviteRecordId)
return nil
}
@ -792,8 +800,8 @@ func (st *AclState) unmarshallDecryptPrivKey(msg []byte, decryptor func(msg []by
}
func (st *AclState) GetInviteIdByPrivKey(inviteKey crypto.PrivKey) (recId string, err error) {
for id, inv := range st.inviteKeys {
if inv.Equals(inviteKey.GetPublic()) {
for id, inv := range st.invites {
if inv.Key.Equals(inviteKey.GetPublic()) {
return id, nil
}
}

View file

@ -186,8 +186,8 @@ func TestAclList_InviteRevoke(t *testing.T) {
// checking acl state
require.True(t, ownerState().Permissions(ownerState().pubKey).IsOwner())
require.True(t, ownerState().Permissions(accountState().pubKey).NoPermissions())
require.Empty(t, ownerState().inviteKeys)
require.Empty(t, accountState().inviteKeys)
require.Empty(t, ownerState().invites)
require.Empty(t, accountState().invites)
}
func TestAclList_RequestDecline(t *testing.T) {

View file

@ -160,7 +160,7 @@ func (c *contentValidator) ValidateInviteRevoke(ch *aclrecordproto.AclAccountInv
if !c.aclState.Permissions(authorIdentity).CanManageAccounts() {
return ErrInsufficientPermissions
}
_, exists := c.aclState.inviteKeys[ch.InviteRecordId]
_, exists := c.aclState.invites[ch.InviteRecordId]
if !exists {
return ErrNoSuchInvite
}
@ -168,7 +168,7 @@ func (c *contentValidator) ValidateInviteRevoke(ch *aclrecordproto.AclAccountInv
}
func (c *contentValidator) ValidateRequestJoin(ch *aclrecordproto.AclAccountRequestJoin, authorIdentity crypto.PubKey) (err error) {
inviteKey, exists := c.aclState.inviteKeys[ch.InviteRecordId]
invite, exists := c.aclState.invites[ch.InviteRecordId]
if !exists {
return ErrNoSuchInvite
}
@ -189,7 +189,7 @@ func (c *contentValidator) ValidateRequestJoin(ch *aclrecordproto.AclAccountRequ
if err != nil {
return err
}
ok, err := inviteKey.Verify(rawInviteIdentity, ch.InviteIdentitySignature)
ok, err := invite.Key.Verify(rawInviteIdentity, ch.InviteIdentitySignature)
if err != nil {
return ErrInvalidSignature
}