mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-10 01:51:07 +09:00
refactor subobject, add objectType
This commit is contained in:
parent
8e68d72d02
commit
28874e2b4d
33 changed files with 7736 additions and 6283 deletions
|
@ -25,208 +25,211 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
|
||||
|
||||
var fileDescriptor_93a29dc403579097 = []byte{
|
||||
// 3214 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0xdf, 0x6f, 0x1d, 0x47,
|
||||
0x15, 0xc7, 0x7b, 0x5f, 0x28, 0x6c, 0x69, 0x81, 0x2d, 0x94, 0x12, 0x5a, 0x27, 0x4d, 0x1b, 0xff,
|
||||
0x88, 0xe3, 0xeb, 0x34, 0x81, 0x22, 0x78, 0x41, 0x37, 0x76, 0x9c, 0x58, 0x8d, 0x93, 0xe0, 0xeb,
|
||||
0x34, 0x52, 0x25, 0x24, 0xd6, 0xbb, 0x93, 0x7b, 0x17, 0xef, 0xdd, 0x59, 0x76, 0xe7, 0x5e, 0xc7,
|
||||
0x20, 0x90, 0x10, 0x08, 0x44, 0x85, 0x04, 0x12, 0x8f, 0xfc, 0x11, 0xfc, 0x1b, 0x3c, 0xf6, 0x91,
|
||||
0x47, 0xd4, 0xfe, 0x23, 0x68, 0x77, 0xce, 0xcc, 0xec, 0x9c, 0x9d, 0x33, 0xbb, 0xe6, 0xa9, 0x70,
|
||||
0xcf, 0xe7, 0x9c, 0xef, 0xfc, 0x9e, 0x33, 0x33, 0x1b, 0x07, 0x57, 0x8b, 0xd3, 0xdd, 0xa2, 0xe4,
|
||||
0x82, 0x57, 0xbb, 0x15, 0x2b, 0x57, 0x69, 0xcc, 0xd4, 0x7f, 0xc7, 0xcd, 0xcf, 0xe1, 0xab, 0x51,
|
||||
0x7e, 0x21, 0x2e, 0x0a, 0x76, 0xe5, 0x6d, 0x43, 0xc6, 0x7c, 0xb1, 0x88, 0xf2, 0xa4, 0x92, 0xc8,
|
||||
0x95, 0xb7, 0x8c, 0x85, 0xad, 0x58, 0x2e, 0xe0, 0xf7, 0x3b, 0xff, 0xfa, 0x6c, 0x14, 0xbc, 0xb1,
|
||||
0x97, 0xa5, 0x2c, 0x17, 0x7b, 0xe0, 0x11, 0x7e, 0x1a, 0xbc, 0x3e, 0x29, 0x8a, 0x07, 0x4c, 0x7c,
|
||||
0xc2, 0xca, 0x2a, 0xe5, 0x79, 0xf8, 0xfe, 0x18, 0x04, 0xc6, 0xc7, 0x45, 0x3c, 0x9e, 0x14, 0xc5,
|
||||
0xd8, 0x18, 0xc7, 0xc7, 0xec, 0x57, 0x4b, 0x56, 0x89, 0x2b, 0x1f, 0xf8, 0xa1, 0xaa, 0xe0, 0x79,
|
||||
0xc5, 0xc2, 0x17, 0xc1, 0xb7, 0x26, 0x45, 0x31, 0x65, 0x62, 0x9f, 0xd5, 0x15, 0x98, 0x8a, 0x48,
|
||||
0xb0, 0x70, 0xa3, 0xe3, 0x6a, 0x03, 0x5a, 0x63, 0xb3, 0x1f, 0x04, 0x9d, 0x93, 0xe0, 0xb5, 0x5a,
|
||||
0x67, 0xbe, 0x14, 0x09, 0x3f, 0xcf, 0xc3, 0xf7, 0xba, 0x8e, 0x60, 0xd2, 0xb1, 0xaf, 0xfb, 0x10,
|
||||
0x88, 0xfa, 0x3c, 0xf8, 0xfa, 0xf3, 0x28, 0xcb, 0x98, 0xd8, 0x2b, 0x59, 0x5d, 0x70, 0xdb, 0x47,
|
||||
0x9a, 0xc6, 0xd2, 0xa6, 0xe3, 0xbe, 0xef, 0x65, 0x20, 0xf0, 0xa7, 0xc1, 0xeb, 0xd2, 0x72, 0xcc,
|
||||
0x62, 0xbe, 0x62, 0x65, 0xe8, 0xf4, 0x02, 0x23, 0xd1, 0xe4, 0x1d, 0x08, 0xc7, 0xde, 0xe3, 0xf9,
|
||||
0x8a, 0x95, 0xc2, 0x1d, 0x1b, 0x8c, 0xfe, 0xd8, 0x06, 0x82, 0xd8, 0x59, 0xf0, 0x66, 0xbb, 0x41,
|
||||
0xa6, 0xac, 0x6a, 0x06, 0xcc, 0x16, 0x5d, 0x67, 0x40, 0xb4, 0xce, 0xcd, 0x21, 0x28, 0xa8, 0xa5,
|
||||
0x41, 0x08, 0x6a, 0x19, 0xaf, 0xb4, 0xd8, 0xa6, 0x33, 0x42, 0x8b, 0xd0, 0x5a, 0x5b, 0x03, 0x48,
|
||||
0x90, 0xfa, 0x45, 0xf0, 0x8d, 0xe7, 0xbc, 0x3c, 0xab, 0x8a, 0x28, 0x66, 0xd0, 0xd9, 0x37, 0x6c,
|
||||
0x6f, 0x65, 0xc5, 0xfd, 0xbd, 0xde, 0x87, 0x39, 0x14, 0xa6, 0x2c, 0x63, 0xb1, 0x20, 0x15, 0xa4,
|
||||
0xb9, 0x57, 0x41, 0x63, 0xad, 0xce, 0x51, 0xc6, 0x07, 0x4c, 0xec, 0x2d, 0xcb, 0x92, 0xe5, 0x02,
|
||||
0x77, 0x8e, 0x76, 0x37, 0x08, 0xd5, 0x39, 0x6e, 0xd4, 0x51, 0x9f, 0x07, 0x4c, 0x4c, 0xb2, 0x8c,
|
||||
0xac, 0x8f, 0x34, 0xf7, 0xd6, 0x47, 0x63, 0xa0, 0xf0, 0xbb, 0xe0, 0x7b, 0xad, 0x16, 0x13, 0x87,
|
||||
0xd5, 0xc3, 0x74, 0x36, 0xcf, 0xd2, 0xd9, 0x5c, 0xb0, 0x24, 0xdc, 0x25, 0x1b, 0xc5, 0x06, 0xb5,
|
||||
0xea, 0xed, 0xe1, 0x0e, 0x8e, 0x1a, 0xde, 0x7f, 0x59, 0xf0, 0x92, 0xee, 0x31, 0x69, 0xee, 0xad,
|
||||
0xa1, 0xc6, 0x40, 0xe1, 0xe7, 0xc1, 0x1b, 0x93, 0x38, 0xe6, 0xcb, 0x5c, 0xaf, 0x03, 0x68, 0x55,
|
||||
0x95, 0xc6, 0xce, 0x42, 0x70, 0xa3, 0x87, 0x32, 0x2b, 0x01, 0xd8, 0x60, 0x48, 0xbf, 0xef, 0xf4,
|
||||
0x43, 0x03, 0xfa, 0x03, 0x3f, 0xd4, 0x89, 0xbd, 0xcf, 0x32, 0x46, 0xc6, 0x96, 0xc6, 0x9e, 0xd8,
|
||||
0x1a, 0xea, 0xc4, 0x86, 0x89, 0xe2, 0x8e, 0x8d, 0xa6, 0xc9, 0x07, 0x7e, 0xa8, 0xb5, 0x51, 0x40,
|
||||
0x6c, 0xc1, 0x0b, 0xbc, 0x51, 0x28, 0x27, 0xc1, 0x0b, 0x6a, 0xa3, 0xb0, 0x91, 0x4e, 0xd4, 0x23,
|
||||
0xbe, 0x62, 0x44, 0xd4, 0xda, 0xd4, 0x13, 0x15, 0x10, 0x33, 0xa1, 0x55, 0xff, 0xf1, 0xfc, 0x45,
|
||||
0x3a, 0x7b, 0x56, 0x24, 0x75, 0x2f, 0x6e, 0xb9, 0x3b, 0xa8, 0x85, 0x10, 0x13, 0x9a, 0x40, 0x41,
|
||||
0xed, 0x67, 0x41, 0xf0, 0xe4, 0xf4, 0x97, 0x2c, 0x16, 0x4f, 0x0a, 0x96, 0x87, 0xd7, 0x2c, 0x4f,
|
||||
0x69, 0x18, 0xd7, 0x16, 0x1d, 0xfb, 0x3d, 0x0f, 0x61, 0x9a, 0x45, 0xfe, 0xde, 0x2c, 0xba, 0xa1,
|
||||
0xd3, 0xa3, 0x31, 0x11, 0xcd, 0x82, 0x10, 0x5c, 0xd0, 0xe9, 0x9c, 0x9f, 0xbb, 0x0b, 0x5a, 0x5b,
|
||||
0xfc, 0x05, 0x05, 0xc2, 0x6c, 0xf4, 0x50, 0x50, 0xd7, 0x46, 0xaf, 0x8a, 0xe1, 0xdb, 0xe8, 0x31,
|
||||
0x03, 0x81, 0x79, 0xf0, 0xed, 0x76, 0xe0, 0x7b, 0x9c, 0x9f, 0x2d, 0xa2, 0xf2, 0x2c, 0xbc, 0x49,
|
||||
0x3b, 0x2b, 0x46, 0x0b, 0x6d, 0x0f, 0x62, 0xcd, 0xa2, 0xd5, 0x16, 0x9c, 0x32, 0xbc, 0x68, 0x59,
|
||||
0xfe, 0x53, 0x46, 0x2d, 0x5a, 0x0e, 0x0c, 0x77, 0xea, 0x83, 0x32, 0x2a, 0xe6, 0xee, 0x4e, 0x6d,
|
||||
0x4c, 0xfe, 0x4e, 0x55, 0x08, 0xee, 0x81, 0x29, 0x8b, 0xca, 0x78, 0xee, 0xee, 0x01, 0x69, 0xf3,
|
||||
0xf7, 0x80, 0x66, 0x20, 0x70, 0x19, 0x7c, 0xa7, 0x1d, 0x78, 0xba, 0x3c, 0xad, 0xe2, 0x32, 0x3d,
|
||||
0x65, 0xe1, 0x36, 0xed, 0xad, 0x21, 0x2d, 0x75, 0x6b, 0x18, 0x0c, 0x9a, 0x7f, 0x1e, 0x05, 0xef,
|
||||
0x48, 0xe6, 0x98, 0x65, 0x91, 0x48, 0x79, 0x2e, 0xd1, 0xfd, 0xb4, 0x12, 0x69, 0x1e, 0x8b, 0xf0,
|
||||
0x8e, 0x2b, 0x9c, 0x9b, 0xd5, 0x45, 0xb8, 0x7b, 0x29, 0x1f, 0x93, 0x42, 0x41, 0xed, 0x55, 0x29,
|
||||
0x0f, 0x93, 0x0a, 0xa5, 0x50, 0xaa, 0x36, 0x2d, 0x82, 0x48, 0xa1, 0xdc, 0x24, 0x48, 0xbd, 0x0c,
|
||||
0xbe, 0xdb, 0x6e, 0xe8, 0x67, 0x79, 0xa5, 0x9b, 0x7a, 0x87, 0x6e, 0xbd, 0x16, 0xa6, 0x45, 0xc7,
|
||||
0x43, 0x71, 0x50, 0x8e, 0x83, 0x6f, 0x2a, 0x65, 0xb1, 0xcf, 0x44, 0x94, 0x66, 0x55, 0xb8, 0xee,
|
||||
0x8e, 0xa1, 0xec, 0x5a, 0x6b, 0xa3, 0x97, 0xc3, 0x13, 0x6b, 0x7f, 0x59, 0x64, 0x69, 0xdc, 0xcd,
|
||||
0x10, 0xc1, 0x57, 0x9b, 0xfd, 0x13, 0xab, 0x8d, 0x99, 0xe5, 0x5e, 0x57, 0x43, 0xfe, 0x8f, 0x93,
|
||||
0x8b, 0x02, 0x2f, 0xf7, 0xa6, 0x84, 0x06, 0x21, 0x96, 0x7b, 0x02, 0xc5, 0xf5, 0x99, 0x32, 0xf1,
|
||||
0x28, 0xba, 0xe0, 0x4b, 0x62, 0xa1, 0xd0, 0x66, 0x7f, 0x7d, 0xda, 0x18, 0x28, 0x2c, 0x83, 0xb7,
|
||||
0xb4, 0xc2, 0x61, 0x2e, 0x58, 0x99, 0x47, 0xd9, 0x41, 0x16, 0xcd, 0xaa, 0x90, 0x98, 0x4d, 0x36,
|
||||
0xa5, 0xf5, 0x76, 0x06, 0xd2, 0x8e, 0x66, 0x3c, 0xac, 0x0e, 0xa2, 0x15, 0x2f, 0x53, 0x41, 0x37,
|
||||
0xa3, 0x41, 0x7a, 0x9b, 0xd1, 0x42, 0x9d, 0x6a, 0x93, 0x32, 0x9e, 0xa7, 0x2b, 0x96, 0x78, 0xd4,
|
||||
0x14, 0x32, 0x40, 0xad, 0x85, 0x62, 0xb5, 0x47, 0x69, 0xd5, 0x1a, 0x88, 0x4e, 0x35, 0x0b, 0xf1,
|
||||
0xab, 0x61, 0x14, 0xcf, 0xab, 0xc6, 0x2e, 0xd3, 0xbc, 0x75, 0xd2, 0xdf, 0xce, 0xf4, 0x36, 0x7a,
|
||||
0x39, 0xbc, 0x6c, 0xd4, 0x46, 0xbb, 0x11, 0x77, 0xa8, 0x18, 0xee, 0x86, 0x1c, 0x0f, 0xc5, 0x49,
|
||||
0x65, 0x3d, 0x58, 0xfc, 0xca, 0x9d, 0x01, 0x33, 0x1e, 0x8a, 0xe3, 0x6e, 0x9c, 0x14, 0x45, 0x76,
|
||||
0x71, 0xc2, 0x16, 0x45, 0x46, 0x76, 0xa3, 0x85, 0xf8, 0xbb, 0x11, 0xa3, 0x78, 0xc3, 0x3e, 0xe1,
|
||||
0x75, 0x3a, 0xe0, 0xdc, 0xb0, 0x1b, 0x93, 0x7f, 0xc3, 0x56, 0x08, 0xde, 0x57, 0x27, 0x49, 0xf2,
|
||||
0x3c, 0x15, 0x73, 0xf9, 0x7f, 0x0e, 0x13, 0xf7, 0xbe, 0x8a, 0x20, 0xff, 0xbe, 0xda, 0x85, 0xcd,
|
||||
0x6d, 0x92, 0xca, 0xfc, 0xa2, 0x92, 0xdd, 0xbb, 0x78, 0x94, 0xe6, 0x67, 0xa1, 0x7b, 0x05, 0x37,
|
||||
0x00, 0x71, 0x9b, 0xe4, 0x04, 0x71, 0xdd, 0xea, 0x74, 0xf6, 0x5e, 0xc9, 0xa2, 0x24, 0x2e, 0x97,
|
||||
0x8b, 0xd3, 0xca, 0x5d, 0x37, 0x04, 0xf9, 0xeb, 0xd6, 0x85, 0x71, 0xa6, 0x38, 0x65, 0xa2, 0x2d,
|
||||
0x49, 0x2d, 0x0f, 0x2e, 0xc5, 0xed, 0x41, 0x2c, 0x4e, 0xa3, 0x9f, 0xe5, 0x09, 0x77, 0xa7, 0xd1,
|
||||
0xb5, 0xc5, 0x9f, 0x46, 0x03, 0x81, 0x43, 0x1e, 0x33, 0x2a, 0x64, 0x6d, 0xf1, 0x87, 0x04, 0x02,
|
||||
0x37, 0xcb, 0xe1, 0xa2, 0x3e, 0x3b, 0x1f, 0x45, 0xe5, 0x59, 0x73, 0xc3, 0xe7, 0x6c, 0x16, 0x9b,
|
||||
0xf1, 0x37, 0x4b, 0x87, 0x75, 0x2d, 0x7a, 0x70, 0xec, 0x27, 0x17, 0x3d, 0x74, 0xee, 0xdf, 0xe8,
|
||||
0xe5, 0xf0, 0x02, 0xa0, 0x12, 0xf8, 0x03, 0x26, 0xe2, 0xb9, 0x7b, 0x01, 0xb0, 0x10, 0xff, 0x02,
|
||||
0x80, 0x51, 0x5c, 0xa5, 0x13, 0xae, 0x0f, 0x20, 0xeb, 0xee, 0x29, 0xde, 0x39, 0x7c, 0x6c, 0xf4,
|
||||
0x72, 0x38, 0x81, 0x97, 0x0d, 0xeb, 0x4e, 0xe0, 0xa5, 0xcd, 0x9f, 0xc0, 0x6b, 0x06, 0x97, 0x5e,
|
||||
0x1a, 0xea, 0xe6, 0x74, 0x97, 0xde, 0xd8, 0xfd, 0xa5, 0xb7, 0x38, 0xf7, 0x39, 0x4d, 0xa5, 0xd5,
|
||||
0xbe, 0x73, 0x9a, 0x62, 0x86, 0x9c, 0xd3, 0x5a, 0x2c, 0x08, 0xfe, 0x7e, 0x14, 0x5c, 0x71, 0x29,
|
||||
0x3e, 0x29, 0x1a, 0xdd, 0xdb, 0xfd, 0xb1, 0x24, 0xa9, 0xd5, 0x3f, 0xbc, 0x84, 0x07, 0x94, 0xe1,
|
||||
0x37, 0xc1, 0xdb, 0xca, 0x54, 0xb7, 0xc6, 0x31, 0x5b, 0xf0, 0x15, 0x83, 0x02, 0xd8, 0x5b, 0x9a,
|
||||
0x2e, 0x3f, 0xe6, 0xb4, 0xfc, 0xee, 0x60, 0xde, 0xe4, 0x9f, 0x76, 0xb9, 0x2a, 0x94, 0x7f, 0xea,
|
||||
0x18, 0x60, 0x26, 0xf2, 0x4f, 0x07, 0x86, 0x77, 0x0b, 0x85, 0x4c, 0x92, 0xc4, 0xb9, 0x5b, 0xe8,
|
||||
0x10, 0x93, 0x24, 0xf1, 0xee, 0x16, 0x08, 0xc4, 0x63, 0x47, 0x99, 0x21, 0x55, 0xba, 0xe9, 0x8b,
|
||||
0x80, 0xd2, 0xa5, 0xed, 0x41, 0xac, 0xb9, 0x18, 0xed, 0x54, 0xec, 0x80, 0x45, 0x62, 0x59, 0x76,
|
||||
0x2e, 0x46, 0xbb, 0xe5, 0x56, 0x20, 0x71, 0x31, 0xea, 0x75, 0x20, 0x8f, 0xb7, 0xb2, 0x8b, 0x75,
|
||||
0x19, 0xee, 0xf8, 0x42, 0xda, 0xac, 0xf7, 0x78, 0x4b, 0xfb, 0x40, 0x49, 0xfe, 0x38, 0x0a, 0xbe,
|
||||
0x6f, 0xa3, 0xf5, 0x80, 0x9b, 0xac, 0xa2, 0x34, 0x8b, 0x4e, 0x33, 0x16, 0x7e, 0xe8, 0x0b, 0x6a,
|
||||
0xa1, 0xba, 0x1c, 0x77, 0x2e, 0xe3, 0x82, 0x4f, 0x3a, 0x72, 0xbe, 0xb5, 0x0e, 0x6f, 0xb7, 0xe8,
|
||||
0x59, 0xe9, 0x38, 0xbf, 0xed, 0x0c, 0xa4, 0x41, 0xf6, 0x5c, 0xc9, 0xd6, 0x3f, 0xb7, 0x1b, 0xc0,
|
||||
0x99, 0xbf, 0x82, 0x6f, 0xab, 0x26, 0xde, 0xfc, 0xd5, 0x89, 0x83, 0xb0, 0x50, 0xf9, 0x51, 0x5b,
|
||||
0xb8, 0x9e, 0x5d, 0xb7, 0x7a, 0x03, 0xb5, 0xa7, 0xd8, 0xce, 0x40, 0x1a, 0x54, 0x7f, 0x1b, 0xbc,
|
||||
0xdd, 0x55, 0x95, 0x23, 0xc3, 0x39, 0xea, 0xed, 0x50, 0x12, 0xf4, 0x8e, 0x7a, 0xc2, 0xc1, 0x5c,
|
||||
0xa5, 0x3c, 0x4c, 0x2b, 0xc1, 0xcb, 0x8b, 0xe9, 0x9c, 0x9f, 0xab, 0xb7, 0x52, 0x7b, 0x99, 0x00,
|
||||
0x60, 0xdc, 0x22, 0x88, 0xab, 0x14, 0x37, 0xd9, 0x91, 0x32, 0x6f, 0xaa, 0x15, 0x21, 0xd5, 0x22,
|
||||
0x7a, 0xa4, 0x6c, 0xd2, 0x2c, 0x92, 0xaa, 0x56, 0xe6, 0x01, 0x78, 0xc3, 0x5d, 0xd4, 0xee, 0x23,
|
||||
0xf0, 0x66, 0x3f, 0x68, 0x0e, 0x21, 0x07, 0x69, 0xc6, 0x9e, 0xbc, 0x78, 0x91, 0xf1, 0x28, 0x41,
|
||||
0x87, 0x90, 0xda, 0x32, 0x06, 0x13, 0x71, 0x08, 0x41, 0x88, 0xd9, 0x44, 0x6a, 0x43, 0x3d, 0x3a,
|
||||
0x55, 0xe4, 0x1b, 0x5d, 0xb7, 0x96, 0x99, 0xd8, 0x44, 0x1c, 0x98, 0x49, 0x69, 0x6b, 0xe3, 0xb3,
|
||||
0xa2, 0x09, 0x7e, 0xad, 0xeb, 0x25, 0x2d, 0x44, 0x4a, 0x6b, 0x13, 0x26, 0x53, 0xaa, 0x7f, 0xdf,
|
||||
0xe7, 0xe7, 0x79, 0x13, 0xd4, 0x51, 0x51, 0x65, 0x23, 0x32, 0x25, 0xcc, 0x40, 0xe0, 0x8f, 0x83,
|
||||
0xaf, 0x36, 0x81, 0x4b, 0x5e, 0x84, 0x6b, 0x0e, 0x87, 0xb2, 0xf5, 0xaa, 0x71, 0x95, 0xb4, 0x9b,
|
||||
0x33, 0xd0, 0xe3, 0x68, 0x95, 0xce, 0xf4, 0xa2, 0x22, 0xe7, 0x08, 0x3e, 0x03, 0x19, 0x66, 0xdc,
|
||||
0x82, 0x88, 0x33, 0x10, 0x09, 0x83, 0xe6, 0x3f, 0x46, 0xc1, 0x35, 0xc3, 0x3c, 0x50, 0x17, 0x57,
|
||||
0x87, 0xf9, 0x0b, 0x5e, 0x1f, 0x08, 0xeb, 0x43, 0x5a, 0x15, 0x7e, 0x44, 0x85, 0x74, 0xf3, 0xba,
|
||||
0x28, 0x3f, 0xba, 0xb4, 0x9f, 0x49, 0x93, 0xd4, 0xa1, 0x5a, 0xae, 0xc5, 0x07, 0x25, 0x5f, 0x48,
|
||||
0x0f, 0x94, 0x26, 0xe9, 0xb3, 0x37, 0xe6, 0x88, 0x34, 0xc9, 0xc7, 0xb7, 0xf6, 0x5a, 0x4a, 0xbd,
|
||||
0xd9, 0x61, 0xee, 0x0c, 0x8b, 0x68, 0xed, 0x33, 0x77, 0x2f, 0xe5, 0x63, 0x5e, 0xe5, 0x74, 0x41,
|
||||
0x32, 0x9e, 0xe3, 0x17, 0x3f, 0x13, 0xa5, 0x36, 0x12, 0xaf, 0x72, 0x1d, 0xc8, 0xac, 0x42, 0xca,
|
||||
0x24, 0x8f, 0x4a, 0x93, 0x2c, 0x43, 0xab, 0x90, 0x76, 0xd5, 0x00, 0xb1, 0x0a, 0x39, 0x41, 0xd0,
|
||||
0x39, 0x0e, 0x5e, 0xab, 0x3b, 0xf7, 0x69, 0xc9, 0x56, 0x29, 0xc3, 0x6f, 0x47, 0x2d, 0x0b, 0x31,
|
||||
0x9d, 0x6d, 0xc2, 0x3c, 0xe2, 0x3e, 0xcb, 0xab, 0x22, 0x8b, 0xaa, 0x39, 0xbc, 0x5d, 0xd8, 0x75,
|
||||
0x56, 0x46, 0xfc, 0x7a, 0x71, 0xa3, 0x87, 0x32, 0xc7, 0x1f, 0x65, 0xd3, 0x2b, 0xc6, 0xba, 0xdb,
|
||||
0xb5, 0xb3, 0x6a, 0x6c, 0xf4, 0x72, 0x66, 0x75, 0xbe, 0x97, 0xf1, 0xf8, 0x0c, 0x96, 0x39, 0xbb,
|
||||
0xd6, 0x8d, 0x05, 0xaf, 0x73, 0xd7, 0x7d, 0x88, 0x59, 0xe8, 0x1a, 0xc3, 0x31, 0x2b, 0xb2, 0x28,
|
||||
0xc6, 0xaf, 0x6a, 0xd2, 0x07, 0x6c, 0xc4, 0x42, 0x87, 0x19, 0x54, 0x5c, 0x78, 0xad, 0x73, 0x15,
|
||||
0x17, 0x3d, 0xd6, 0x5d, 0xf7, 0x21, 0x66, 0xa9, 0x6f, 0x0c, 0xd3, 0x22, 0x4b, 0x05, 0x1a, 0x1b,
|
||||
0xd2, 0xa3, 0xb1, 0x10, 0x63, 0xc3, 0x26, 0x50, 0xc8, 0x23, 0x56, 0xce, 0x98, 0x33, 0x64, 0x63,
|
||||
0xf1, 0x86, 0x54, 0x04, 0x84, 0x7c, 0x1c, 0x7c, 0x4d, 0xd6, 0x9d, 0x17, 0x17, 0xe1, 0x55, 0x57,
|
||||
0xb5, 0x78, 0x71, 0xa1, 0x03, 0x5e, 0xa3, 0x01, 0x54, 0xc4, 0xa7, 0x51, 0x25, 0xdc, 0x45, 0x6c,
|
||||
0x2c, 0xde, 0x22, 0x2a, 0xc2, 0xec, 0x43, 0xb2, 0x88, 0x4b, 0x81, 0xf6, 0x21, 0x28, 0x40, 0xeb,
|
||||
0x31, 0xe1, 0x2a, 0x69, 0x37, 0xd3, 0x4b, 0xf6, 0x0a, 0x13, 0x07, 0x29, 0xcb, 0x92, 0x0a, 0x4d,
|
||||
0x2f, 0x68, 0x77, 0x65, 0x25, 0xa6, 0x57, 0x97, 0x42, 0x43, 0x09, 0x6e, 0x7a, 0x5c, 0xb5, 0x43,
|
||||
0x97, 0x3c, 0xd7, 0x7d, 0x88, 0xc9, 0x4b, 0x1a, 0x43, 0xeb, 0xe2, 0xdc, 0x55, 0x1e, 0xc7, 0xbd,
|
||||
0xf9, 0x7a, 0x1f, 0x06, 0x0a, 0x9f, 0x8d, 0x82, 0x77, 0xb5, 0xc4, 0x11, 0x5f, 0xb1, 0x13, 0x7e,
|
||||
0xff, 0x65, 0xf3, 0xfc, 0x37, 0x83, 0xad, 0xe9, 0x2e, 0x11, 0xc9, 0x05, 0x6b, 0xf9, 0x1f, 0x5c,
|
||||
0xce, 0xc9, 0xec, 0x90, 0xa8, 0x2c, 0x8f, 0xd9, 0xb9, 0x73, 0x87, 0xc4, 0x11, 0x35, 0x47, 0xec,
|
||||
0x90, 0x3e, 0xde, 0x9c, 0x86, 0xb5, 0x38, 0x7c, 0xb0, 0x76, 0xc2, 0x55, 0xb2, 0x42, 0x45, 0xc3,
|
||||
0x20, 0x71, 0x2e, 0xf0, 0x3a, 0x98, 0x64, 0x5d, 0xeb, 0x9b, 0x41, 0xba, 0x49, 0xc4, 0xe9, 0x0e,
|
||||
0xd4, 0xad, 0x01, 0xa4, 0x43, 0xca, 0xbc, 0xfe, 0x50, 0x52, 0xdd, 0xc7, 0x9f, 0xad, 0x01, 0x64,
|
||||
0xeb, 0x64, 0xdd, 0xae, 0xd6, 0xbd, 0x28, 0x3e, 0x9b, 0x95, 0x7c, 0x99, 0x27, 0x7b, 0x3c, 0xe3,
|
||||
0x25, 0x3a, 0x59, 0x5b, 0xa5, 0x46, 0x28, 0x71, 0xb2, 0xee, 0x71, 0x31, 0x89, 0x41, 0xbb, 0x14,
|
||||
0x93, 0x2c, 0x9d, 0xe1, 0xe3, 0x89, 0x15, 0xa8, 0x01, 0x88, 0xc4, 0xc0, 0x09, 0x3a, 0x06, 0x91,
|
||||
0x3c, 0xbe, 0x88, 0x34, 0x8e, 0x32, 0xa9, 0xb7, 0x4b, 0x87, 0xb1, 0xc0, 0xde, 0x41, 0xe4, 0x70,
|
||||
0x70, 0xd4, 0xf3, 0x64, 0x59, 0xe6, 0x87, 0xb9, 0xe0, 0x64, 0x3d, 0x15, 0xd0, 0x5b, 0xcf, 0x16,
|
||||
0x68, 0xb2, 0x89, 0xc6, 0x7c, 0xc2, 0x5e, 0xd6, 0xa5, 0xa9, 0xff, 0x13, 0x3a, 0x96, 0x9c, 0xfa,
|
||||
0xf7, 0x31, 0xd8, 0x89, 0x6c, 0xc2, 0xc5, 0xa1, 0xca, 0x80, 0x88, 0x1c, 0x30, 0x1e, 0x6f, 0x7b,
|
||||
0x98, 0x6c, 0xf6, 0x83, 0x6e, 0x9d, 0xa9, 0xb8, 0xc8, 0x98, 0x4f, 0xa7, 0x01, 0x86, 0xe8, 0x28,
|
||||
0xd0, 0xdc, 0xd6, 0x5b, 0xf5, 0x99, 0xb3, 0xf8, 0xac, 0xf3, 0xc6, 0x6b, 0x17, 0x54, 0x22, 0xc4,
|
||||
0x6d, 0x3d, 0x81, 0xba, 0xbb, 0xe8, 0x30, 0xe6, 0xb9, 0xaf, 0x8b, 0x6a, 0xfb, 0x90, 0x2e, 0x02,
|
||||
0xce, 0x9c, 0xee, 0xb4, 0x15, 0x46, 0xa6, 0xec, 0xa6, 0x6d, 0x22, 0x42, 0x1b, 0x22, 0x4e, 0x77,
|
||||
0x24, 0x6c, 0xee, 0x49, 0xb1, 0xe6, 0x51, 0xf7, 0x5b, 0xa8, 0x4e, 0x94, 0x23, 0xfa, 0x5b, 0x28,
|
||||
0x8a, 0xa5, 0x2b, 0x29, 0xc7, 0x48, 0x4f, 0x14, 0x7b, 0x9c, 0xdc, 0x1a, 0x06, 0x9b, 0x47, 0x65,
|
||||
0x4b, 0x73, 0x2f, 0x63, 0x51, 0x29, 0x55, 0x77, 0x3c, 0x81, 0x0c, 0x46, 0x5c, 0xca, 0x79, 0x70,
|
||||
0xb4, 0x84, 0x59, 0xca, 0x7b, 0x3c, 0x17, 0x2c, 0x17, 0xae, 0x25, 0xcc, 0x0e, 0x06, 0xa0, 0x6f,
|
||||
0x09, 0xa3, 0x1c, 0xd0, 0xb8, 0x3d, 0x48, 0x33, 0x36, 0x65, 0xe2, 0x71, 0xb4, 0x60, 0xae, 0x71,
|
||||
0xdb, 0x5c, 0x35, 0x80, 0xdd, 0x37, 0x6e, 0x11, 0x87, 0xa6, 0xfc, 0xe1, 0x22, 0x9a, 0x69, 0x15,
|
||||
0x87, 0x77, 0x63, 0xef, 0xc8, 0x6c, 0xf6, 0x83, 0x48, 0xe7, 0x93, 0x34, 0x61, 0xdc, 0xa3, 0xd3,
|
||||
0xd8, 0x87, 0xe8, 0x60, 0x10, 0x65, 0x4e, 0x75, 0x6d, 0xe5, 0x79, 0x64, 0x92, 0x27, 0x70, 0x0a,
|
||||
0x1b, 0x13, 0x8d, 0x82, 0x38, 0x5f, 0xe6, 0x44, 0xf0, 0x68, 0x7e, 0xa8, 0x2b, 0x34, 0xdf, 0xfc,
|
||||
0xd0, 0x37, 0x64, 0x43, 0xe6, 0x87, 0x0b, 0x06, 0xcd, 0x5f, 0xc3, 0xfc, 0xd8, 0x8f, 0x44, 0x54,
|
||||
0x9f, 0xa3, 0x3f, 0x49, 0xd9, 0x39, 0x1c, 0xe3, 0x1c, 0xf5, 0x55, 0xd4, 0xb8, 0xc6, 0xf0, 0x99,
|
||||
0x6e, 0x77, 0x30, 0xef, 0xd1, 0x86, 0xec, 0xbc, 0x57, 0x1b, 0xa5, 0xe9, 0xbb, 0x83, 0x79, 0x8f,
|
||||
0x36, 0x7c, 0xcf, 0xdb, 0xab, 0x8d, 0x3e, 0xea, 0xdd, 0x1d, 0xcc, 0x83, 0xf6, 0x1f, 0x46, 0xc1,
|
||||
0x95, 0x8e, 0x78, 0x9d, 0x03, 0xc5, 0x22, 0x5d, 0x31, 0x57, 0x2a, 0x67, 0xc7, 0xd3, 0xa8, 0x2f,
|
||||
0x95, 0xa3, 0x5d, 0xa0, 0x14, 0x7f, 0x19, 0x05, 0xef, 0xb8, 0x4a, 0xf1, 0x94, 0x57, 0x69, 0xf3,
|
||||
0xe4, 0x78, 0x77, 0x40, 0x50, 0x05, 0xfb, 0x0e, 0x2c, 0x3e, 0x27, 0xf3, 0x60, 0x63, 0xa1, 0xf5,
|
||||
0x38, 0xe5, 0xcb, 0x32, 0xc6, 0x0f, 0x36, 0x76, 0x3c, 0x4d, 0x11, 0x2f, 0x18, 0x34, 0x6d, 0x5e,
|
||||
0x30, 0x2c, 0xa6, 0xfd, 0x74, 0xe2, 0xeb, 0x55, 0xe7, 0xeb, 0xc9, 0xed, 0xe1, 0x0e, 0x20, 0xff,
|
||||
0x27, 0x95, 0xd3, 0x63, 0x7d, 0x98, 0x04, 0x77, 0x86, 0x44, 0x44, 0x13, 0xe1, 0xee, 0xa5, 0x7c,
|
||||
0xa0, 0x20, 0xff, 0x1c, 0x05, 0xd7, 0x9d, 0x05, 0xb1, 0x5f, 0xef, 0x7e, 0x3c, 0x24, 0xb6, 0xfb,
|
||||
0x15, 0xef, 0x27, 0xff, 0x8f, 0x2b, 0x94, 0xee, 0xaf, 0xea, 0x68, 0xad, 0x3c, 0x1e, 0x94, 0x7c,
|
||||
0x59, 0x3c, 0x29, 0x13, 0x56, 0xc2, 0x8c, 0xf5, 0x0d, 0x3a, 0x03, 0xe3, 0x79, 0xfb, 0xc3, 0x4b,
|
||||
0x7a, 0x41, 0x71, 0xfe, 0x36, 0x0a, 0xd6, 0x2c, 0x18, 0x3e, 0x4d, 0x6a, 0x95, 0xc7, 0x17, 0xb9,
|
||||
0x45, 0xe3, 0x02, 0x7d, 0x74, 0x59, 0x37, 0x9c, 0xa1, 0xd6, 0xed, 0x06, 0x8b, 0xb7, 0x2b, 0x43,
|
||||
0x6d, 0x9a, 0x15, 0x2d, 0xda, 0x1b, 0xbd, 0x9c, 0x4b, 0xe4, 0xfe, 0xcb, 0x22, 0xca, 0x13, 0x5a,
|
||||
0x44, 0xda, 0xfb, 0x45, 0x34, 0x87, 0x33, 0xfb, 0xda, 0x7a, 0xcc, 0xd5, 0x4e, 0xb4, 0x45, 0xf9,
|
||||
0x6b, 0xc4, 0x9b, 0xd9, 0x77, 0x50, 0x42, 0x0d, 0xa6, 0x9d, 0x4f, 0x0d, 0xcd, 0xb6, 0x9b, 0x43,
|
||||
0x50, 0xb4, 0xc6, 0x69, 0x35, 0x7d, 0x61, 0x70, 0xcb, 0x17, 0xa5, 0x73, 0x69, 0xb0, 0x33, 0x90,
|
||||
0x26, 0x64, 0xa7, 0x4c, 0x3c, 0x64, 0x51, 0xc2, 0x4a, 0xaf, 0xac, 0xa6, 0x06, 0xc9, 0xb6, 0x69,
|
||||
0x97, 0xec, 0x1e, 0xcf, 0x96, 0x8b, 0x1c, 0x3a, 0x93, 0x94, 0x6d, 0x53, 0xfd, 0xb2, 0x88, 0xc6,
|
||||
0x67, 0x1a, 0x23, 0xdb, 0xfc, 0x0b, 0xa0, 0x9b, 0xfe, 0x30, 0xd6, 0x3f, 0x05, 0xda, 0x1e, 0xc4,
|
||||
0xd2, 0xf5, 0x84, 0x61, 0xd4, 0x53, 0x4f, 0x34, 0x92, 0x76, 0x06, 0xd2, 0xf8, 0x70, 0xd1, 0x92,
|
||||
0xd5, 0xe3, 0x69, 0xb7, 0x27, 0x56, 0x67, 0x48, 0xdd, 0x1e, 0xee, 0x80, 0x8f, 0x72, 0x30, 0xaa,
|
||||
0xea, 0xa5, 0xfb, 0x20, 0xcd, 0xb2, 0x70, 0xdb, 0x33, 0x4c, 0x14, 0xe4, 0x3d, 0xca, 0x39, 0x60,
|
||||
0x62, 0x24, 0xab, 0xa3, 0x4f, 0x1e, 0xf6, 0xc5, 0x69, 0xa8, 0x41, 0x23, 0xb9, 0x4d, 0xa3, 0x23,
|
||||
0x41, 0xab, 0xa9, 0x75, 0x6d, 0xc7, 0xfe, 0x86, 0xeb, 0x54, 0x78, 0x77, 0x30, 0x8f, 0x6e, 0xdb,
|
||||
0x1b, 0x6a, 0xca, 0x4b, 0xe1, 0xba, 0x6d, 0x97, 0x21, 0xa6, 0xed, 0x4b, 0xf1, 0x1b, 0x3d, 0x54,
|
||||
0xe7, 0x9a, 0x2d, 0x87, 0xc7, 0x1b, 0xf3, 0xa1, 0xaf, 0x6b, 0x18, 0x35, 0x9f, 0xe5, 0x62, 0xd0,
|
||||
0x37, 0x8c, 0x28, 0x87, 0xd6, 0x57, 0x77, 0x9a, 0x53, 0x37, 0x81, 0x45, 0xc1, 0xa2, 0x32, 0xca,
|
||||
0x63, 0x16, 0x52, 0x01, 0x3b, 0x24, 0xf1, 0xd5, 0x9d, 0xdf, 0x03, 0x5d, 0xe2, 0xda, 0x9f, 0x7e,
|
||||
0x3a, 0x8e, 0x8c, 0xfa, 0x1b, 0x4b, 0xfb, 0xcb, 0xcf, 0xad, 0x01, 0x24, 0xbe, 0xc4, 0x55, 0x80,
|
||||
0x3e, 0x0a, 0x4a, 0xd1, 0x0f, 0x3d, 0xa1, 0x6c, 0xd4, 0x97, 0xf9, 0xd3, 0x2e, 0x68, 0xdf, 0x33,
|
||||
0xff, 0x58, 0x49, 0x7c, 0xcc, 0x2e, 0x5c, 0xfb, 0x9e, 0x4e, 0xcd, 0x24, 0xe2, 0xdb, 0xf7, 0xba,
|
||||
0x28, 0x4a, 0x1c, 0xda, 0xc9, 0xf5, 0xba, 0xc7, 0xbf, 0x9d, 0x53, 0x6f, 0xf4, 0x72, 0x68, 0xdd,
|
||||
0xdf, 0x4f, 0x57, 0xd6, 0xc9, 0xd9, 0x51, 0xd0, 0xfd, 0x74, 0xe5, 0x3e, 0x38, 0x6f, 0x0f, 0x62,
|
||||
0xf1, 0x05, 0x71, 0x24, 0xd8, 0x4b, 0x75, 0x73, 0xeb, 0x28, 0x6e, 0x63, 0xef, 0x5c, 0xdd, 0x6e,
|
||||
0xf6, 0x83, 0xe6, 0x95, 0xff, 0x69, 0xc9, 0x63, 0x56, 0x55, 0x7b, 0xf5, 0xb0, 0xcd, 0xd0, 0x2b,
|
||||
0x3f, 0xd8, 0xc6, 0xd2, 0x48, 0xbc, 0xf2, 0x77, 0x20, 0x88, 0xfd, 0x30, 0x78, 0xf5, 0x11, 0x9f,
|
||||
0x4d, 0x59, 0x9e, 0x84, 0xef, 0xda, 0xef, 0xea, 0x7c, 0x36, 0xae, 0x7f, 0xd6, 0xf1, 0xd6, 0x28,
|
||||
0xb3, 0x79, 0x04, 0xdd, 0x67, 0xa7, 0xcb, 0xd9, 0xf4, 0x22, 0x8f, 0xd1, 0x23, 0x68, 0xf3, 0xfb,
|
||||
0xb8, 0x36, 0x10, 0x8f, 0xa0, 0x16, 0x60, 0x5e, 0x01, 0x9b, 0x9f, 0x4f, 0xe6, 0x25, 0xeb, 0xbc,
|
||||
0x7f, 0x4b, 0x07, 0x69, 0x22, 0x5e, 0x01, 0x11, 0x82, 0x4a, 0x79, 0x52, 0x32, 0xe6, 0x2c, 0x65,
|
||||
0x6d, 0xf0, 0x96, 0x12, 0x00, 0xb3, 0x09, 0x36, 0x3f, 0xcb, 0xd7, 0xc6, 0x47, 0x3c, 0x8e, 0xb2,
|
||||
0x4a, 0xf0, 0x12, 0xdf, 0xd7, 0x48, 0x57, 0x0c, 0x11, 0x9b, 0x20, 0x09, 0xa3, 0x3a, 0x3c, 0x4d,
|
||||
0xf3, 0x99, 0xb3, 0x0e, 0xb5, 0xc1, 0x5b, 0x07, 0x00, 0xcc, 0xc4, 0x39, 0x62, 0xa2, 0x4c, 0xe3,
|
||||
0xaa, 0x3e, 0x98, 0x47, 0x65, 0xb4, 0x60, 0x82, 0x95, 0xf8, 0x9f, 0x39, 0x00, 0x32, 0xb6, 0x18,
|
||||
0x62, 0xe2, 0x50, 0x2c, 0x08, 0xfe, 0x34, 0x78, 0xb3, 0x9e, 0x51, 0x2c, 0x87, 0xbf, 0xf9, 0x70,
|
||||
0xbf, 0xf9, 0x73, 0x28, 0xe1, 0x5b, 0x3a, 0xc6, 0x54, 0x94, 0x2c, 0x5a, 0xa8, 0xd8, 0x6f, 0xe8,
|
||||
0xdf, 0x1b, 0xf0, 0xf6, 0xe8, 0xde, 0x7b, 0xff, 0xfe, 0x62, 0x6d, 0xf4, 0xf9, 0x17, 0x6b, 0xa3,
|
||||
0xff, 0x7e, 0xb1, 0x36, 0xfa, 0xfb, 0x97, 0x6b, 0xaf, 0x7c, 0xfe, 0xe5, 0xda, 0x2b, 0xff, 0xf9,
|
||||
0x72, 0xed, 0x95, 0x4f, 0x5f, 0x85, 0x3f, 0xcb, 0x72, 0xfa, 0x95, 0xe6, 0x8f, 0xab, 0xdc, 0xfd,
|
||||
0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0xa5, 0xc1, 0xd7, 0xba, 0x45, 0x00, 0x00,
|
||||
// 3258 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0xdd, 0x8e, 0x1c, 0x47,
|
||||
0xf5, 0xc0, 0x33, 0x37, 0xff, 0xfc, 0xe9, 0x90, 0x00, 0x1d, 0x30, 0xc1, 0x24, 0x6b, 0xc7, 0x89,
|
||||
0xf7, 0xc3, 0xeb, 0x9d, 0xdd, 0xd8, 0x10, 0x04, 0x37, 0x68, 0xbc, 0xeb, 0xb5, 0x57, 0xf1, 0xda,
|
||||
0x66, 0x67, 0x1d, 0x4b, 0x91, 0x90, 0xe8, 0xed, 0x29, 0xcf, 0x34, 0xdb, 0xd3, 0xd5, 0x74, 0xd7,
|
||||
0xcc, 0x7a, 0x40, 0x20, 0x10, 0x08, 0x04, 0x8a, 0x04, 0x12, 0x97, 0x3c, 0x02, 0x2f, 0xc2, 0x65,
|
||||
0x2e, 0xb9, 0x44, 0xf1, 0x8b, 0xa0, 0xee, 0x3a, 0x55, 0xd5, 0x75, 0xba, 0x4e, 0x75, 0x2f, 0x57,
|
||||
0x81, 0x39, 0xbf, 0xf3, 0x51, 0xdf, 0xe7, 0x54, 0xf5, 0x3a, 0xb8, 0x96, 0x9f, 0xed, 0xe6, 0x05,
|
||||
0x17, 0xbc, 0xdc, 0x2d, 0x59, 0xb1, 0x4c, 0x62, 0xa6, 0xfe, 0x3b, 0xac, 0x7f, 0x0e, 0x5f, 0x8f,
|
||||
0xb2, 0x95, 0x58, 0xe5, 0xec, 0xea, 0x3b, 0x86, 0x8c, 0xf9, 0x7c, 0x1e, 0x65, 0x93, 0x52, 0x22,
|
||||
0x57, 0xaf, 0x18, 0x09, 0x5b, 0xb2, 0x4c, 0xc0, 0xef, 0x77, 0xfe, 0xf9, 0xf9, 0x20, 0x78, 0x6b,
|
||||
0x3f, 0x4d, 0x58, 0x26, 0xf6, 0x41, 0x23, 0xfc, 0x2c, 0x78, 0x73, 0x94, 0xe7, 0x0f, 0x98, 0xf8,
|
||||
0x94, 0x15, 0x65, 0xc2, 0xb3, 0xf0, 0x83, 0x21, 0x38, 0x18, 0x9e, 0xe4, 0xf1, 0x70, 0x94, 0xe7,
|
||||
0x43, 0x23, 0x1c, 0x9e, 0xb0, 0x5f, 0x2c, 0x58, 0x29, 0xae, 0x7e, 0xe8, 0x87, 0xca, 0x9c, 0x67,
|
||||
0x25, 0x0b, 0x5f, 0x04, 0xdf, 0x18, 0xe5, 0xf9, 0x98, 0x89, 0x03, 0x56, 0x35, 0x60, 0x2c, 0x22,
|
||||
0xc1, 0xc2, 0x8d, 0x96, 0xaa, 0x0d, 0x68, 0x1f, 0x9b, 0xdd, 0x20, 0xf8, 0x39, 0x0d, 0xde, 0xa8,
|
||||
0xfc, 0xcc, 0x16, 0x62, 0xc2, 0x2f, 0xb2, 0xf0, 0xfd, 0xb6, 0x22, 0x88, 0xb4, 0xed, 0x1b, 0x3e,
|
||||
0x04, 0xac, 0x3e, 0x0f, 0xbe, 0xfa, 0x3c, 0x4a, 0x53, 0x26, 0xf6, 0x0b, 0x56, 0x05, 0x6e, 0xeb,
|
||||
0x48, 0xd1, 0x50, 0xca, 0xb4, 0xdd, 0x0f, 0xbc, 0x0c, 0x18, 0xfe, 0x2c, 0x78, 0x53, 0x4a, 0x4e,
|
||||
0x58, 0xcc, 0x97, 0xac, 0x08, 0x9d, 0x5a, 0x20, 0x24, 0xba, 0xbc, 0x05, 0x61, 0xdb, 0xfb, 0x3c,
|
||||
0x5b, 0xb2, 0x42, 0xb8, 0x6d, 0x83, 0xd0, 0x6f, 0xdb, 0x40, 0x60, 0x3b, 0x0d, 0xde, 0x6e, 0x76,
|
||||
0xc8, 0x98, 0x95, 0xf5, 0x84, 0xd9, 0xa2, 0xdb, 0x0c, 0x88, 0xf6, 0x73, 0xab, 0x0f, 0x0a, 0xde,
|
||||
0x92, 0x20, 0x04, 0x6f, 0x29, 0x2f, 0xb5, 0xb3, 0x4d, 0xa7, 0x85, 0x06, 0xa1, 0x7d, 0x6d, 0xf5,
|
||||
0x20, 0xc1, 0xd5, 0xcf, 0x82, 0xaf, 0x3d, 0xe7, 0xc5, 0x79, 0x99, 0x47, 0x31, 0x83, 0xc1, 0xbe,
|
||||
0x69, 0x6b, 0x2b, 0x29, 0x1e, 0xef, 0xf5, 0x2e, 0x0c, 0x3c, 0x5c, 0x04, 0x57, 0xb4, 0xf0, 0xc9,
|
||||
0xd9, 0xcf, 0x59, 0x2c, 0x1e, 0x25, 0xa5, 0x18, 0x4d, 0x26, 0xe1, 0x0e, 0x61, 0x41, 0x52, 0x43,
|
||||
0xc0, 0xb4, 0xc3, 0x61, 0x5f, 0x1c, 0x1c, 0xff, 0x76, 0x10, 0x7c, 0xc7, 0xe1, 0xf9, 0x84, 0xcd,
|
||||
0xf9, 0x92, 0x85, 0x7b, 0xdd, 0xd6, 0x24, 0xa9, 0xfd, 0x7f, 0x74, 0x09, 0x0d, 0x47, 0xef, 0x8e,
|
||||
0x59, 0xca, 0x62, 0x41, 0xf6, 0xae, 0x14, 0x77, 0xf6, 0xae, 0xc6, 0x1a, 0x13, 0x53, 0x09, 0x1f,
|
||||
0x30, 0xb1, 0xbf, 0x28, 0x0a, 0x96, 0x09, 0x3c, 0x31, 0xb5, 0xba, 0x41, 0xa8, 0x89, 0xe9, 0x46,
|
||||
0x1d, 0xed, 0x79, 0xc0, 0xc4, 0x28, 0x4d, 0xc9, 0xf6, 0x48, 0x71, 0x67, 0x7b, 0x34, 0x06, 0x1e,
|
||||
0x7e, 0xd3, 0x18, 0xb3, 0x31, 0x13, 0x47, 0xe5, 0xc3, 0x64, 0x3a, 0x4b, 0x93, 0xe9, 0x4c, 0xb0,
|
||||
0x49, 0xb8, 0x4b, 0x76, 0x8a, 0x0d, 0x6a, 0xaf, 0x7b, 0xfd, 0x15, 0x1c, 0x2d, 0xbc, 0xff, 0x32,
|
||||
0xe7, 0x05, 0x3d, 0x62, 0x52, 0xdc, 0xd9, 0x42, 0x8d, 0x81, 0x87, 0x9f, 0x06, 0x6f, 0x8d, 0xe2,
|
||||
0x98, 0x2f, 0x32, 0xbd, 0x07, 0xa2, 0x13, 0x45, 0x0a, 0x5b, 0x9b, 0xe0, 0xcd, 0x0e, 0xca, 0xec,
|
||||
0x82, 0x20, 0x83, 0xe5, 0xfc, 0x81, 0x53, 0x0f, 0x2d, 0xe6, 0x0f, 0xfd, 0x50, 0xcb, 0xf6, 0x01,
|
||||
0x4b, 0x19, 0x69, 0x5b, 0x0a, 0x3b, 0x6c, 0x6b, 0xa8, 0x65, 0x1b, 0x16, 0x8a, 0xdb, 0x36, 0x5a,
|
||||
0x26, 0x1f, 0xfa, 0xa1, 0xc6, 0x21, 0x09, 0xb6, 0x05, 0xcf, 0xf1, 0x21, 0xa9, 0x94, 0x04, 0xcf,
|
||||
0xa9, 0x43, 0xd2, 0x46, 0x5a, 0x56, 0x8f, 0xab, 0x0d, 0xc5, 0x6d, 0xf5, 0xb8, 0xb9, 0x83, 0xdc,
|
||||
0xf0, 0x21, 0x66, 0x41, 0xab, 0xf1, 0xe3, 0xd9, 0x8b, 0x64, 0xfa, 0x2c, 0x9f, 0x54, 0xa3, 0xb8,
|
||||
0xe5, 0x1e, 0xa0, 0x06, 0x42, 0x2c, 0x68, 0x02, 0x05, 0x6f, 0x3f, 0x09, 0x02, 0xb9, 0x7d, 0x3d,
|
||||
0xc9, 0x59, 0x16, 0x5e, 0xb7, 0x34, 0x61, 0x5f, 0xab, 0x24, 0xda, 0xf6, 0xfb, 0x1e, 0xc2, 0x74,
|
||||
0x8b, 0xfc, 0xbd, 0x3e, 0x70, 0x42, 0xa7, 0x46, 0x2d, 0x22, 0xba, 0x05, 0x21, 0x38, 0xd0, 0xf1,
|
||||
0x8c, 0x5f, 0xb8, 0x03, 0xad, 0x24, 0xfe, 0x40, 0x81, 0x30, 0x49, 0x0e, 0x04, 0xea, 0x4a, 0x72,
|
||||
0x54, 0x18, 0xbe, 0x24, 0x07, 0x33, 0x60, 0x98, 0x07, 0xdf, 0x6c, 0x1a, 0xbe, 0xc7, 0xf9, 0xf9,
|
||||
0x3c, 0x2a, 0xce, 0xc3, 0x5b, 0xb4, 0xb2, 0x62, 0xb4, 0xa3, 0xed, 0x5e, 0xac, 0xd9, 0xb4, 0x9a,
|
||||
0x0e, 0xc7, 0x0c, 0x6f, 0x5a, 0x96, 0xfe, 0x98, 0x51, 0x9b, 0x96, 0x03, 0xc3, 0x83, 0xfa, 0xa0,
|
||||
0x88, 0xf2, 0x99, 0x7b, 0x50, 0x6b, 0x91, 0x7f, 0x50, 0x15, 0x82, 0x47, 0x60, 0xcc, 0xa2, 0x22,
|
||||
0x9e, 0xb9, 0x47, 0x40, 0xca, 0xfc, 0x23, 0xa0, 0x19, 0x30, 0x5c, 0x04, 0xdf, 0x6a, 0x1a, 0x1e,
|
||||
0x2f, 0xce, 0xca, 0xb8, 0x48, 0xce, 0x58, 0xb8, 0x4d, 0x6b, 0x6b, 0x48, 0xbb, 0xba, 0xdd, 0x0f,
|
||||
0x06, 0x9f, 0x7f, 0x1a, 0x04, 0xef, 0x4a, 0xe6, 0x84, 0xa5, 0x91, 0x48, 0x78, 0x26, 0xd1, 0x83,
|
||||
0xa4, 0x14, 0x49, 0x16, 0x8b, 0xf0, 0x8e, 0xcb, 0x9c, 0x9b, 0xd5, 0x21, 0xdc, 0xbd, 0x94, 0x8e,
|
||||
0x49, 0x1f, 0xa1, 0xf5, 0x2a, 0xca, 0xa3, 0x49, 0x89, 0xd2, 0x47, 0xd5, 0x9a, 0x06, 0x41, 0xa4,
|
||||
0x8f, 0x6e, 0x12, 0x5c, 0xbd, 0x0c, 0xbe, 0xdd, 0xec, 0xe8, 0x67, 0x59, 0xa9, 0xbb, 0x7a, 0x87,
|
||||
0xee, 0xbd, 0x06, 0x46, 0x64, 0x77, 0x1e, 0x1c, 0x3c, 0xc7, 0xc1, 0xd7, 0x95, 0x67, 0x71, 0xc0,
|
||||
0x44, 0x94, 0xa4, 0x65, 0xb8, 0xee, 0xb6, 0xa1, 0xe4, 0xda, 0xd7, 0x46, 0x27, 0x87, 0x17, 0xd6,
|
||||
0xc1, 0x22, 0x4f, 0x93, 0xb8, 0x9d, 0x1d, 0x83, 0xae, 0x16, 0xfb, 0x17, 0x56, 0x13, 0x33, 0xdb,
|
||||
0xbd, 0x6e, 0x86, 0xfc, 0x1f, 0xa7, 0xab, 0x1c, 0x6f, 0xf7, 0x26, 0x42, 0x83, 0x10, 0xdb, 0x3d,
|
||||
0x81, 0xe2, 0xf6, 0x8c, 0x99, 0x78, 0x14, 0xad, 0xf8, 0x82, 0xd8, 0x28, 0xb4, 0xd8, 0xdf, 0x9e,
|
||||
0x26, 0x06, 0x1e, 0x16, 0xc1, 0x15, 0xed, 0xe1, 0x28, 0x13, 0xac, 0xc8, 0xa2, 0xf4, 0x30, 0x8d,
|
||||
0xa6, 0x65, 0x48, 0xac, 0x26, 0x9b, 0xd2, 0xfe, 0x76, 0x7a, 0xd2, 0x8e, 0x6e, 0x3c, 0x2a, 0x0f,
|
||||
0xa3, 0x25, 0x2f, 0x12, 0x41, 0x77, 0xa3, 0x41, 0x3a, 0xbb, 0xd1, 0x42, 0x9d, 0xde, 0x46, 0x45,
|
||||
0x3c, 0x4b, 0x96, 0x6c, 0xe2, 0xf1, 0xa6, 0x90, 0x1e, 0xde, 0x1a, 0x28, 0xf6, 0x56, 0x55, 0x18,
|
||||
0x66, 0x22, 0x3a, 0xbd, 0x59, 0x88, 0xdf, 0x1b, 0x46, 0xf1, 0xba, 0xaa, 0xe5, 0x32, 0xcd, 0x5b,
|
||||
0x27, 0xf5, 0xed, 0x4c, 0x6f, 0xa3, 0x93, 0xc3, 0xdb, 0x46, 0x25, 0xb4, 0x3b, 0x71, 0x87, 0xb2,
|
||||
0xe1, 0xee, 0xc8, 0x61, 0x5f, 0x9c, 0xf4, 0xac, 0x27, 0x8b, 0xdf, 0x73, 0x6b, 0xc2, 0x0c, 0xfb,
|
||||
0xe2, 0x78, 0x18, 0x47, 0x79, 0x9e, 0xae, 0x4e, 0xd9, 0x3c, 0x4f, 0xc9, 0x61, 0xb4, 0x10, 0xff,
|
||||
0x30, 0x62, 0x14, 0x1f, 0xd8, 0xa7, 0xbc, 0x4a, 0x07, 0x9c, 0x07, 0x76, 0x2d, 0xf2, 0x1f, 0xd8,
|
||||
0x0a, 0xc1, 0xe7, 0xea, 0x68, 0x32, 0x79, 0x9e, 0x88, 0x99, 0xfc, 0x3f, 0x47, 0x13, 0xf7, 0xb9,
|
||||
0x8a, 0x20, 0xff, 0xb9, 0xda, 0x86, 0xcd, 0x4d, 0x9a, 0xca, 0xfc, 0xa2, 0x82, 0xdd, 0x5b, 0x3d,
|
||||
0x4a, 0xb2, 0xf3, 0xd0, 0xbd, 0x83, 0x1b, 0x80, 0xb8, 0x49, 0x73, 0x82, 0xb8, 0x6d, 0x55, 0x3a,
|
||||
0x7b, 0xaf, 0x60, 0xd1, 0x24, 0x2e, 0x16, 0xf3, 0xb3, 0xd2, 0xdd, 0x36, 0x04, 0xf9, 0xdb, 0xd6,
|
||||
0x86, 0x71, 0xa6, 0x38, 0x66, 0xa2, 0xe9, 0x92, 0xda, 0x1e, 0x5c, 0x1e, 0xb7, 0x7b, 0xb1, 0x38,
|
||||
0x8d, 0x7e, 0x96, 0x4d, 0xb8, 0x3b, 0x8d, 0xae, 0x24, 0xfe, 0x34, 0x1a, 0x08, 0x6c, 0xf2, 0x84,
|
||||
0x51, 0x26, 0x2b, 0x89, 0xdf, 0x24, 0x10, 0xb8, 0x5b, 0x8e, 0xe6, 0x55, 0xed, 0x7c, 0x1c, 0x15,
|
||||
0xe7, 0xf5, 0xed, 0xa6, 0xb3, 0x5b, 0x6c, 0xc6, 0xdf, 0x2d, 0x2d, 0xd6, 0xb5, 0xe9, 0x41, 0xd9,
|
||||
0x4f, 0x6e, 0x7a, 0xa8, 0xee, 0xdf, 0xe8, 0xe4, 0xf0, 0x06, 0xa0, 0x12, 0xf8, 0x43, 0x26, 0xe2,
|
||||
0x99, 0x7b, 0x03, 0xb0, 0x10, 0xff, 0x06, 0x80, 0x51, 0xdc, 0xa4, 0x53, 0xae, 0x0b, 0x90, 0x75,
|
||||
0xf7, 0x12, 0x6f, 0x15, 0x1f, 0x1b, 0x9d, 0x1c, 0x4e, 0xe0, 0x65, 0xc7, 0xba, 0x13, 0x78, 0x29,
|
||||
0xf3, 0x27, 0xf0, 0x9a, 0xc1, 0xd1, 0x4b, 0x41, 0xd5, 0x9d, 0xee, 0xe8, 0x8d, 0xdc, 0x1f, 0xbd,
|
||||
0xc5, 0xb9, 0xeb, 0x34, 0x95, 0x56, 0xfb, 0xea, 0x34, 0xc5, 0xf4, 0xa9, 0xd3, 0x1a, 0x2c, 0x38,
|
||||
0xfc, 0xdd, 0x20, 0xb8, 0xea, 0xf2, 0xf8, 0x24, 0xaf, 0xfd, 0xee, 0x75, 0xdb, 0x92, 0x24, 0x71,
|
||||
0x25, 0xe9, 0xd7, 0x80, 0x18, 0x7e, 0x15, 0xbc, 0xa3, 0x44, 0xe6, 0xc6, 0x12, 0x02, 0xb0, 0x8f,
|
||||
0x34, 0x1d, 0x3f, 0xe6, 0xb4, 0xfb, 0xdd, 0xde, 0xbc, 0xc9, 0x3f, 0xed, 0xb8, 0x4a, 0x94, 0x7f,
|
||||
0x6a, 0x1b, 0x20, 0x26, 0xf2, 0x4f, 0x07, 0x86, 0x4f, 0x0b, 0x85, 0x8c, 0x26, 0x13, 0xe7, 0x69,
|
||||
0xa1, 0x4d, 0x34, 0xaf, 0x98, 0x37, 0xbb, 0x41, 0x3c, 0x77, 0x94, 0x18, 0x52, 0xa5, 0x5b, 0x3e,
|
||||
0x0b, 0x28, 0x5d, 0xda, 0xee, 0xc5, 0x9a, 0x8b, 0xd1, 0x56, 0xc3, 0x0e, 0x59, 0x24, 0x16, 0x45,
|
||||
0xeb, 0x62, 0xb4, 0x1d, 0xb7, 0x02, 0x89, 0x8b, 0x51, 0xaf, 0x02, 0x59, 0xde, 0xca, 0x21, 0xd6,
|
||||
0x31, 0xdc, 0xf1, 0x99, 0xb4, 0x59, 0x6f, 0x79, 0x4b, 0xeb, 0x40, 0x24, 0x7f, 0x18, 0x04, 0xdf,
|
||||
0xb5, 0xd1, 0xfa, 0xea, 0x7f, 0x19, 0x25, 0x69, 0x74, 0x96, 0xb2, 0xf0, 0x23, 0x9f, 0x51, 0x0b,
|
||||
0xd5, 0x71, 0xdc, 0xb9, 0x8c, 0x0a, 0xae, 0x74, 0xe4, 0x7a, 0x6b, 0x14, 0x6f, 0xb7, 0xe9, 0x55,
|
||||
0xe9, 0xa8, 0xdf, 0x76, 0x7a, 0xd2, 0xe6, 0x39, 0xc5, 0xfc, 0xdc, 0xec, 0x00, 0x67, 0xfe, 0x0a,
|
||||
0xba, 0x8d, 0x96, 0x78, 0xf3, 0x57, 0x27, 0x0e, 0x8e, 0x85, 0xca, 0x8f, 0x9a, 0x8e, 0xab, 0xd5,
|
||||
0x75, 0xbb, 0xd3, 0x50, 0x73, 0x89, 0xed, 0xf4, 0xa4, 0xc1, 0xeb, 0xaf, 0x83, 0x77, 0xda, 0x5e,
|
||||
0xe1, 0x09, 0x67, 0xb7, 0xd3, 0x14, 0x7a, 0xc1, 0xd9, 0xeb, 0xaf, 0x60, 0xae, 0x52, 0x1e, 0x26,
|
||||
0xa5, 0xe0, 0xc5, 0x6a, 0x3c, 0xe3, 0x17, 0xea, 0x9d, 0xd8, 0xde, 0x26, 0x00, 0x18, 0x36, 0x08,
|
||||
0xe2, 0x2a, 0xc5, 0x4d, 0xb6, 0x5c, 0x99, 0xf7, 0xe4, 0x92, 0x70, 0xd5, 0x20, 0x3a, 0x5c, 0xd9,
|
||||
0xa4, 0xd9, 0x24, 0x55, 0xab, 0xcc, 0xe3, 0xf7, 0x86, 0x3b, 0xd4, 0xf6, 0x03, 0xf8, 0x66, 0x37,
|
||||
0x68, 0x8a, 0x90, 0xc3, 0x24, 0x65, 0x4f, 0x5e, 0xbc, 0x48, 0x79, 0x34, 0x41, 0x45, 0x48, 0x25,
|
||||
0x19, 0x82, 0x88, 0x28, 0x42, 0x10, 0x62, 0x0e, 0x91, 0x4a, 0x50, 0xcd, 0x4e, 0x65, 0xf9, 0x66,
|
||||
0x5b, 0xad, 0x21, 0x26, 0x0e, 0x11, 0x07, 0x66, 0x52, 0xda, 0x4a, 0xf8, 0x2c, 0xaf, 0x8d, 0x5f,
|
||||
0x6f, 0x6b, 0x49, 0x09, 0x91, 0xd2, 0xda, 0x84, 0xc9, 0x94, 0xaa, 0xdf, 0x0f, 0xf8, 0x45, 0x56,
|
||||
0x1b, 0x75, 0x34, 0x54, 0xc9, 0x88, 0x4c, 0x09, 0x33, 0x60, 0xf8, 0x93, 0xe0, 0xff, 0x6b, 0xc3,
|
||||
0x05, 0xcf, 0xc3, 0x35, 0x87, 0x42, 0xd1, 0x78, 0xd5, 0xb8, 0x46, 0xca, 0x4d, 0x0d, 0xf4, 0x38,
|
||||
0x5a, 0x26, 0x53, 0xbd, 0xa9, 0xc8, 0x35, 0x82, 0x6b, 0x20, 0xc3, 0x0c, 0x1b, 0x10, 0x51, 0x03,
|
||||
0x91, 0x30, 0xf8, 0xfc, 0xfb, 0x20, 0xb8, 0x6e, 0x98, 0x07, 0xea, 0xe2, 0xea, 0x28, 0x7b, 0xc1,
|
||||
0xab, 0x82, 0xb0, 0x2a, 0xd2, 0xca, 0xf0, 0x63, 0xca, 0xa4, 0x9b, 0xd7, 0xa1, 0xfc, 0xe0, 0xd2,
|
||||
0x7a, 0x26, 0x4d, 0x52, 0x45, 0xb5, 0xdc, 0x8b, 0x0f, 0x0b, 0x3e, 0x97, 0x1a, 0x28, 0x4d, 0xd2,
|
||||
0xb5, 0x37, 0xe6, 0x88, 0x34, 0xc9, 0xc7, 0x37, 0xce, 0x5a, 0xca, 0x7b, 0x7d, 0xc2, 0xdc, 0xe9,
|
||||
0x67, 0xd1, 0x3a, 0x67, 0xee, 0x5e, 0x4a, 0xc7, 0xbc, 0xca, 0xe9, 0x40, 0x52, 0x9e, 0xe1, 0x17,
|
||||
0x3f, 0x63, 0xa5, 0x12, 0x12, 0xaf, 0x72, 0x2d, 0xc8, 0xec, 0x42, 0x4a, 0x24, 0x4b, 0xa5, 0x51,
|
||||
0x9a, 0xa2, 0x5d, 0x48, 0xab, 0x6a, 0x80, 0xd8, 0x85, 0x9c, 0x20, 0xf8, 0x39, 0x09, 0xde, 0xa8,
|
||||
0x06, 0xf7, 0x69, 0xc1, 0x96, 0x09, 0xc3, 0x6f, 0x47, 0x0d, 0x09, 0xb1, 0x9c, 0x6d, 0xc2, 0x3c,
|
||||
0xe2, 0x3e, 0xcb, 0xca, 0x3c, 0x8d, 0xca, 0x19, 0xbc, 0x5d, 0xd8, 0x6d, 0x56, 0x42, 0xfc, 0x7a,
|
||||
0x71, 0xb3, 0x83, 0x32, 0xe5, 0x8f, 0x92, 0xe9, 0x1d, 0x63, 0xdd, 0xad, 0xda, 0xda, 0x35, 0x36,
|
||||
0x3a, 0x39, 0xb3, 0x3b, 0xdf, 0x4b, 0x79, 0x7c, 0x0e, 0xdb, 0x9c, 0xdd, 0xea, 0x5a, 0x82, 0xf7,
|
||||
0xb9, 0x1b, 0x3e, 0xc4, 0x6c, 0x74, 0xb5, 0xe0, 0x84, 0xe5, 0x69, 0x14, 0xe3, 0x57, 0x35, 0xa9,
|
||||
0x03, 0x32, 0x62, 0xa3, 0xc3, 0x0c, 0x0a, 0x17, 0x5e, 0xeb, 0x5c, 0xe1, 0xa2, 0xc7, 0xba, 0x1b,
|
||||
0x3e, 0xc4, 0x6c, 0xf5, 0xb5, 0x60, 0x9c, 0xa7, 0x89, 0x40, 0x73, 0x43, 0x6a, 0xd4, 0x12, 0x62,
|
||||
0x6e, 0xd8, 0x04, 0x32, 0x79, 0xcc, 0x8a, 0x29, 0x73, 0x9a, 0xac, 0x25, 0x5e, 0x93, 0x8a, 0x00,
|
||||
0x93, 0x8f, 0x83, 0xaf, 0xc8, 0xb6, 0xf3, 0x7c, 0x15, 0x5e, 0x73, 0x35, 0x8b, 0xe7, 0x2b, 0x6d,
|
||||
0xf0, 0x3a, 0x0d, 0xa0, 0x10, 0x9f, 0x46, 0xa5, 0x70, 0x87, 0x58, 0x4b, 0xbc, 0x21, 0x2a, 0xc2,
|
||||
0x9c, 0x43, 0x32, 0xc4, 0x85, 0x40, 0xe7, 0x10, 0x04, 0xd0, 0x78, 0x4c, 0xb8, 0x46, 0xca, 0xcd,
|
||||
0xf2, 0x92, 0xa3, 0xc2, 0xc4, 0x61, 0xc2, 0xd2, 0x49, 0x89, 0x96, 0x17, 0xf4, 0xbb, 0x92, 0x12,
|
||||
0xcb, 0xab, 0x4d, 0xa1, 0xa9, 0x04, 0x37, 0x3d, 0xae, 0xd6, 0xa1, 0x4b, 0x9e, 0x1b, 0x3e, 0xc4,
|
||||
0xe4, 0x25, 0xb5, 0xa0, 0x71, 0x71, 0xee, 0x8a, 0xc7, 0x71, 0x6f, 0xbe, 0xde, 0x85, 0x81, 0x87,
|
||||
0xbf, 0x0c, 0x82, 0xf7, 0xb4, 0x8b, 0x63, 0xbe, 0x64, 0xa7, 0xfc, 0xfe, 0xcb, 0xfa, 0xf9, 0x6f,
|
||||
0x0a, 0x47, 0xd3, 0x5d, 0xc2, 0x92, 0x0b, 0xd6, 0xee, 0xbf, 0x77, 0x39, 0x25, 0x73, 0x42, 0xa2,
|
||||
0x58, 0x1e, 0xb3, 0x0b, 0xe7, 0x09, 0x89, 0x2d, 0x6a, 0x8e, 0x38, 0x21, 0x7d, 0xbc, 0xa9, 0x86,
|
||||
0xb5, 0x73, 0xf8, 0x58, 0xef, 0x94, 0xab, 0x64, 0x85, 0xb2, 0x86, 0x41, 0xa2, 0x2e, 0xf0, 0x2a,
|
||||
0x98, 0x64, 0x5d, 0xfb, 0x37, 0x93, 0x74, 0x93, 0xb0, 0xd3, 0x9e, 0xa8, 0x5b, 0x3d, 0x48, 0x87,
|
||||
0x2b, 0xf3, 0xfa, 0x43, 0xb9, 0x6a, 0x3f, 0xfe, 0x6c, 0xf5, 0x20, 0x1b, 0x95, 0x75, 0xb3, 0x59,
|
||||
0xf7, 0xa2, 0xf8, 0x7c, 0x5a, 0xf0, 0x45, 0x36, 0xd9, 0xe7, 0x29, 0x2f, 0x50, 0x65, 0x6d, 0x45,
|
||||
0x8d, 0x50, 0xa2, 0xb2, 0xee, 0x50, 0x31, 0x89, 0x41, 0x33, 0x8a, 0x51, 0x9a, 0x4c, 0x71, 0x79,
|
||||
0x62, 0x19, 0xaa, 0x01, 0x22, 0x31, 0x70, 0x82, 0x8e, 0x49, 0x24, 0xcb, 0x17, 0x91, 0xc4, 0x51,
|
||||
0x2a, 0xfd, 0xed, 0xd2, 0x66, 0x2c, 0xb0, 0x73, 0x12, 0x39, 0x14, 0x1c, 0xed, 0x3c, 0x5d, 0x14,
|
||||
0xd9, 0x51, 0x26, 0x38, 0xd9, 0x4e, 0x05, 0x74, 0xb6, 0xb3, 0x01, 0x9a, 0x6c, 0xa2, 0x16, 0x9f,
|
||||
0xb2, 0x97, 0x55, 0x34, 0xd5, 0x7f, 0x42, 0xc7, 0x96, 0x53, 0xfd, 0x3e, 0x04, 0x39, 0x91, 0x4d,
|
||||
0xb8, 0x38, 0xd4, 0x18, 0x70, 0x22, 0x27, 0x8c, 0x47, 0xdb, 0x9e, 0x26, 0x9b, 0xdd, 0xa0, 0xdb,
|
||||
0xcf, 0x58, 0xac, 0x52, 0xe6, 0xf3, 0x53, 0x03, 0x7d, 0xfc, 0x28, 0xd0, 0xdc, 0xd6, 0x5b, 0xed,
|
||||
0x99, 0xb1, 0xf8, 0xbc, 0xf5, 0xc6, 0x6b, 0x07, 0x2a, 0x11, 0xe2, 0xb6, 0x9e, 0x40, 0xdd, 0x43,
|
||||
0x74, 0x14, 0xf3, 0xcc, 0x37, 0x44, 0x95, 0xbc, 0xcf, 0x10, 0x01, 0x67, 0xaa, 0x3b, 0x2d, 0x85,
|
||||
0x99, 0x29, 0x87, 0x69, 0x9b, 0xb0, 0xd0, 0x84, 0x88, 0xea, 0x8e, 0x84, 0xcd, 0x3d, 0x29, 0xf6,
|
||||
0x79, 0xdc, 0xfe, 0x16, 0xaa, 0x65, 0xe5, 0x98, 0xfe, 0x16, 0x8a, 0x62, 0xe9, 0x46, 0xca, 0x39,
|
||||
0xd2, 0x61, 0xc5, 0x9e, 0x27, 0xb7, 0xfb, 0xc1, 0xe6, 0x51, 0xd9, 0xf2, 0xb9, 0x9f, 0xb2, 0xa8,
|
||||
0x90, 0x5e, 0x77, 0x3c, 0x86, 0x0c, 0x46, 0x5c, 0xca, 0x79, 0x70, 0xb4, 0x85, 0x59, 0x9e, 0xf7,
|
||||
0x79, 0x26, 0x58, 0x26, 0x5c, 0x5b, 0x98, 0x6d, 0x0c, 0x40, 0xdf, 0x16, 0x46, 0x29, 0xa0, 0x79,
|
||||
0x7b, 0x98, 0xa4, 0x6c, 0xcc, 0xc4, 0xe3, 0x68, 0xce, 0x5c, 0xf3, 0xb6, 0xbe, 0x6a, 0x00, 0xb9,
|
||||
0x6f, 0xde, 0x22, 0x0e, 0x2d, 0xf9, 0xa3, 0x79, 0x34, 0xd5, 0x5e, 0x1c, 0xda, 0xb5, 0xbc, 0xe5,
|
||||
0x66, 0xb3, 0x1b, 0x44, 0x7e, 0x3e, 0x4d, 0x26, 0x8c, 0x7b, 0xfc, 0xd4, 0xf2, 0x3e, 0x7e, 0x30,
|
||||
0x88, 0x32, 0xa7, 0xaa, 0xb5, 0xb2, 0x1e, 0x19, 0x65, 0x13, 0xa8, 0xc2, 0x86, 0x44, 0xa7, 0x20,
|
||||
0xce, 0x97, 0x39, 0x11, 0x3c, 0x5a, 0x1f, 0xea, 0x0a, 0xcd, 0xb7, 0x3e, 0xf4, 0x0d, 0x59, 0x9f,
|
||||
0xf5, 0xe1, 0x82, 0xc1, 0xe7, 0x2f, 0x61, 0x7d, 0x1c, 0x44, 0x22, 0xaa, 0xea, 0xe8, 0x4f, 0x13,
|
||||
0x76, 0x01, 0x65, 0x9c, 0xa3, 0xbd, 0x8a, 0x1a, 0x56, 0x18, 0xae, 0xe9, 0x76, 0x7b, 0xf3, 0x1e,
|
||||
0xdf, 0x90, 0x9d, 0x77, 0xfa, 0x46, 0x69, 0xfa, 0x6e, 0x6f, 0xde, 0xe3, 0x1b, 0xbe, 0xe7, 0xed,
|
||||
0xf4, 0x8d, 0x3e, 0xea, 0xdd, 0xed, 0xcd, 0x83, 0xef, 0xdf, 0x0f, 0x82, 0xab, 0x2d, 0xe7, 0x55,
|
||||
0x0e, 0x14, 0x8b, 0x64, 0xc9, 0x5c, 0xa9, 0x9c, 0x6d, 0x4f, 0xa3, 0xbe, 0x54, 0x8e, 0x56, 0x81,
|
||||
0x28, 0xfe, 0x3c, 0x08, 0xde, 0x75, 0x45, 0xf1, 0x94, 0x97, 0x49, 0xfd, 0xe4, 0x78, 0xb7, 0x87,
|
||||
0x51, 0x05, 0xfb, 0x0a, 0x16, 0x9f, 0x92, 0x79, 0xb0, 0xb1, 0xd0, 0x6a, 0x9e, 0xf2, 0x45, 0x11,
|
||||
0xe3, 0x07, 0x1b, 0xdb, 0x9e, 0xa6, 0x88, 0x17, 0x0c, 0x9a, 0x36, 0x2f, 0x18, 0x16, 0xd3, 0x7c,
|
||||
0x3a, 0xf1, 0x8d, 0xaa, 0xf3, 0xf5, 0x64, 0xaf, 0xbf, 0x02, 0xb8, 0xff, 0xa3, 0xca, 0xe9, 0xb1,
|
||||
0x7f, 0x58, 0x04, 0x77, 0xfa, 0x58, 0x44, 0x0b, 0xe1, 0xee, 0xa5, 0x74, 0x20, 0x90, 0x7f, 0x0c,
|
||||
0x82, 0x1b, 0xce, 0x40, 0xec, 0xd7, 0xbb, 0x1f, 0xf6, 0xb1, 0xed, 0x7e, 0xc5, 0xfb, 0xd1, 0xff,
|
||||
0xa2, 0x0a, 0xd1, 0x7d, 0xae, 0x4a, 0x6b, 0xa5, 0xf1, 0xa0, 0xe0, 0x8b, 0xfc, 0x49, 0x31, 0x61,
|
||||
0x05, 0xac, 0x58, 0xdf, 0xa4, 0x33, 0x30, 0x5e, 0xb7, 0xdf, 0xbf, 0xa4, 0x16, 0x84, 0xf3, 0xd7,
|
||||
0x41, 0xb0, 0x66, 0xc1, 0xf0, 0x69, 0x52, 0x23, 0x1e, 0x9f, 0xe5, 0x06, 0x8d, 0x03, 0xfa, 0xf8,
|
||||
0xb2, 0x6a, 0x38, 0x43, 0xad, 0xfa, 0x0d, 0x36, 0x6f, 0x57, 0x86, 0x5a, 0x77, 0x2b, 0xda, 0xb4,
|
||||
0x37, 0x3a, 0x39, 0x97, 0x93, 0xfb, 0x2f, 0xf3, 0x28, 0x9b, 0xd0, 0x4e, 0xa4, 0xbc, 0xdb, 0x89,
|
||||
0xe6, 0x70, 0x66, 0x5f, 0x49, 0x4f, 0xb8, 0x3a, 0x89, 0xb6, 0x28, 0x7d, 0x8d, 0x78, 0x33, 0xfb,
|
||||
0x16, 0x4a, 0x78, 0x83, 0x65, 0xe7, 0xf3, 0x86, 0x56, 0xdb, 0xad, 0x3e, 0x28, 0xda, 0xe3, 0xb4,
|
||||
0x37, 0x7d, 0x61, 0x70, 0xdb, 0x67, 0xa5, 0x75, 0x69, 0xb0, 0xd3, 0x93, 0x26, 0xdc, 0x8e, 0x99,
|
||||
0x78, 0xc8, 0xa2, 0x09, 0x2b, 0xbc, 0x6e, 0x35, 0xd5, 0xcb, 0x6d, 0x93, 0x76, 0xb9, 0xdd, 0xe7,
|
||||
0xe9, 0x62, 0x9e, 0xc1, 0x60, 0x92, 0x6e, 0x9b, 0x54, 0xb7, 0x5b, 0x44, 0xe3, 0x9a, 0xc6, 0xb8,
|
||||
0xad, 0xff, 0x02, 0xe8, 0x96, 0xdf, 0x8c, 0xf5, 0xa7, 0x40, 0xdb, 0xbd, 0x58, 0xba, 0x9d, 0x30,
|
||||
0x8d, 0x3a, 0xda, 0x89, 0x66, 0xd2, 0x4e, 0x4f, 0x1a, 0x17, 0x17, 0x0d, 0xb7, 0x7a, 0x3e, 0xed,
|
||||
0x76, 0xd8, 0x6a, 0x4d, 0xa9, 0xbd, 0xfe, 0x0a, 0xb8, 0x94, 0x83, 0x59, 0x55, 0x6d, 0xdd, 0x87,
|
||||
0x49, 0x9a, 0x86, 0xdb, 0x9e, 0x69, 0xa2, 0x20, 0x6f, 0x29, 0xe7, 0x80, 0x89, 0x99, 0xac, 0x4a,
|
||||
0x9f, 0x2c, 0xec, 0xb2, 0x53, 0x53, 0xbd, 0x66, 0x72, 0x93, 0x46, 0x25, 0x41, 0xa3, 0xab, 0x75,
|
||||
0x6b, 0x87, 0xfe, 0x8e, 0x6b, 0x35, 0x78, 0xb7, 0x37, 0x8f, 0x6e, 0xdb, 0x6b, 0x6a, 0xcc, 0x0b,
|
||||
0xe1, 0xba, 0x6d, 0x97, 0x26, 0xc6, 0xcd, 0x4b, 0xf1, 0x9b, 0x1d, 0x54, 0xeb, 0x9a, 0x2d, 0x83,
|
||||
0xc7, 0x1b, 0xf3, 0xa1, 0xaf, 0x6b, 0x1a, 0xd5, 0x9f, 0xe5, 0x62, 0xd0, 0x37, 0x8d, 0x28, 0x85,
|
||||
0xc6, 0x57, 0x77, 0x9a, 0x53, 0x37, 0x81, 0x79, 0xce, 0xa2, 0x22, 0xca, 0x62, 0xfc, 0x87, 0xc0,
|
||||
0xc6, 0x60, 0x8b, 0x24, 0xbe, 0xba, 0xf3, 0x6b, 0xa0, 0x4b, 0x5c, 0xfb, 0xd3, 0x4f, 0x47, 0xc9,
|
||||
0xa8, 0xbf, 0xb1, 0xb4, 0xbf, 0xfc, 0xdc, 0xea, 0x41, 0xe2, 0x4b, 0x5c, 0x05, 0xe8, 0x52, 0x50,
|
||||
0x3a, 0xfd, 0xc8, 0x63, 0xca, 0x46, 0x7d, 0x99, 0x3f, 0xad, 0x82, 0xce, 0x3d, 0xf3, 0xc7, 0x4a,
|
||||
0xe2, 0x13, 0xb6, 0x72, 0x9d, 0x7b, 0x3a, 0x35, 0x93, 0x88, 0xef, 0xdc, 0x6b, 0xa3, 0x28, 0x71,
|
||||
0x68, 0x26, 0xd7, 0xeb, 0x1e, 0xfd, 0x66, 0x4e, 0xbd, 0xd1, 0xc9, 0xa1, 0x7d, 0xff, 0x20, 0x59,
|
||||
0x5a, 0x95, 0xb3, 0x23, 0xd0, 0x83, 0x64, 0xe9, 0x2e, 0x9c, 0xb7, 0x7b, 0xb1, 0xf8, 0x82, 0x38,
|
||||
0x12, 0xec, 0xa5, 0xba, 0xb9, 0x75, 0x84, 0x5b, 0xcb, 0x5b, 0x57, 0xb7, 0x9b, 0xdd, 0xa0, 0x79,
|
||||
0xe5, 0x7f, 0x5a, 0xf0, 0x98, 0x95, 0xe5, 0x7e, 0x35, 0x6d, 0x53, 0xf4, 0xca, 0x0f, 0xb2, 0xa1,
|
||||
0x14, 0x12, 0xaf, 0xfc, 0x2d, 0x08, 0x6c, 0x3f, 0x0c, 0x5e, 0x7f, 0xc4, 0xa7, 0x63, 0x96, 0x4d,
|
||||
0xc2, 0xf7, 0xec, 0x77, 0x75, 0x3e, 0x1d, 0x56, 0x3f, 0x6b, 0x7b, 0x6b, 0x94, 0xd8, 0x3c, 0x82,
|
||||
0x1e, 0xb0, 0xb3, 0xc5, 0x74, 0xbc, 0xca, 0x62, 0xf4, 0x08, 0x5a, 0xff, 0x3e, 0xac, 0x04, 0xc4,
|
||||
0x23, 0xa8, 0x05, 0x98, 0x57, 0xc0, 0xfa, 0xe7, 0xd3, 0x59, 0xc1, 0x5a, 0xef, 0xdf, 0x52, 0x41,
|
||||
0x8a, 0x88, 0x57, 0x40, 0x84, 0xa0, 0x28, 0x4f, 0x0b, 0xc6, 0x9c, 0x51, 0x56, 0x02, 0x6f, 0x94,
|
||||
0x00, 0x98, 0x43, 0xb0, 0xfe, 0x59, 0xbe, 0x36, 0x3e, 0xe2, 0x71, 0x94, 0x96, 0x82, 0x17, 0xf8,
|
||||
0xbe, 0x46, 0xaa, 0x62, 0x88, 0x38, 0x04, 0x49, 0x18, 0xb5, 0xe1, 0x69, 0x92, 0x4d, 0x9d, 0x6d,
|
||||
0xa8, 0x04, 0xde, 0x36, 0x00, 0x60, 0x16, 0xce, 0x31, 0x13, 0x45, 0x12, 0x97, 0x55, 0x61, 0x1e,
|
||||
0x15, 0xd1, 0x9c, 0x09, 0x56, 0xe0, 0x3f, 0x73, 0x00, 0x64, 0x68, 0x31, 0xc4, 0xc2, 0xa1, 0x58,
|
||||
0x70, 0xf8, 0xe3, 0xe0, 0xed, 0x6a, 0x45, 0xb1, 0x0c, 0xfe, 0xbd, 0x8b, 0xfb, 0xf5, 0x3f, 0x05,
|
||||
0x13, 0x5e, 0xd1, 0x36, 0xc6, 0xa2, 0x60, 0xd1, 0x5c, 0xd9, 0x7e, 0x4b, 0xff, 0x5e, 0x83, 0x7b,
|
||||
0x83, 0x7b, 0xef, 0xff, 0xeb, 0xcb, 0xb5, 0xc1, 0x17, 0x5f, 0xae, 0x0d, 0xfe, 0xf3, 0xe5, 0xda,
|
||||
0xe0, 0x6f, 0xaf, 0xd6, 0x5e, 0xfb, 0xe2, 0xd5, 0xda, 0x6b, 0xff, 0x7e, 0xb5, 0xf6, 0xda, 0x67,
|
||||
0xaf, 0xc3, 0x3f, 0x49, 0x73, 0xf6, 0x7f, 0xf5, 0x3f, 0x2c, 0x73, 0xf7, 0xbf, 0x01, 0x00, 0x00,
|
||||
0xff, 0xff, 0xdc, 0x53, 0x3d, 0x0a, 0xb6, 0x46, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
|
@ -249,6 +252,8 @@ type ClientCommandsHandler interface {
|
|||
// Workspace
|
||||
// ***
|
||||
WorkspaceCreate(context.Context, *pb.RpcWorkspaceCreateRequest) *pb.RpcWorkspaceCreateResponse
|
||||
WorkspaceObjectListAdd(context.Context, *pb.RpcWorkspaceObjectListAddRequest) *pb.RpcWorkspaceObjectListAddResponse
|
||||
WorkspaceObjectListRemove(context.Context, *pb.RpcWorkspaceObjectListRemoveRequest) *pb.RpcWorkspaceObjectListRemoveResponse
|
||||
WorkspaceSelect(context.Context, *pb.RpcWorkspaceSelectRequest) *pb.RpcWorkspaceSelectResponse
|
||||
WorkspaceGetCurrent(context.Context, *pb.RpcWorkspaceGetCurrentRequest) *pb.RpcWorkspaceGetCurrentResponse
|
||||
WorkspaceGetAll(context.Context, *pb.RpcWorkspaceGetAllRequest) *pb.RpcWorkspaceGetAllResponse
|
||||
|
@ -622,6 +627,46 @@ func WorkspaceCreate(b []byte) (resp []byte) {
|
|||
return resp
|
||||
}
|
||||
|
||||
func WorkspaceObjectListAdd(b []byte) (resp []byte) {
|
||||
defer func() {
|
||||
if PanicHandler != nil {
|
||||
if r := recover(); r != nil {
|
||||
resp, _ = (&pb.RpcWorkspaceObjectListAddResponse{Error: &pb.RpcWorkspaceObjectListAddResponseError{Code: pb.RpcWorkspaceObjectListAddResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
|
||||
PanicHandler(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
in := new(pb.RpcWorkspaceObjectListAddRequest)
|
||||
if err := in.Unmarshal(b); err != nil {
|
||||
resp, _ = (&pb.RpcWorkspaceObjectListAddResponse{Error: &pb.RpcWorkspaceObjectListAddResponseError{Code: pb.RpcWorkspaceObjectListAddResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
resp, _ = clientCommandsHandler.WorkspaceObjectListAdd(context.Background(), in).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
func WorkspaceObjectListRemove(b []byte) (resp []byte) {
|
||||
defer func() {
|
||||
if PanicHandler != nil {
|
||||
if r := recover(); r != nil {
|
||||
resp, _ = (&pb.RpcWorkspaceObjectListRemoveResponse{Error: &pb.RpcWorkspaceObjectListRemoveResponseError{Code: pb.RpcWorkspaceObjectListRemoveResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
|
||||
PanicHandler(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
in := new(pb.RpcWorkspaceObjectListRemoveRequest)
|
||||
if err := in.Unmarshal(b); err != nil {
|
||||
resp, _ = (&pb.RpcWorkspaceObjectListRemoveResponse{Error: &pb.RpcWorkspaceObjectListRemoveResponseError{Code: pb.RpcWorkspaceObjectListRemoveResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
resp, _ = clientCommandsHandler.WorkspaceObjectListRemove(context.Background(), in).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
func WorkspaceSelect(b []byte) (resp []byte) {
|
||||
defer func() {
|
||||
if PanicHandler != nil {
|
||||
|
@ -3746,6 +3791,10 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) {
|
|||
cd = WalletCloseSession(data)
|
||||
case "WorkspaceCreate":
|
||||
cd = WorkspaceCreate(data)
|
||||
case "WorkspaceObjectListAdd":
|
||||
cd = WorkspaceObjectListAdd(data)
|
||||
case "WorkspaceObjectListRemove":
|
||||
cd = WorkspaceObjectListRemove(data)
|
||||
case "WorkspaceSelect":
|
||||
cd = WorkspaceSelect(data)
|
||||
case "WorkspaceGetCurrent":
|
||||
|
|
|
@ -6,8 +6,6 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/globalsign/mgo/bson"
|
||||
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/table"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/session"
|
||||
|
||||
|
@ -556,7 +554,7 @@ func (s *service) UploadFileBlockWithHash(ctx *session.Context, contextId string
|
|||
hash = res.Hash
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
return hash, err
|
||||
}
|
||||
|
||||
|
@ -745,7 +743,8 @@ func (s *service) DeleteObjectFromWorkspace(workspaceId string, objectId string)
|
|||
return fmt.Errorf("incorrect object with workspace id")
|
||||
}
|
||||
|
||||
if bson.IsObjectIdHex(objectId) {
|
||||
st, _ := coresb.SmartBlockTypeFromID(objectId)
|
||||
if st == coresb.SmartBlockTypeSubObject {
|
||||
return workspace.DeleteSubObject(objectId)
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,9 @@ const (
|
|||
type key int
|
||||
|
||||
const (
|
||||
collectionRelations = "rel"
|
||||
collectionRelations = "rel"
|
||||
collectionObjectType = "ot"
|
||||
|
||||
collectionRelationOptions = "opt"
|
||||
)
|
||||
const CallerKey key = 0
|
||||
|
@ -1400,7 +1402,7 @@ func SubState(st *state.State, collection string, fullId string) (*state.State,
|
|||
if collection == source.WorkspaceCollection {
|
||||
return nil, fmt.Errorf("substate not supported")
|
||||
}
|
||||
subId := strings.TrimPrefix(fullId, collection+addr.VirtualObjectSeparator)
|
||||
subId := strings.TrimPrefix(fullId, collection+addr.SubObjectCollectionIdSeparator)
|
||||
data := pbtypes.GetStruct(st.GetCollection(collection), subId)
|
||||
if data == nil || data.Fields == nil {
|
||||
return nil, fmt.Errorf("no data for subId %s: %v", collection, subId)
|
||||
|
@ -1444,6 +1446,39 @@ func SubState(st *state.State, collection string, fullId string) (*state.State,
|
|||
template.WithDefaultFeaturedRelations(subst)
|
||||
template.WithDataview(dataview, false)(subst)
|
||||
|
||||
} else if collection == collectionObjectType {
|
||||
relKey := pbtypes.GetString(data, bundle.RelationKeyRelationKey.String())
|
||||
dataview := model.BlockContentOfDataview{
|
||||
Dataview: &model.BlockContentDataview{
|
||||
Source: []string{fullId},
|
||||
Views: []*model.BlockContentDataviewView{
|
||||
{
|
||||
Id: uuid.New().String(),
|
||||
Type: model.BlockContentDataviewView_Table,
|
||||
Name: "All",
|
||||
Sorts: []*model.BlockContentDataviewSort{
|
||||
{
|
||||
RelationKey: relKey,
|
||||
Type: model.BlockContentDataviewSort_Asc,
|
||||
},
|
||||
},
|
||||
Relations: []*model.BlockContentDataviewRelation{{
|
||||
Key: bundle.RelationKeyName.String(),
|
||||
IsVisible: true,
|
||||
},
|
||||
},
|
||||
Filters: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
template.WithAllBlocksEditsRestricted(subst)
|
||||
template.WithForcedDetail(bundle.RelationKeyLayout, pbtypes.Int64(int64(model.ObjectType_objectType)))(subst)
|
||||
template.WithTitle(subst)
|
||||
template.WithDescription(subst)
|
||||
template.WithDefaultFeaturedRelations(subst)
|
||||
template.WithDataview(dataview, false)(subst)
|
||||
|
||||
} else if collection == collectionRelationOptions {
|
||||
dataview := model.BlockContentOfDataview{
|
||||
Dataview: &model.BlockContentDataview{
|
||||
|
|
|
@ -54,8 +54,8 @@ func NewDocFromSnapshot(rootId string, snapshot *pb.ChangeSnapshot) Doc {
|
|||
store: snapshot.Data.Collections,
|
||||
}
|
||||
|
||||
// migrate old relations from dataview block
|
||||
// do not consider other possible dataview blocks
|
||||
s.objectTypes, s.objectTypesToMigrate = relationutils.MigrateObjectTypeIds(s.objectTypes)
|
||||
|
||||
s.InjectDerivedDetails()
|
||||
return s
|
||||
}
|
||||
|
@ -309,6 +309,12 @@ func (s *State) changeObjectTypeAdd(add *pb.ChangeObjectTypeAdd) error {
|
|||
return nil
|
||||
}
|
||||
}
|
||||
// in-place migration for bundled object types moved into workspace
|
||||
url, migrated := relationutils.MigrateObjectTypeId(add.Url)
|
||||
if migrated {
|
||||
s.SetObjectTypesToMigrate(append(s.ObjectTypesToMigrate(), add.Url))
|
||||
add.Url = url
|
||||
}
|
||||
objectTypes := append(s.ObjectTypes(), add.Url)
|
||||
s.SetObjectTypes(objectTypes)
|
||||
// Set only the first(0) object type to the detail
|
||||
|
@ -319,6 +325,20 @@ func (s *State) changeObjectTypeAdd(add *pb.ChangeObjectTypeAdd) error {
|
|||
|
||||
func (s *State) changeObjectTypeRemove(remove *pb.ChangeObjectTypeRemove) error {
|
||||
var found bool
|
||||
// in-place migration for bundled object types moved into workspace
|
||||
url, migrated := relationutils.MigrateObjectTypeId(remove.Url)
|
||||
if migrated {
|
||||
// todo: should we also migrate all the object types from the history of object?
|
||||
s.objectTypesToMigrate = slice.Filter(s.ObjectTypesToMigrate(), func(s string) bool {
|
||||
if s == remove.Url {
|
||||
found = true
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
remove.Url = url
|
||||
}
|
||||
|
||||
s.objectTypes = slice.Filter(s.ObjectTypes(), func(s string) bool {
|
||||
if s == remove.Url {
|
||||
found = true
|
||||
|
|
|
@ -89,8 +89,9 @@ type State struct {
|
|||
extraRelations []*model.Relation
|
||||
aggregatedOptionsByRelation map[string][]*model.RelationOption
|
||||
|
||||
store *types.Struct
|
||||
objectTypes []string
|
||||
store *types.Struct
|
||||
objectTypes []string
|
||||
objectTypesToMigrate []string
|
||||
|
||||
changesStructureIgnoreIds []string
|
||||
|
||||
|
@ -669,6 +670,9 @@ func (s *State) intermediateApply() {
|
|||
if s.objectTypes != nil {
|
||||
s.parent.objectTypes = s.objectTypes
|
||||
}
|
||||
if s.objectTypesToMigrate != nil {
|
||||
s.parent.objectTypesToMigrate = s.objectTypesToMigrate
|
||||
}
|
||||
if s.store != nil {
|
||||
s.parent.store = s.store
|
||||
}
|
||||
|
@ -847,6 +851,11 @@ func (s *State) SetObjectTypes(objectTypes []string) *State {
|
|||
return s
|
||||
}
|
||||
|
||||
func (s *State) SetObjectTypesToMigrate(objectTypes []string) *State {
|
||||
s.objectTypesToMigrate = objectTypes
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *State) InjectDerivedDetails() {
|
||||
|
||||
if objTypes := s.ObjectTypes(); len(objTypes) > 0 && objTypes[0] == bundle.TypeKeySet.URL() {
|
||||
|
@ -888,7 +897,7 @@ func ListSmartblockTypes(objectId string) ([]int, error) {
|
|||
res = append(res, int(t))
|
||||
}
|
||||
return res, nil
|
||||
} else if !strings.HasPrefix(objectId, "b") {
|
||||
} else if strings.HasPrefix(objectId, addr.ObjectTypeKeyToIdPrefix) && !strings.HasPrefix(objectId, "b") {
|
||||
return nil, fmt.Errorf("incorrect object type URL format")
|
||||
}
|
||||
|
||||
|
@ -959,6 +968,13 @@ func (s *State) ObjectTypes() []string {
|
|||
return s.objectTypes
|
||||
}
|
||||
|
||||
func (s *State) ObjectTypesToMigrate() []string {
|
||||
if s.objectTypes == nil && s.parent != nil {
|
||||
return s.parent.ObjectTypesToMigrate()
|
||||
}
|
||||
return s.objectTypesToMigrate
|
||||
}
|
||||
|
||||
// ObjectType returns only the first objectType and produce warning in case the state has more than 1 object type
|
||||
// this method is useful because we have decided that currently objects can have only one object type, while preserving the ability to unlock this later
|
||||
func (s *State) ObjectType() string {
|
||||
|
@ -1150,6 +1166,9 @@ func (s *State) Copy() *State {
|
|||
objTypes := make([]string, len(s.ObjectTypes()))
|
||||
copy(objTypes, s.ObjectTypes())
|
||||
|
||||
objTypesToMigrate := make([]string, len(s.ObjectTypesToMigrate()))
|
||||
copy(objTypesToMigrate, s.ObjectTypesToMigrate())
|
||||
|
||||
agOptsCopy := make(map[string][]*model.RelationOption, len(s.AggregatedOptionsByRelation()))
|
||||
for k, v := range s.AggregatedOptionsByRelation() {
|
||||
agOptsCopy[k] = pbtypes.CopyRelationOptions(v)
|
||||
|
@ -1171,6 +1190,7 @@ func (s *State) Copy() *State {
|
|||
extraRelations: pbtypes.CopyRelations(s.OldExtraRelations()),
|
||||
aggregatedOptionsByRelation: agOptsCopy,
|
||||
objectTypes: objTypes,
|
||||
objectTypesToMigrate: objTypesToMigrate,
|
||||
noObjectType: s.noObjectType,
|
||||
store: pbtypes.CopyStruct(s.Store()),
|
||||
}
|
||||
|
|
|
@ -1,128 +1,33 @@
|
|||
package editor
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/basic"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/clipboard"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/dataview"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/smartblock"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/state"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/template"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/source"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/pbtypes"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/stext"
|
||||
"github.com/gogo/protobuf/types"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrSubObjectNotFound = errors.New("sub object not found")
|
||||
ErrCollectionNotFound = errors.New("collection not found")
|
||||
ErrSubObjectAlreadyExists = fmt.Errorf("subobject already exists in the collection")
|
||||
)
|
||||
|
||||
const defaultCollectionName = "opt"
|
||||
|
||||
// todo: extract collection of subobjects into a separate smartblock impl
|
||||
|
||||
func getCollectionAndKeyFromId(id string) (collection, key string) {
|
||||
parts := strings.Split(id, addr.VirtualObjectSeparator)
|
||||
if len(parts) == 1 {
|
||||
collection = defaultCollectionName
|
||||
key = parts[0]
|
||||
} else {
|
||||
collection = parts[0]
|
||||
key = parts[1]
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) Open(subId string) (sb smartblock.SmartBlock, err error) {
|
||||
w.Lock()
|
||||
defer w.Unlock()
|
||||
|
||||
collection, key := getCollectionAndKeyFromId(subId)
|
||||
if coll, exists := w.collections[collection]; exists {
|
||||
if sub, exists := coll[key]; exists {
|
||||
return sub, nil
|
||||
} else {
|
||||
return nil, ErrSubObjectNotFound
|
||||
}
|
||||
}
|
||||
|
||||
return nil, ErrCollectionNotFound
|
||||
}
|
||||
|
||||
func (w *Workspaces) Locked() bool {
|
||||
w.Lock()
|
||||
defer w.Unlock()
|
||||
if w.IsLocked() {
|
||||
return true
|
||||
}
|
||||
for _, coll := range w.collections {
|
||||
for _, sub := range coll {
|
||||
if sub.IsLocked() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (w *Workspaces) updateSubObject(info smartblock.ApplyInfo) (err error) {
|
||||
if len(info.Changes) == 0 {
|
||||
return nil
|
||||
}
|
||||
st := w.NewState()
|
||||
for _, ch := range info.Changes {
|
||||
if keySet := ch.GetStoreKeySet(); keySet != nil {
|
||||
if len(keySet.Path) >= 2 {
|
||||
if coll, ok := w.collections[keySet.Path[0]]; ok {
|
||||
if opt, ok := coll[keySet.Path[1]]; ok {
|
||||
if e := opt.SetStruct(pbtypes.GetStruct(w.NewState().GetCollection(keySet.Path[0]), keySet.Path[1])); e != nil {
|
||||
log.With("threadId", w.Id()).Errorf("options: can't set struct: %v", e)
|
||||
}
|
||||
} else {
|
||||
if err = w.initSubObject(st, keySet.Path[0], keySet.Path[1]); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) onSubObjectChange(collection, subId string) func(p source.PushChangeParams) (string, error) {
|
||||
return func(p source.PushChangeParams) (string, error) {
|
||||
st := w.NewState()
|
||||
|
||||
coll, exists := w.collections[collection]
|
||||
if !exists {
|
||||
return "", fmt.Errorf("collection not found")
|
||||
}
|
||||
|
||||
if _, ok := coll[subId]; !ok {
|
||||
return "", fmt.Errorf("onSubObjectChange: subObject '%s' not exists in collection '%s'", subId, collection)
|
||||
}
|
||||
changed := st.SetInStore([]string{collection, subId}, pbtypes.Struct(p.State.CombinedDetails()))
|
||||
if !changed {
|
||||
return "", nil
|
||||
}
|
||||
return "", w.Apply(st, smartblock.NoHooks)
|
||||
}
|
||||
}
|
||||
|
||||
func NewSubObject() *SubObject {
|
||||
sb := smartblock.New()
|
||||
return &SubObject{
|
||||
Set: NewSet(),
|
||||
SmartBlock: sb,
|
||||
Basic: basic.NewBasic(sb),
|
||||
IHistory: basic.NewHistory(sb),
|
||||
Text: stext.NewText(sb),
|
||||
Clipboard: clipboard.NewClipboard(sb, nil),
|
||||
Dataview: dataview.NewDataview(sb),
|
||||
}
|
||||
}
|
||||
|
||||
type SubObject struct {
|
||||
*Set
|
||||
smartblock.SmartBlock
|
||||
basic.Basic
|
||||
basic.IHistory
|
||||
stext.Text
|
||||
clipboard.Clipboard
|
||||
dataview.Dataview
|
||||
}
|
||||
|
||||
func (o *SubObject) Init(ctx *smartblock.InitContext) (err error) {
|
||||
|
@ -139,31 +44,3 @@ func (o *SubObject) SetStruct(st *types.Struct) error {
|
|||
s.SetDetails(st)
|
||||
return o.Apply(s)
|
||||
}
|
||||
|
||||
func (w *Workspaces) initSubObject(st *state.State, collection string, subId string) (err error) {
|
||||
subObj := NewSubObject()
|
||||
var fullId string
|
||||
if collection == "" || collection == defaultCollectionName {
|
||||
fullId = subId
|
||||
collection = defaultCollectionName
|
||||
} else {
|
||||
fullId = collection + addr.VirtualObjectSeparator + subId
|
||||
}
|
||||
subState, err := smartblock.SubState(st, collection, fullId)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
template.WithForcedDetail(bundle.RelationKeyWorkspaceId, pbtypes.String(w.Id()))(subState)
|
||||
|
||||
if _, exists := w.collections[collection]; !exists {
|
||||
w.collections[collection] = map[string]*SubObject{}
|
||||
}
|
||||
w.collections[collection][subId] = subObj
|
||||
if err = subObj.Init(&smartblock.InitContext{
|
||||
Source: w.sourceService.NewStaticSource(fullId, model.SmartBlockType_SubObject, subState, w.onSubObjectChange(collection, subId)),
|
||||
App: w.app,
|
||||
}); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
177
core/block/editor/subobjectcollection.go
Normal file
177
core/block/editor/subobjectcollection.go
Normal file
|
@ -0,0 +1,177 @@
|
|||
package editor
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/anytypeio/go-anytype-middleware/app"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/smartblock"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/state"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/template"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/source"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/pbtypes"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrSubObjectNotFound = errors.New("sub object not found")
|
||||
ErrCollectionNotFound = errors.New("collection not found")
|
||||
ErrSubObjectAlreadyExists = fmt.Errorf("subobject already exists in the collection")
|
||||
)
|
||||
|
||||
type SubObjectCollection struct {
|
||||
*Set
|
||||
defaultCollectionName string
|
||||
|
||||
collections map[string]map[string]*SubObject
|
||||
|
||||
sourceService source.Service
|
||||
app *app.App
|
||||
}
|
||||
|
||||
func NewSubObjectCollection(defaultCollectionName string) *SubObjectCollection {
|
||||
return &SubObjectCollection{
|
||||
Set: NewSet(),
|
||||
defaultCollectionName: defaultCollectionName,
|
||||
collections: map[string]map[string]*SubObject{},
|
||||
}
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) getCollectionAndKeyFromId(id string) (collection, key string) {
|
||||
parts := strings.Split(id, addr.SubObjectCollectionIdSeparator)
|
||||
if len(parts) == 1 {
|
||||
collection = c.defaultCollectionName
|
||||
key = parts[0]
|
||||
} else {
|
||||
collection = parts[0]
|
||||
key = parts[1]
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) Open(subId string) (sb smartblock.SmartBlock, err error) {
|
||||
c.Lock()
|
||||
defer c.Unlock()
|
||||
|
||||
collection, key := c.getCollectionAndKeyFromId(subId)
|
||||
if coll, exists := c.collections[collection]; exists {
|
||||
if sub, exists := coll[key]; exists {
|
||||
return sub, nil
|
||||
} else {
|
||||
return nil, ErrSubObjectNotFound
|
||||
}
|
||||
}
|
||||
|
||||
return nil, ErrCollectionNotFound
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) DeleteSubObject(objectId string) error {
|
||||
st := c.NewState()
|
||||
collection, key := c.getCollectionAndKeyFromId(objectId)
|
||||
err := c.ObjectStore().DeleteObject(objectId)
|
||||
if err != nil {
|
||||
log.Errorf("error deleting subobject from store %s %s %v", objectId, c.Id(), err.Error())
|
||||
}
|
||||
st.RemoveFromStore([]string{collection, key})
|
||||
|
||||
return c.Apply(st, smartblock.NoEvent, smartblock.NoHistory)
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) Locked() bool {
|
||||
c.Lock()
|
||||
defer c.Unlock()
|
||||
if c.IsLocked() {
|
||||
return true
|
||||
}
|
||||
for _, coll := range c.collections {
|
||||
for _, sub := range coll {
|
||||
if sub.IsLocked() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) updateSubObject(info smartblock.ApplyInfo) (err error) {
|
||||
if len(info.Changes) == 0 {
|
||||
return nil
|
||||
}
|
||||
st := c.NewState()
|
||||
for _, ch := range info.Changes {
|
||||
if keySet := ch.GetStoreKeySet(); keySet != nil {
|
||||
if len(keySet.Path) >= 2 {
|
||||
if coll, ok := c.collections[keySet.Path[0]]; ok {
|
||||
if opt, ok := coll[keySet.Path[1]]; ok {
|
||||
if e := opt.SetStruct(pbtypes.GetStruct(c.NewState().GetCollection(keySet.Path[0]), keySet.Path[1])); e != nil {
|
||||
log.With("threadId", c.Id()).Errorf("options: can't set struct: %v", e)
|
||||
}
|
||||
} else {
|
||||
if err = c.initSubObject(st, keySet.Path[0], keySet.Path[1]); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) onSubObjectChange(collection, subId string) func(p source.PushChangeParams) (string, error) {
|
||||
return func(p source.PushChangeParams) (string, error) {
|
||||
st := c.NewState()
|
||||
|
||||
coll, exists := c.collections[collection]
|
||||
if !exists {
|
||||
return "", fmt.Errorf("collection not found")
|
||||
}
|
||||
|
||||
if _, ok := coll[subId]; !ok {
|
||||
return "", fmt.Errorf("onSubObjectChange: subObject '%s' not exists in collection '%s'", subId, collection)
|
||||
}
|
||||
changed := st.SetInStore([]string{collection, subId}, pbtypes.Struct(p.State.CombinedDetails()))
|
||||
if !changed {
|
||||
return "", nil
|
||||
}
|
||||
return "", c.Apply(st, smartblock.NoHooks)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) Init(ctx *smartblock.InitContext) error {
|
||||
c.app = ctx.App
|
||||
c.sourceService = c.app.MustComponent(source.CName).(source.Service)
|
||||
|
||||
return c.SmartBlock.Init(ctx)
|
||||
}
|
||||
|
||||
func (c *SubObjectCollection) initSubObject(st *state.State, collection string, subId string) (err error) {
|
||||
subObj := NewSubObject()
|
||||
var fullId string
|
||||
if collection == "" || collection == c.defaultCollectionName {
|
||||
fullId = subId
|
||||
collection = c.defaultCollectionName
|
||||
} else {
|
||||
fullId = collection + addr.SubObjectCollectionIdSeparator + subId
|
||||
}
|
||||
subState, err := smartblock.SubState(st, collection, fullId)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
template.WithForcedDetail(bundle.RelationKeyWorkspaceId, pbtypes.String(c.Id()))(subState)
|
||||
|
||||
if _, exists := c.collections[collection]; !exists {
|
||||
c.collections[collection] = map[string]*SubObject{}
|
||||
}
|
||||
c.collections[collection][subId] = subObj
|
||||
if err = subObj.Init(&smartblock.InitContext{
|
||||
Source: c.sourceService.NewStaticSource(fullId, model.SmartBlockType_SubObject, subState, c.onSubObjectChange(collection, subId)),
|
||||
App: c.app,
|
||||
}); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
|
@ -2,6 +2,8 @@ package editor
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/slice"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/globalsign/mgo/bson"
|
||||
|
@ -31,32 +33,38 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
collectionKeySignature = "signature"
|
||||
collectionKeyAccount = "account"
|
||||
collectionKeyAddrs = "addrs"
|
||||
collectionKeyId = "id"
|
||||
collectionKeyKey = "key"
|
||||
collectionKeySignature = "signature"
|
||||
collectionKeyAccount = "account"
|
||||
collectionKeyAddrs = "addrs"
|
||||
collectionKeyId = "id"
|
||||
collectionKeyKey = "key"
|
||||
)
|
||||
|
||||
const (
|
||||
collectionKeyRelationOptions = "opt"
|
||||
collectionKeyRelations = "rel"
|
||||
collectionKeyObjectTypes = "ot"
|
||||
)
|
||||
|
||||
var objectTypeToCollection = map[bundle.TypeKey]string{
|
||||
bundle.TypeKeyObjectType: collectionKeyObjectTypes,
|
||||
bundle.TypeKeyRelation: collectionKeyRelations,
|
||||
bundle.TypeKeyRelationOption: collectionKeyRelationOptions,
|
||||
}
|
||||
|
||||
func NewWorkspace(dmservice DetailsModifier) *Workspaces {
|
||||
return &Workspaces{
|
||||
Set: NewSet(),
|
||||
DetailsModifier: dmservice,
|
||||
collections: map[string]map[string]*SubObject{},
|
||||
SubObjectCollection: NewSubObjectCollection(collectionKeyRelationOptions),
|
||||
DetailsModifier: dmservice,
|
||||
}
|
||||
}
|
||||
|
||||
type Workspaces struct {
|
||||
*Set
|
||||
*SubObjectCollection
|
||||
DetailsModifier DetailsModifier
|
||||
threadService threads.Service
|
||||
threadQueue threads.ThreadQueue
|
||||
|
||||
changedRelationIds, changedRelationIdsOptions []string
|
||||
collections map[string]map[string]*SubObject
|
||||
|
||||
sourceService source.Service
|
||||
app *app.App
|
||||
}
|
||||
|
@ -98,16 +106,6 @@ func (p *Workspaces) DeleteObject(objectId string) error {
|
|||
return p.Apply(st, smartblock.NoEvent, smartblock.NoHistory)
|
||||
}
|
||||
|
||||
func (p *Workspaces) DeleteSubObject(objectId string) error {
|
||||
st := p.NewState()
|
||||
err := p.ObjectStore().DeleteObject(objectId)
|
||||
if err != nil {
|
||||
log.Errorf("error deleting sub object from store %s %s %v", objectId, p.Id(), err.Error())
|
||||
}
|
||||
st.RemoveFromStore([]string{collectionKeyRelationOptions, objectId})
|
||||
return p.Apply(st, smartblock.NoEvent, smartblock.NoHistory)
|
||||
}
|
||||
|
||||
func (p *Workspaces) GetAllObjects() []string {
|
||||
st := p.NewState()
|
||||
workspaceCollection := st.GetCollection(source.WorkspaceCollection)
|
||||
|
@ -215,6 +213,8 @@ func (p *Workspaces) SetIsHighlighted(objectId string, value bool) error {
|
|||
}
|
||||
|
||||
func (p *Workspaces) Init(ctx *smartblock.InitContext) (err error) {
|
||||
p.SubObjectCollection.Init(ctx)
|
||||
|
||||
p.app = ctx.App
|
||||
p.sourceService = p.app.MustComponent(source.CName).(source.Service)
|
||||
|
||||
|
@ -222,9 +222,6 @@ func (p *Workspaces) Init(ctx *smartblock.InitContext) (err error) {
|
|||
return fmt.Errorf("source type should be a workspace or an old account")
|
||||
}
|
||||
|
||||
if err = p.SmartBlock.Init(ctx); err != nil {
|
||||
return
|
||||
}
|
||||
p.threadService = p.Anytype().ThreadsService()
|
||||
p.threadQueue = p.Anytype().ThreadsService().ThreadQueue()
|
||||
|
||||
|
@ -535,7 +532,7 @@ func (w *Workspaces) createRelation(st *state.State, details *types.Struct) (id
|
|||
}
|
||||
|
||||
object = pbtypes.CopyStruct(details)
|
||||
key := pbtypes.GetString(object, bundle.RelationKeyRelationKey.String())
|
||||
key := pbtypes.GetString(details, bundle.RelationKeyRelationKey.String())
|
||||
if key == "" {
|
||||
key = bson.NewObjectId().Hex()
|
||||
} else {
|
||||
|
@ -559,38 +556,6 @@ func (w *Workspaces) createRelation(st *state.State, details *types.Struct) (id
|
|||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) CreateRelation(details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
st := w.NewState()
|
||||
id, object, err = w.createRelation(st, details)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if err = w.Apply(st, smartblock.NoHooks); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) CreateRelations(details []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
st := w.NewState()
|
||||
for _, rel := range details {
|
||||
id, object, err2 := w.createRelation(st, rel)
|
||||
if err2 != nil {
|
||||
if err2 != ErrSubObjectAlreadyExists {
|
||||
log.Errorf("failed to createRelation: %s", err2.Error())
|
||||
}
|
||||
continue
|
||||
}
|
||||
ids = append(ids, id)
|
||||
objects = append(objects, object)
|
||||
}
|
||||
|
||||
if err = w.Apply(st, smartblock.NoHooks); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) createRelationOption(st *state.State, details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
if details == nil || details.Fields == nil {
|
||||
return "", nil, fmt.Errorf("create option: no data")
|
||||
|
@ -607,7 +572,7 @@ func (w *Workspaces) createRelationOption(st *state.State, details *types.Struct
|
|||
}
|
||||
|
||||
object = pbtypes.CopyStruct(details)
|
||||
key := pbtypes.GetString(object, bundle.RelationKeyId.String())
|
||||
key := pbtypes.GetString(details, bundle.RelationKeyId.String())
|
||||
if key == "" {
|
||||
key = bson.NewObjectId().Hex()
|
||||
} else {
|
||||
|
@ -629,9 +594,105 @@ func (w *Workspaces) createRelationOption(st *state.State, details *types.Struct
|
|||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) CreateRelationOption(details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
func (w *Workspaces) createObjectType(st *state.State, details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
if details == nil || details.Fields == nil {
|
||||
return "", nil, fmt.Errorf("create object type: no data")
|
||||
}
|
||||
|
||||
if pbtypes.GetString(details, bundle.RelationKeyName.String()) == "" {
|
||||
return "", nil, fmt.Errorf("name is empty")
|
||||
}
|
||||
|
||||
var recommendedRelationKeys = pbtypes.GetStringList(details, bundle.RelationKeyRecommendedRelations.String())
|
||||
|
||||
object = pbtypes.CopyStruct(details)
|
||||
key := pbtypes.GetString(details, bundle.RelationKeyId.String())
|
||||
if key == "" {
|
||||
key = bson.NewObjectId().Hex()
|
||||
} else {
|
||||
key = strings.TrimPrefix(key, addr.BundledObjectTypeURLPrefix)
|
||||
// no need to check for the generated bson's
|
||||
if st.HasInStore([]string{collectionKeyObjectTypes, key}) {
|
||||
return id, object, ErrSubObjectAlreadyExists
|
||||
}
|
||||
if bundle.HasObjectType(key) {
|
||||
object.Fields[bundle.RelationKeySource.String()] = pbtypes.String(addr.BundledObjectTypeURLPrefix + key)
|
||||
}
|
||||
}
|
||||
|
||||
rawLayout := pbtypes.GetFloat64(details, bundle.RelationKeyRecommendedLayout.String())
|
||||
layout, err := bundle.GetLayout(model.ObjectTypeLayout(rawLayout))
|
||||
if err != nil {
|
||||
return "", nil, fmt.Errorf("invalid layout: %w", err)
|
||||
}
|
||||
|
||||
for _, rel := range bundle.RequiredInternalRelations {
|
||||
if bundle.MustGetRelation(rel).Hidden {
|
||||
continue
|
||||
}
|
||||
relId := addr.RelationKeyToIdPrefix + rel.String()
|
||||
if slice.FindPos(recommendedRelationKeys, relId) != -1 {
|
||||
continue
|
||||
}
|
||||
recommendedRelationKeys = append(recommendedRelationKeys, relId)
|
||||
}
|
||||
|
||||
for _, rel := range layout.RequiredRelations {
|
||||
relId := addr.RelationKeyToIdPrefix + rel.Key
|
||||
if slice.FindPos(recommendedRelationKeys, relId) != -1 {
|
||||
continue
|
||||
}
|
||||
recommendedRelationKeys = append(recommendedRelationKeys, relId)
|
||||
}
|
||||
|
||||
object.Fields[bundle.RelationKeyType.String()] = pbtypes.String(bundle.TypeKeyObjectType.URL())
|
||||
object.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_objectType))
|
||||
object.Fields[bundle.RelationKeyRecommendedRelations.String()] = pbtypes.StringList(recommendedRelationKeys)
|
||||
|
||||
st.SetInStore([]string{collectionKeyObjectTypes, key}, pbtypes.Struct(object))
|
||||
if err = w.initSubObject(st, collectionKeyObjectTypes, key); err != nil {
|
||||
return
|
||||
}
|
||||
id = addr.ObjectTypeKeyToIdPrefix + key
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) createObject(st *state.State, details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
if details == nil || details.Fields == nil {
|
||||
return "", nil, fmt.Errorf("create object type: no data")
|
||||
}
|
||||
|
||||
if pbtypes.GetString(details, bundle.RelationKeyType.String()) == "" {
|
||||
return "", nil, fmt.Errorf("type is empty")
|
||||
}
|
||||
|
||||
switch pbtypes.GetString(details, bundle.RelationKeyType.String()) {
|
||||
case bundle.TypeKeyObjectType.URL():
|
||||
return w.createObjectType(st, details)
|
||||
case bundle.TypeKeyRelation.URL():
|
||||
return w.createRelation(st, details)
|
||||
case bundle.TypeKeyRelationOption.URL():
|
||||
return w.createRelationOption(st, details)
|
||||
default:
|
||||
return "", nil, fmt.Errorf("invalid type: %s", pbtypes.GetString(details, bundle.RelationKeyType.String()))
|
||||
}
|
||||
}
|
||||
|
||||
func (w *Workspaces) removeObject(st *state.State, objectId string) (err error) {
|
||||
collection, key := w.getCollectionAndKeyFromId(objectId)
|
||||
st.RemoveFromStore([]string{collection, key})
|
||||
if v, exists := w.collections[collection]; exists {
|
||||
delete(v, key)
|
||||
}
|
||||
|
||||
w.sourceService.RemoveStaticSource(objectId)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (w *Workspaces) CreateSubObject(details *types.Struct) (id string, object *types.Struct, err error) {
|
||||
st := w.NewState()
|
||||
id, object, err = w.createRelationOption(st, details)
|
||||
id, object, err = w.createObjectType(st, details)
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
|
@ -641,18 +702,47 @@ func (w *Workspaces) CreateRelationOption(details *types.Struct) (id string, obj
|
|||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) CreateRelationOptions(details []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
func (w *Workspaces) CreateSubObjects(details []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
st := w.NewState()
|
||||
for _, rel := range details {
|
||||
id, object, err2 := w.createRelationOption(st, rel)
|
||||
if err2 != nil {
|
||||
log.Errorf("failed to createRelationOption: %s", err2.Error())
|
||||
var (
|
||||
id string
|
||||
object *types.Struct
|
||||
)
|
||||
for _, det := range details {
|
||||
id, object, err = w.createObject(st, det)
|
||||
if err != nil {
|
||||
if err != ErrSubObjectAlreadyExists {
|
||||
log.Errorf("failed to create sub object: %s", err.Error())
|
||||
}
|
||||
continue
|
||||
}
|
||||
ids = append(ids, id)
|
||||
objects = append(objects, object)
|
||||
}
|
||||
|
||||
if len(ids) == 0 {
|
||||
return
|
||||
}
|
||||
// reset error in case we have at least 1 object created
|
||||
err = nil
|
||||
if err = w.Apply(st, smartblock.NoHooks); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (w *Workspaces) RemoveSubObjects(objectIds []string) (err error) {
|
||||
st := w.NewState()
|
||||
for _, id := range objectIds {
|
||||
err = w.removeObject(st, id)
|
||||
if err != nil {
|
||||
log.Errorf("failed to remove sub object: %s", err.Error())
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
// reset error in case we have at least 1 object created
|
||||
err = nil
|
||||
if err = w.Apply(st, smartblock.NoHooks); err != nil {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -164,7 +164,7 @@ type Service interface {
|
|||
|
||||
SetFileStyle(ctx *session.Context, contextId string, style model.BlockContentFileStyle, blockIds ...string) error
|
||||
UploadFile(req pb.RpcFileUploadRequest) (hash string, err error)
|
||||
UploadFileBlockWithHash(ctx *session.Context, contextId string, req pb.RpcBlockUploadRequest) (hash string, err error)
|
||||
UploadFileBlockWithHash(ctx *session.Context, contextId string, req pb.RpcBlockUploadRequest) (hash string, err error)
|
||||
UploadBlockFile(ctx *session.Context, req pb.RpcBlockUploadRequest, groupId string) error
|
||||
UploadBlockFileSync(ctx *session.Context, req pb.RpcBlockUploadRequest) (err error)
|
||||
CreateAndUploadFile(ctx *session.Context, req pb.RpcBlockFileCreateAndUploadRequest) (id string, err error)
|
||||
|
@ -192,10 +192,6 @@ type Service interface {
|
|||
UpdateDataviewGroupOrder(ctx *session.Context, req pb.RpcBlockDataviewGroupOrderUpdateRequest) error
|
||||
UpdateDataviewObjectOrder(ctx *session.Context, req pb.RpcBlockDataviewObjectOrderUpdateRequest) error
|
||||
|
||||
CreateRelation(details *types.Struct) (id string, object *types.Struct, err error)
|
||||
CreateRelationOption(details *types.Struct) (id string, newDetails *types.Struct, err error)
|
||||
RemoveListOption(ctx *session.Context, ids []string, checkInObjects bool) error
|
||||
|
||||
BookmarkFetch(ctx *session.Context, req pb.RpcBlockBookmarkFetchRequest) error
|
||||
BookmarkFetchSync(ctx *session.Context, req pb.RpcBlockBookmarkFetchRequest) (err error)
|
||||
BookmarkCreateAndFetch(ctx *session.Context, req pb.RpcBlockBookmarkCreateAndFetchRequest) (id string, err error)
|
||||
|
@ -243,6 +239,13 @@ type Service interface {
|
|||
GetAllWorkspaces(req *pb.RpcWorkspaceGetAllRequest) ([]string, error)
|
||||
SetIsHighlighted(req *pb.RpcWorkspaceSetIsHighlightedRequest) error
|
||||
|
||||
AddSubObjectToWorkspace(sourceObjectId, workspaceId string) (id string, object *types.Struct, err error)
|
||||
AddSubObjectsToWorkspace(sourceObjectIds []string, workspaceId string) (ids []string, objects []*types.Struct, err error)
|
||||
CreateSubObjectInWorkspace(details *types.Struct, workspaceId string) (id string, newDetails *types.Struct, err error)
|
||||
CreateSubObjectsInWorkspace(details []*types.Struct) (ids []string, objects []*types.Struct, err error)
|
||||
RemoveSubObjectsInWorkspace(objectIds []string, workspaceId string) (err error)
|
||||
RemoveListOption(ctx *session.Context, ids []string, checkInObjects bool) error // deprecated, need to use RemoveSubObjectsInWorkspace
|
||||
|
||||
ObjectAddWithObjectId(req *pb.RpcObjectAddWithObjectIdRequest) error
|
||||
ObjectShareByLink(req *pb.RpcObjectShareByLinkRequest) (string, error)
|
||||
|
||||
|
@ -527,6 +530,72 @@ func (s *service) CreateWorkspace(req *pb.RpcWorkspaceCreateRequest) (workspaceI
|
|||
return id, err
|
||||
}
|
||||
|
||||
func (s *service) AddSubObjectToWorkspace(sourceObjectId, workspaceId string) (id string, object *types.Struct, err error) {
|
||||
// todo: we should add route to object via workspace
|
||||
err = s.Do(sourceObjectId, func(b smartblock.SmartBlock) error {
|
||||
d := b.Details()
|
||||
|
||||
if pbtypes.GetString(d, bundle.RelationKeyWorkspaceId.String()) == workspaceId {
|
||||
return errors.New("object already in collection")
|
||||
}
|
||||
err = s.Do(workspaceId, func(b smartblock.SmartBlock) error {
|
||||
ws, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect workspace id")
|
||||
}
|
||||
id, object, err = ws.CreateSubObject(d)
|
||||
return err
|
||||
})
|
||||
return err
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) AddSubObjectsToWorkspace(sourceObjectIds []string, workspaceId string) (ids []string, objects []*types.Struct, err error) {
|
||||
// todo: we should add route to object via workspace
|
||||
var details = make([]*types.Struct, 0, len(sourceObjectIds))
|
||||
|
||||
for _, sourceObjectId := range sourceObjectIds {
|
||||
err = s.Do(sourceObjectId, func(b smartblock.SmartBlock) error {
|
||||
d := b.Details()
|
||||
|
||||
if pbtypes.GetString(d, bundle.RelationKeyWorkspaceId.String()) == workspaceId {
|
||||
return errors.New("object already in collection")
|
||||
}
|
||||
details = append(details, d)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
err = s.Do(workspaceId, func(b smartblock.SmartBlock) error {
|
||||
ws, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect workspace id")
|
||||
}
|
||||
ids, objects, err = ws.CreateSubObjects(details)
|
||||
return err
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) RemoveSubObjectsInWorkspace(objectIds []string, workspaceId string) (err error) {
|
||||
err = s.Do(workspaceId, func(b smartblock.SmartBlock) error {
|
||||
ws, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect workspace id")
|
||||
}
|
||||
err = ws.RemoveSubObjects(objectIds)
|
||||
return err
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) SelectWorkspace(req *pb.RpcWorkspaceSelectRequest) error {
|
||||
panic("should be removed")
|
||||
}
|
||||
|
@ -1094,53 +1163,28 @@ func (s *service) createObject(ctx *session.Context, contextBlock smartblock.Sma
|
|||
return
|
||||
}
|
||||
|
||||
func (s *service) CreateRelationOption(opt *types.Struct) (id string, newDetails *types.Struct, err error) {
|
||||
func (s *service) CreateSubObjectInWorkspace(details *types.Struct, workspaceId string) (id string, newDetails *types.Struct, err error) {
|
||||
// todo: rewrite to the current workspace id
|
||||
err = s.Do(s.anytype.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
err = s.Do(workspaceId, func(b smartblock.SmartBlock) error {
|
||||
workspace, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect object with workspace id")
|
||||
return fmt.Errorf("object is not a workspace")
|
||||
}
|
||||
id, newDetails, err = workspace.CreateRelationOption(opt)
|
||||
|
||||
id, newDetails, err = workspace.CreateSubObject(details)
|
||||
return err
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) CreateRelation(rel *types.Struct) (id string, object *types.Struct, err error) {
|
||||
func (s *service) CreateSubObjectsInWorkspace(details []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
// todo: rewrite to the current workspace id
|
||||
err = s.Do(s.anytype.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
workspace, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect object with workspace id")
|
||||
}
|
||||
id, object, err = workspace.CreateRelation(rel)
|
||||
return err
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) CreateRelations(rel []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
// todo: rewrite to the current workspace id
|
||||
err = s.Do(s.anytype.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
workspace, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect object with workspace id")
|
||||
}
|
||||
ids, objects, err = workspace.CreateRelations(rel)
|
||||
return err
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) CreateRelationOptions(rel []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
// todo: rewrite to the current workspace id
|
||||
err = s.Do(s.anytype.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
workspace, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect object with workspace id")
|
||||
}
|
||||
ids, objects, err = workspace.CreateRelationOptions(rel)
|
||||
ids, objects, err = workspace.CreateSubObjects(details)
|
||||
return err
|
||||
})
|
||||
return
|
||||
|
|
|
@ -2,15 +2,14 @@ package source
|
|||
|
||||
import (
|
||||
"context"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/relation/relationutils"
|
||||
"github.com/anytypeio/go-anytype-middleware/pb"
|
||||
|
||||
"github.com/anytypeio/go-anytype-middleware/change"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/editor/state"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/core"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/pbtypes"
|
||||
"github.com/gogo/protobuf/types"
|
||||
)
|
||||
|
||||
|
@ -53,29 +52,11 @@ func getDetailsForBundledObjectType(id string) (extraRels []*model.RelationLink,
|
|||
}
|
||||
extraRels = []*model.RelationLink{bundle.MustGetRelationLink(bundle.RelationKeyRecommendedRelations), bundle.MustGetRelationLink(bundle.RelationKeyRecommendedLayout)}
|
||||
|
||||
var relationKeys []string
|
||||
for i := range ot.RelationLinks {
|
||||
extraRels = append(extraRels, ot.RelationLinks[i])
|
||||
relationKeys = append(relationKeys, addr.RelationKeyToIdPrefix+ot.RelationLinks[i].Key)
|
||||
}
|
||||
|
||||
det := &types.Struct{Fields: map[string]*types.Value{
|
||||
bundle.RelationKeyType.String(): pbtypes.String(bundle.TypeKeyObjectType.URL()),
|
||||
bundle.RelationKeyLayout.String(): pbtypes.Float64(float64(model.ObjectType_objectType)),
|
||||
bundle.RelationKeyName.String(): pbtypes.String(ot.Name),
|
||||
bundle.RelationKeyCreator.String(): pbtypes.String(addr.AnytypeProfileId),
|
||||
bundle.RelationKeyIconEmoji.String(): pbtypes.String(ot.IconEmoji),
|
||||
bundle.RelationKeyRecommendedRelations.String(): pbtypes.StringList(relationKeys),
|
||||
bundle.RelationKeyRecommendedLayout.String(): pbtypes.Float64(float64(ot.Layout)),
|
||||
bundle.RelationKeyDescription.String(): pbtypes.String(ot.Description),
|
||||
bundle.RelationKeyId.String(): pbtypes.String(id),
|
||||
bundle.RelationKeyIsHidden.String(): pbtypes.Bool(ot.Hidden),
|
||||
bundle.RelationKeyIsArchived.String(): pbtypes.Bool(false),
|
||||
bundle.RelationKeyIsReadonly.String(): pbtypes.Bool(ot.Readonly),
|
||||
bundle.RelationKeyWorkspaceId.String(): pbtypes.String(addr.AnytypeMarketplaceWorkspace),
|
||||
}}
|
||||
|
||||
return extraRels, det, nil
|
||||
return extraRels, (&relationutils.ObjectType{ot}).ToStruct(), nil
|
||||
}
|
||||
|
||||
func (v *bundledObjectType) ReadDoc(ctx context.Context, receiver ChangeReceiver, empty bool) (doc state.Doc, err error) {
|
||||
|
|
|
@ -25,6 +25,8 @@ type Service interface {
|
|||
NewSource(id string, listenToOwnChanges bool) (s Source, err error)
|
||||
RegisterStaticSource(id string, new func() Source)
|
||||
NewStaticSource(id string, sbType model.SmartBlockType, doc *state.State, pushChange func(p PushChangeParams) (string, error)) SourceWithType
|
||||
RemoveStaticSource(id string)
|
||||
|
||||
GetDetailsFromIdBasedSource(id string) (*types.Struct, error)
|
||||
SourceTypeBySbType(blockType smartblock.SmartBlockType) (SourceType, error)
|
||||
app.Component
|
||||
|
@ -104,3 +106,9 @@ func (s *service) RegisterStaticSource(id string, new func() Source) {
|
|||
defer s.mu.Unlock()
|
||||
s.staticIds[id] = new
|
||||
}
|
||||
|
||||
func (s *service) RemoveStaticSource(id string) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
delete(s.staticIds, id)
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ const (
|
|||
ForceThreadsObjectsReindexCounter int32 = 7 // reindex thread-based objects
|
||||
ForceFilesReindexCounter int32 = 6 // reindex ipfs-file-based objects
|
||||
ForceBundledObjectsReindexCounter int32 = 4 // reindex objects like anytypeProfile
|
||||
ForceIdxRebuildCounter int32 = 18 // erases localstore indexes and reindex all type of objects (no need to increase ForceThreadsObjectsReindexCounter & ForceFilesReindexCounter)
|
||||
ForceIdxRebuildCounter int32 = 22 // erases localstore indexes and reindex all type of objects (no need to increase ForceThreadsObjectsReindexCounter & ForceFilesReindexCounter)
|
||||
ForceFulltextIndexCounter int32 = 3 // performs fulltext indexing for all type of objects (useful when we change fulltext config)
|
||||
ForceFilestoreKeysReindexCounter int32 = 1
|
||||
)
|
||||
|
@ -636,12 +636,45 @@ func (i *indexer) migrateRelations(rels []*model.Relation) {
|
|||
if i.relationBulkMigration != nil {
|
||||
i.relationBulkMigration.AddRelations(rels)
|
||||
} else {
|
||||
err := i.relationService.Migrate(rels)
|
||||
err := i.relationService.MigrateRelations(rels)
|
||||
if err != nil {
|
||||
log.Errorf("migrateRelations got error: %s", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (i *indexer) migrateObjectTypes(ots []string) {
|
||||
if len(ots) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
var typesModels []*model.ObjectType // do not make
|
||||
for _, ot := range ots {
|
||||
t, err := bundle.GetTypeByUrl(ot)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
typesModels = append(typesModels, t)
|
||||
}
|
||||
|
||||
if len(typesModels) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
i.relationMigratorMu.Lock()
|
||||
defer i.relationMigratorMu.Unlock()
|
||||
|
||||
if i.relationBulkMigration != nil {
|
||||
i.relationBulkMigration.AddObjectTypes(typesModels)
|
||||
} else {
|
||||
err := i.relationService.MigrateObjectTypes(typesModels)
|
||||
if err != nil {
|
||||
log.Errorf("migrateObjectTypes got error: %s", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (i *indexer) reindexDoc(ctx context.Context, id string, indexesWereRemoved bool) error {
|
||||
t, err := smartblock.SmartBlockTypeFromID(id)
|
||||
if err != nil {
|
||||
|
@ -747,6 +780,7 @@ func (i *indexer) index(ctx context.Context, info doc.DocInfo) error {
|
|||
if sbType != smartblock.SmartBlockTypeSubObject && sbType != smartblock.SmartBlockTypeWorkspace {
|
||||
// avoid recursions
|
||||
i.migrateRelations(extractRelationsFromState(info.State))
|
||||
i.migrateObjectTypes(info.State.ObjectTypesToMigrate())
|
||||
}
|
||||
if !indexDetails && !indexLinks {
|
||||
saveIndexedHash()
|
||||
|
|
|
@ -141,7 +141,7 @@ func (mw *Middleware) objectCreate(req *pb.RpcObjectCreateRequest) (id string, d
|
|||
Source: pbtypes.GetStringList(req.Details, bundle.RelationKeySetOf.String()),
|
||||
})
|
||||
case bundle.TypeKeyObjectType:
|
||||
return mw.objectTypeCreate(&pb.RpcObjectCreateObjectTypeRequest{
|
||||
return mw.objectCreateObjectType(&pb.RpcObjectCreateObjectTypeRequest{
|
||||
Details: req.Details,
|
||||
InternalFlags: req.InternalFlags,
|
||||
})
|
||||
|
|
77
core/relation/relationutils/objecttype.go
Normal file
77
core/relation/relationutils/objecttype.go
Normal file
|
@ -0,0 +1,77 @@
|
|||
package relationutils
|
||||
|
||||
import (
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/pbtypes"
|
||||
"github.com/gogo/protobuf/types"
|
||||
)
|
||||
|
||||
type ObjectType struct {
|
||||
*model.ObjectType
|
||||
}
|
||||
|
||||
func (ot *ObjectType) ToStruct() *types.Struct {
|
||||
var relationKeys []string
|
||||
for i := range ot.RelationLinks {
|
||||
relationKeys = append(relationKeys, addr.RelationKeyToIdPrefix+ot.RelationLinks[i].Key)
|
||||
}
|
||||
|
||||
return &types.Struct{Fields: map[string]*types.Value{
|
||||
bundle.RelationKeyType.String(): pbtypes.String(bundle.TypeKeyObjectType.URL()),
|
||||
bundle.RelationKeyLayout.String(): pbtypes.Float64(float64(model.ObjectType_objectType)),
|
||||
bundle.RelationKeyName.String(): pbtypes.String(ot.Name),
|
||||
bundle.RelationKeyCreator.String(): pbtypes.String(addr.AnytypeProfileId),
|
||||
bundle.RelationKeyIconEmoji.String(): pbtypes.String(ot.IconEmoji),
|
||||
bundle.RelationKeyRecommendedRelations.String(): pbtypes.StringList(relationKeys),
|
||||
bundle.RelationKeyRecommendedLayout.String(): pbtypes.Float64(float64(ot.Layout)),
|
||||
bundle.RelationKeyDescription.String(): pbtypes.String(ot.Description),
|
||||
bundle.RelationKeyId.String(): pbtypes.String(ot.Url),
|
||||
bundle.RelationKeyIsHidden.String(): pbtypes.Bool(ot.Hidden),
|
||||
bundle.RelationKeyIsArchived.String(): pbtypes.Bool(false),
|
||||
bundle.RelationKeyIsReadonly.String(): pbtypes.Bool(ot.Readonly),
|
||||
bundle.RelationKeyWorkspaceId.String(): pbtypes.String(addr.AnytypeMarketplaceWorkspace),
|
||||
}}
|
||||
}
|
||||
|
||||
// MigrateObjectTypeIds returns 2 slices:
|
||||
// normalized – contains the slice of normalized ids. it contains original slice if there is nothing to normalize(no bundled object type IDs exist in the object)
|
||||
// idsToMigrate - contains the slice of ids that are converted during the first step, nil if no ids were converted
|
||||
func MigrateObjectTypeIds(ids []string) (normalized []string, idsToMigrate []string) {
|
||||
// shortcut if there is nothing to migrate
|
||||
hasIdsToMigrate := false
|
||||
for i := range ids {
|
||||
_, err := bundle.TypeKeyFromUrl(ids[i])
|
||||
if err == nil {
|
||||
hasIdsToMigrate = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !hasIdsToMigrate {
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
// in-place migration for bundled object types moved into workspace
|
||||
normalized = make([]string, len(ids))
|
||||
idsToMigrate = make([]string, 0, len(ids))
|
||||
for i := range ids {
|
||||
t, err := bundle.TypeKeyFromUrl(ids[i])
|
||||
if err == nil {
|
||||
idsToMigrate = append(idsToMigrate, ids[i])
|
||||
normalized[i] = addr.ObjectTypeKeyToIdPrefix + t.String()
|
||||
} else {
|
||||
normalized[i] = ids[i]
|
||||
}
|
||||
}
|
||||
|
||||
return normalized, idsToMigrate
|
||||
}
|
||||
|
||||
func MigrateObjectTypeId(id string) (normalized string, isMigrated bool) {
|
||||
t, err := bundle.TypeKeyFromUrl(id)
|
||||
if err == nil {
|
||||
return addr.ObjectTypeKeyToIdPrefix + t.String(), true
|
||||
}
|
||||
return id, false
|
||||
}
|
|
@ -40,30 +40,31 @@ type Service interface {
|
|||
FetchKey(key string, opts ...FetchOption) (relation *relationutils.Relation, err error)
|
||||
FetchLinks(links pbtypes.RelationLinks) (relations relationutils.Relations, err error)
|
||||
CreateBulkMigration() BulkMigration
|
||||
Migrate(relations []*model.Relation) error
|
||||
MigrateRelations(relations []*model.Relation) error
|
||||
MigrateObjectTypes(relations []*model.ObjectType) error
|
||||
ValidateFormat(key string, v *types.Value) error
|
||||
app.Component
|
||||
}
|
||||
|
||||
type BulkMigration interface {
|
||||
AddRelations(relations []*model.Relation)
|
||||
AddObjectTypes(objectType []*model.ObjectType)
|
||||
Commit() error
|
||||
}
|
||||
|
||||
type relationCreator interface {
|
||||
CreateRelation(details *types.Struct) (id string, object *types.Struct, err error)
|
||||
CreateRelationOption(details *types.Struct) (id string, newDetails *types.Struct, err error)
|
||||
CreateRelations(details []*types.Struct) (id []string, object []*types.Struct, err error)
|
||||
CreateRelationOptions(details []*types.Struct) (id []string, newDetails []*types.Struct, err error)
|
||||
type subObjectCreator interface {
|
||||
CreateSubObjectInWorkspace(details *types.Struct, workspaceId string) (id string, newDetails *types.Struct, err error)
|
||||
CreateSubObjectsInWorkspace(details []*types.Struct) (ids []string, objects []*types.Struct, err error)
|
||||
}
|
||||
|
||||
var errSubobjectAlreadyExists = fmt.Errorf("subobject already exists in the collection")
|
||||
|
||||
type bulkMigration struct {
|
||||
cache map[string]struct{}
|
||||
s relationCreator
|
||||
s subObjectCreator
|
||||
relations []*types.Struct
|
||||
options []*types.Struct
|
||||
types []*types.Struct
|
||||
mu sync.Mutex
|
||||
}
|
||||
|
||||
|
@ -87,15 +88,24 @@ func (b *bulkMigration) AddRelations(relations []*model.Relation) {
|
|||
}
|
||||
}
|
||||
|
||||
func (b *bulkMigration) AddObjectTypes(objectTypes []*model.ObjectType) {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
for _, ot := range objectTypes {
|
||||
if _, exists := b.cache["type"+ot.Url]; exists {
|
||||
continue
|
||||
}
|
||||
b.types = append(b.types, (&relationutils.ObjectType{ObjectType: ot}).ToStruct())
|
||||
b.cache["type"+ot.Url] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
func (b *bulkMigration) Commit() error {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
if len(b.options) == 0 && len(b.relations) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
if len(b.relations) > 0 {
|
||||
ids, _, err1 := b.s.CreateRelations(b.relations)
|
||||
ids, _, err1 := b.s.CreateSubObjectsInWorkspace(b.relations)
|
||||
log.Errorf("relations migration done %d/%d: %v", len(ids), len(b.relations), err1)
|
||||
|
||||
if err1 != nil && err1.Error() != errSubobjectAlreadyExists.Error() {
|
||||
|
@ -103,35 +113,50 @@ func (b *bulkMigration) Commit() error {
|
|||
}
|
||||
}
|
||||
if len(b.options) > 0 {
|
||||
ids, _, err1 := b.s.CreateRelationOptions(b.options)
|
||||
ids, _, err1 := b.s.CreateSubObjectsInWorkspace(b.options)
|
||||
log.Errorf("options migration done %d/%d: %v", len(ids), len(b.options), err1)
|
||||
|
||||
if err1 != nil && err1.Error() != errSubobjectAlreadyExists.Error() {
|
||||
return err1
|
||||
}
|
||||
}
|
||||
if len(b.types) > 0 {
|
||||
ids, _, err1 := b.s.CreateSubObjectsInWorkspace(b.types)
|
||||
log.Errorf("objectTypes migration done %d/%d: %v", len(ids), len(b.types), err1)
|
||||
|
||||
if err1 != nil && err1.Error() != errSubobjectAlreadyExists.Error() {
|
||||
return err1
|
||||
}
|
||||
}
|
||||
b.options = nil
|
||||
b.relations = nil
|
||||
b.types = nil
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type service struct {
|
||||
objectStore objectstore.ObjectStore
|
||||
relationCreator relationCreator
|
||||
relationCreator subObjectCreator
|
||||
|
||||
mu sync.RWMutex
|
||||
}
|
||||
|
||||
func (s *service) Migrate(relations []*model.Relation) error {
|
||||
func (s *service) MigrateRelations(relations []*model.Relation) error {
|
||||
b := s.CreateBulkMigration()
|
||||
b.AddRelations(relations)
|
||||
return b.Commit()
|
||||
}
|
||||
|
||||
func (s *service) MigrateObjectTypes(types []*model.ObjectType) error {
|
||||
b := s.CreateBulkMigration()
|
||||
b.AddObjectTypes(types)
|
||||
return b.Commit()
|
||||
}
|
||||
|
||||
func (s *service) Init(a *app.App) (err error) {
|
||||
s.objectStore = a.MustComponent(objectstore.CName).(objectstore.ObjectStore)
|
||||
s.relationCreator = a.MustComponent(blockServiceCName).(relationCreator)
|
||||
s.relationCreator = a.MustComponent(blockServiceCName).(subObjectCreator)
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import (
|
|||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/anytypeio/go-anytype-middleware/util/internalflag"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/slice"
|
||||
"github.com/gogo/protobuf/types"
|
||||
|
||||
|
@ -14,7 +13,6 @@ import (
|
|||
"github.com/anytypeio/go-anytype-middleware/pb"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/core"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/core/smartblock"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/objectstore"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
|
@ -145,7 +143,7 @@ func (mw *Middleware) ObjectCreateObjectType(cctx context.Context, req *pb.RpcOb
|
|||
return m
|
||||
}
|
||||
|
||||
id, newDetails, err := mw.objectTypeCreate(req)
|
||||
id, newDetails, err := mw.objectCreateObjectType(req)
|
||||
if err != nil {
|
||||
return response(pb.RpcObjectCreateObjectTypeResponseError_UNKNOWN_ERROR, "", nil, err)
|
||||
}
|
||||
|
@ -153,56 +151,6 @@ func (mw *Middleware) ObjectCreateObjectType(cctx context.Context, req *pb.RpcOb
|
|||
return response(pb.RpcObjectCreateObjectTypeResponseError_NULL, id, newDetails, nil)
|
||||
}
|
||||
|
||||
func (mw *Middleware) objectTypeCreate(req *pb.RpcObjectCreateObjectTypeRequest) (id string, newDetails *types.Struct, err error) {
|
||||
if req.Details == nil {
|
||||
req.Details = &types.Struct{Fields: map[string]*types.Value{}}
|
||||
}
|
||||
req.Details = internalflag.PutToDetails(req.Details, req.InternalFlags)
|
||||
|
||||
var sbId string
|
||||
var recommendedRelationKeys []string
|
||||
|
||||
rawLayout := pbtypes.GetFloat64(req.Details, bundle.RelationKeyRecommendedLayout.String())
|
||||
layout, err := bundle.GetLayout(model.ObjectTypeLayout(rawLayout))
|
||||
if err != nil {
|
||||
return "", nil, fmt.Errorf("invalid layout: %w", err)
|
||||
}
|
||||
|
||||
for _, rel := range bundle.RequiredInternalRelations {
|
||||
recommendedRelationKeys = append(recommendedRelationKeys, addr.RelationKeyToIdPrefix+rel.String())
|
||||
}
|
||||
|
||||
for _, rel := range layout.RequiredRelations {
|
||||
// todo: check if relation is installed?
|
||||
k := addr.RelationKeyToIdPrefix + rel.Key
|
||||
if slice.FindPos(recommendedRelationKeys, k) != -1 {
|
||||
continue
|
||||
}
|
||||
recommendedRelationKeys = append(recommendedRelationKeys, k)
|
||||
}
|
||||
|
||||
details := req.Details
|
||||
details.Fields[bundle.RelationKeyType.String()] = pbtypes.String(bundle.TypeKeyObjectType.URL())
|
||||
details.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_objectType))
|
||||
details.Fields[bundle.RelationKeyRecommendedRelations.String()] = pbtypes.StringList(recommendedRelationKeys)
|
||||
|
||||
err = mw.doBlockService(func(bs block.Service) (err error) {
|
||||
sbId, _, err = bs.CreateSmartBlock(context.TODO(), smartblock.SmartBlockTypeObjectType, details, nil) // TODO: add relationIds
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
details.Fields[bundle.RelationKeyId.String()] = pbtypes.String(sbId)
|
||||
|
||||
return sbId, details, nil
|
||||
}
|
||||
|
||||
func (mw *Middleware) ObjectCreateSet(cctx context.Context, req *pb.RpcObjectCreateSetRequest) *pb.RpcObjectCreateSetResponse {
|
||||
ctx := mw.newContext(cctx)
|
||||
response := func(code pb.RpcObjectCreateSetResponseErrorCode, id string, newDetails *types.Struct, err error) *pb.RpcObjectCreateSetResponse {
|
||||
|
@ -299,20 +247,29 @@ func (mw *Middleware) objectCreateRelationOption(req *pb.RpcObjectCreateRelation
|
|||
req.Details.Fields[bundle.RelationKeyType.String()] = pbtypes.String(bundle.TypeKeyRelationOption.URL())
|
||||
req.Details.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_relationOption))
|
||||
var id string
|
||||
var newDetails *types.Struct
|
||||
var object *types.Struct
|
||||
err := mw.doBlockService(func(rs block.Service) error {
|
||||
var err error
|
||||
id, newDetails, err = rs.CreateRelationOption(req.Details)
|
||||
id, object, err = rs.CreateSubObjectInWorkspace(req.Details, mw.GetAnytype().PredefinedBlocks().Account)
|
||||
return err
|
||||
})
|
||||
return id, newDetails, err
|
||||
return id, object, err
|
||||
}
|
||||
|
||||
func (mw *Middleware) objectCreateObjectType(req *pb.RpcObjectCreateObjectTypeRequest) (id string, object *types.Struct, err error) {
|
||||
req.Details.Fields[bundle.RelationKeyType.String()] = pbtypes.String(bundle.TypeKeyObjectType.URL())
|
||||
err = mw.doBlockService(func(rs block.Service) error {
|
||||
id, object, err = rs.CreateSubObjectInWorkspace(req.Details, mw.GetAnytype().PredefinedBlocks().Account)
|
||||
return err
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (mw *Middleware) objectCreateRelation(req *pb.RpcObjectCreateRelationRequest) (id string, object *types.Struct, err error) {
|
||||
req.Details.Fields[bundle.RelationKeyType.String()] = pbtypes.String(bundle.TypeKeyRelation.URL())
|
||||
err = mw.doBlockService(func(rs block.Service) error {
|
||||
var err2 error
|
||||
id, object, err2 = rs.CreateRelation(req.Details)
|
||||
return err2
|
||||
id, object, err = rs.CreateSubObjectInWorkspace(req.Details, mw.GetAnytype().PredefinedBlocks().Account)
|
||||
return err
|
||||
})
|
||||
return
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package subscription
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
@ -313,6 +315,10 @@ func (s *service) filtersFromSource(sources []string) (filter.Filter, error) {
|
|||
if sbt == smartblock.SmartBlockTypeObjectType || sbt == smartblock.SmartBlockTypeBundledObjectType {
|
||||
objTypeIds = append(objTypeIds, source)
|
||||
} else {
|
||||
if strings.HasPrefix(source, addr.ObjectTypeKeyToIdPrefix) {
|
||||
objTypeIds = append(objTypeIds, source)
|
||||
continue
|
||||
}
|
||||
relKey, err := pbtypes.RelationIdToKey(source)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get relation key from id %s: %s", relKey, err.Error())
|
||||
|
|
|
@ -113,3 +113,55 @@ func (mw *Middleware) WorkspaceGetCurrent(cctx context.Context, req *pb.RpcWorks
|
|||
|
||||
return response(workspaceId, pb.RpcWorkspaceGetCurrentResponseError_NULL, nil)
|
||||
}
|
||||
|
||||
func (mw *Middleware) WorkspaceObjectListAdd(cctx context.Context, req *pb.RpcWorkspaceObjectListAddRequest) *pb.RpcWorkspaceObjectListAddResponse {
|
||||
response := func(ids []string, code pb.RpcWorkspaceObjectListAddResponseErrorCode, err error) *pb.RpcWorkspaceObjectListAddResponse {
|
||||
m := &pb.RpcWorkspaceObjectListAddResponse{Ids: ids, Error: &pb.RpcWorkspaceObjectListAddResponseError{Code: code}}
|
||||
if err != nil {
|
||||
m.Error.Description = err.Error()
|
||||
}
|
||||
|
||||
return m
|
||||
}
|
||||
|
||||
var (
|
||||
ids []string
|
||||
)
|
||||
|
||||
err := mw.doBlockService(func(bs block.Service) (err error) {
|
||||
ids, _, err = bs.AddSubObjectsToWorkspace(req.ObjectIds, mw.GetAnytype().PredefinedBlocks().Account)
|
||||
return
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return response(ids, pb.RpcWorkspaceObjectListAddResponseError_UNKNOWN_ERROR, err)
|
||||
}
|
||||
|
||||
return response(ids, pb.RpcWorkspaceObjectListAddResponseError_NULL, nil)
|
||||
}
|
||||
|
||||
func (mw *Middleware) WorkspaceObjectListRemove(cctx context.Context, req *pb.RpcWorkspaceObjectListRemoveRequest) *pb.RpcWorkspaceObjectListRemoveResponse {
|
||||
response := func(ids []string, code pb.RpcWorkspaceObjectListRemoveResponseErrorCode, err error) *pb.RpcWorkspaceObjectListRemoveResponse {
|
||||
m := &pb.RpcWorkspaceObjectListRemoveResponse{Ids: ids, Error: &pb.RpcWorkspaceObjectListRemoveResponseError{Code: code}}
|
||||
if err != nil {
|
||||
m.Error.Description = err.Error()
|
||||
}
|
||||
|
||||
return m
|
||||
}
|
||||
|
||||
var (
|
||||
ids []string
|
||||
)
|
||||
|
||||
err := mw.doBlockService(func(bs block.Service) (err error) {
|
||||
err = bs.RemoveSubObjectsInWorkspace(req.ObjectIds, mw.GetAnytype().PredefinedBlocks().Account)
|
||||
return
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return response(ids, pb.RpcWorkspaceObjectListRemoveResponseError_UNKNOWN_ERROR, err)
|
||||
}
|
||||
|
||||
return response(ids, pb.RpcWorkspaceObjectListRemoveResponseError_NULL, nil)
|
||||
}
|
||||
|
|
7091
docs/proto.md
7091
docs/proto.md
File diff suppressed because it is too large
Load diff
3147
pb/commands.pb.go
3147
pb/commands.pb.go
File diff suppressed because it is too large
Load diff
|
@ -589,6 +589,53 @@ message Rpc {
|
|||
}
|
||||
}
|
||||
|
||||
message Object {
|
||||
message ListAdd {
|
||||
message Request {
|
||||
repeated string objectIds = 1;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
repeated string ids = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
message ListRemove {
|
||||
message Request {
|
||||
repeated string objectIds = 1;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
repeated string ids = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message SetIsHighlighted {
|
||||
message Request {
|
||||
string objectId = 1;
|
||||
|
|
|
@ -20,6 +20,8 @@ service ClientCommands {
|
|||
// Workspace
|
||||
// ***
|
||||
rpc WorkspaceCreate (anytype.Rpc.Workspace.Create.Request) returns (anytype.Rpc.Workspace.Create.Response);
|
||||
rpc WorkspaceObjectListAdd (anytype.Rpc.Workspace.Object.ListAdd.Request) returns (anytype.Rpc.Workspace.Object.ListAdd.Response);
|
||||
rpc WorkspaceObjectListRemove (anytype.Rpc.Workspace.Object.ListRemove.Request) returns (anytype.Rpc.Workspace.Object.ListRemove.Response);
|
||||
rpc WorkspaceSelect (anytype.Rpc.Workspace.Select.Request) returns (anytype.Rpc.Workspace.Select.Response);
|
||||
rpc WorkspaceGetCurrent (anytype.Rpc.Workspace.GetCurrent.Request) returns (anytype.Rpc.Workspace.GetCurrent.Response);
|
||||
rpc WorkspaceGetAll (anytype.Rpc.Workspace.GetAll.Request) returns (anytype.Rpc.Workspace.GetAll.Response);
|
||||
|
|
|
@ -26,208 +26,211 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
|
||||
|
||||
var fileDescriptor_93a29dc403579097 = []byte{
|
||||
// 3214 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0xdf, 0x6f, 0x1d, 0x47,
|
||||
0x15, 0xc7, 0x7b, 0x5f, 0x28, 0x6c, 0x69, 0x81, 0x2d, 0x94, 0x12, 0x5a, 0x27, 0x4d, 0x1b, 0xff,
|
||||
0x88, 0xe3, 0xeb, 0x34, 0x81, 0x22, 0x78, 0x41, 0x37, 0x76, 0x9c, 0x58, 0x8d, 0x93, 0xe0, 0xeb,
|
||||
0x34, 0x52, 0x25, 0x24, 0xd6, 0xbb, 0x93, 0x7b, 0x17, 0xef, 0xdd, 0x59, 0x76, 0xe7, 0x5e, 0xc7,
|
||||
0x20, 0x90, 0x10, 0x08, 0x44, 0x85, 0x04, 0x12, 0x8f, 0xfc, 0x11, 0xfc, 0x1b, 0x3c, 0xf6, 0x91,
|
||||
0x47, 0xd4, 0xfe, 0x23, 0x68, 0x77, 0xce, 0xcc, 0xec, 0x9c, 0x9d, 0x33, 0xbb, 0xe6, 0xa9, 0x70,
|
||||
0xcf, 0xe7, 0x9c, 0xef, 0xfc, 0x9e, 0x33, 0x33, 0x1b, 0x07, 0x57, 0x8b, 0xd3, 0xdd, 0xa2, 0xe4,
|
||||
0x82, 0x57, 0xbb, 0x15, 0x2b, 0x57, 0x69, 0xcc, 0xd4, 0x7f, 0xc7, 0xcd, 0xcf, 0xe1, 0xab, 0x51,
|
||||
0x7e, 0x21, 0x2e, 0x0a, 0x76, 0xe5, 0x6d, 0x43, 0xc6, 0x7c, 0xb1, 0x88, 0xf2, 0xa4, 0x92, 0xc8,
|
||||
0x95, 0xb7, 0x8c, 0x85, 0xad, 0x58, 0x2e, 0xe0, 0xf7, 0x3b, 0xff, 0xfa, 0x6c, 0x14, 0xbc, 0xb1,
|
||||
0x97, 0xa5, 0x2c, 0x17, 0x7b, 0xe0, 0x11, 0x7e, 0x1a, 0xbc, 0x3e, 0x29, 0x8a, 0x07, 0x4c, 0x7c,
|
||||
0xc2, 0xca, 0x2a, 0xe5, 0x79, 0xf8, 0xfe, 0x18, 0x04, 0xc6, 0xc7, 0x45, 0x3c, 0x9e, 0x14, 0xc5,
|
||||
0xd8, 0x18, 0xc7, 0xc7, 0xec, 0x57, 0x4b, 0x56, 0x89, 0x2b, 0x1f, 0xf8, 0xa1, 0xaa, 0xe0, 0x79,
|
||||
0xc5, 0xc2, 0x17, 0xc1, 0xb7, 0x26, 0x45, 0x31, 0x65, 0x62, 0x9f, 0xd5, 0x15, 0x98, 0x8a, 0x48,
|
||||
0xb0, 0x70, 0xa3, 0xe3, 0x6a, 0x03, 0x5a, 0x63, 0xb3, 0x1f, 0x04, 0x9d, 0x93, 0xe0, 0xb5, 0x5a,
|
||||
0x67, 0xbe, 0x14, 0x09, 0x3f, 0xcf, 0xc3, 0xf7, 0xba, 0x8e, 0x60, 0xd2, 0xb1, 0xaf, 0xfb, 0x10,
|
||||
0x88, 0xfa, 0x3c, 0xf8, 0xfa, 0xf3, 0x28, 0xcb, 0x98, 0xd8, 0x2b, 0x59, 0x5d, 0x70, 0xdb, 0x47,
|
||||
0x9a, 0xc6, 0xd2, 0xa6, 0xe3, 0xbe, 0xef, 0x65, 0x20, 0xf0, 0xa7, 0xc1, 0xeb, 0xd2, 0x72, 0xcc,
|
||||
0x62, 0xbe, 0x62, 0x65, 0xe8, 0xf4, 0x02, 0x23, 0xd1, 0xe4, 0x1d, 0x08, 0xc7, 0xde, 0xe3, 0xf9,
|
||||
0x8a, 0x95, 0xc2, 0x1d, 0x1b, 0x8c, 0xfe, 0xd8, 0x06, 0x82, 0xd8, 0x59, 0xf0, 0x66, 0xbb, 0x41,
|
||||
0xa6, 0xac, 0x6a, 0x06, 0xcc, 0x16, 0x5d, 0x67, 0x40, 0xb4, 0xce, 0xcd, 0x21, 0x28, 0xa8, 0xa5,
|
||||
0x41, 0x08, 0x6a, 0x19, 0xaf, 0xb4, 0xd8, 0xa6, 0x33, 0x42, 0x8b, 0xd0, 0x5a, 0x5b, 0x03, 0x48,
|
||||
0x90, 0xfa, 0x45, 0xf0, 0x8d, 0xe7, 0xbc, 0x3c, 0xab, 0x8a, 0x28, 0x66, 0xd0, 0xd9, 0x37, 0x6c,
|
||||
0x6f, 0x65, 0xc5, 0xfd, 0xbd, 0xde, 0x87, 0x39, 0x14, 0xa6, 0x2c, 0x63, 0xb1, 0x20, 0x15, 0xa4,
|
||||
0xb9, 0x57, 0x41, 0x63, 0xad, 0xce, 0x51, 0xc6, 0x07, 0x4c, 0xec, 0x2d, 0xcb, 0x92, 0xe5, 0x02,
|
||||
0x77, 0x8e, 0x76, 0x37, 0x08, 0xd5, 0x39, 0x6e, 0xd4, 0x51, 0x9f, 0x07, 0x4c, 0x4c, 0xb2, 0x8c,
|
||||
0xac, 0x8f, 0x34, 0xf7, 0xd6, 0x47, 0x63, 0xa0, 0xf0, 0xbb, 0xe0, 0x7b, 0xad, 0x16, 0x13, 0x87,
|
||||
0xd5, 0xc3, 0x74, 0x36, 0xcf, 0xd2, 0xd9, 0x5c, 0xb0, 0x24, 0xdc, 0x25, 0x1b, 0xc5, 0x06, 0xb5,
|
||||
0xea, 0xed, 0xe1, 0x0e, 0x8e, 0x1a, 0xde, 0x7f, 0x59, 0xf0, 0x92, 0xee, 0x31, 0x69, 0xee, 0xad,
|
||||
0xa1, 0xc6, 0x40, 0xe1, 0xe7, 0xc1, 0x1b, 0x93, 0x38, 0xe6, 0xcb, 0x5c, 0xaf, 0x03, 0x68, 0x55,
|
||||
0x95, 0xc6, 0xce, 0x42, 0x70, 0xa3, 0x87, 0x32, 0x2b, 0x01, 0xd8, 0x60, 0x48, 0xbf, 0xef, 0xf4,
|
||||
0x43, 0x03, 0xfa, 0x03, 0x3f, 0xd4, 0x89, 0xbd, 0xcf, 0x32, 0x46, 0xc6, 0x96, 0xc6, 0x9e, 0xd8,
|
||||
0x1a, 0xea, 0xc4, 0x86, 0x89, 0xe2, 0x8e, 0x8d, 0xa6, 0xc9, 0x07, 0x7e, 0xa8, 0xb5, 0x51, 0x40,
|
||||
0x6c, 0xc1, 0x0b, 0xbc, 0x51, 0x28, 0x27, 0xc1, 0x0b, 0x6a, 0xa3, 0xb0, 0x91, 0x4e, 0xd4, 0x23,
|
||||
0xbe, 0x62, 0x44, 0xd4, 0xda, 0xd4, 0x13, 0x15, 0x10, 0x33, 0xa1, 0x55, 0xff, 0xf1, 0xfc, 0x45,
|
||||
0x3a, 0x7b, 0x56, 0x24, 0x75, 0x2f, 0x6e, 0xb9, 0x3b, 0xa8, 0x85, 0x10, 0x13, 0x9a, 0x40, 0x41,
|
||||
0xed, 0x67, 0x41, 0xf0, 0xe4, 0xf4, 0x97, 0x2c, 0x16, 0x4f, 0x0a, 0x96, 0x87, 0xd7, 0x2c, 0x4f,
|
||||
0x69, 0x18, 0xd7, 0x16, 0x1d, 0xfb, 0x3d, 0x0f, 0x61, 0x9a, 0x45, 0xfe, 0xde, 0x2c, 0xba, 0xa1,
|
||||
0xd3, 0xa3, 0x31, 0x11, 0xcd, 0x82, 0x10, 0x5c, 0xd0, 0xe9, 0x9c, 0x9f, 0xbb, 0x0b, 0x5a, 0x5b,
|
||||
0xfc, 0x05, 0x05, 0xc2, 0x6c, 0xf4, 0x50, 0x50, 0xd7, 0x46, 0xaf, 0x8a, 0xe1, 0xdb, 0xe8, 0x31,
|
||||
0x03, 0x81, 0x79, 0xf0, 0xed, 0x76, 0xe0, 0x7b, 0x9c, 0x9f, 0x2d, 0xa2, 0xf2, 0x2c, 0xbc, 0x49,
|
||||
0x3b, 0x2b, 0x46, 0x0b, 0x6d, 0x0f, 0x62, 0xcd, 0xa2, 0xd5, 0x16, 0x9c, 0x32, 0xbc, 0x68, 0x59,
|
||||
0xfe, 0x53, 0x46, 0x2d, 0x5a, 0x0e, 0x0c, 0x77, 0xea, 0x83, 0x32, 0x2a, 0xe6, 0xee, 0x4e, 0x6d,
|
||||
0x4c, 0xfe, 0x4e, 0x55, 0x08, 0xee, 0x81, 0x29, 0x8b, 0xca, 0x78, 0xee, 0xee, 0x01, 0x69, 0xf3,
|
||||
0xf7, 0x80, 0x66, 0x20, 0x70, 0x19, 0x7c, 0xa7, 0x1d, 0x78, 0xba, 0x3c, 0xad, 0xe2, 0x32, 0x3d,
|
||||
0x65, 0xe1, 0x36, 0xed, 0xad, 0x21, 0x2d, 0x75, 0x6b, 0x18, 0x0c, 0x9a, 0x7f, 0x1e, 0x05, 0xef,
|
||||
0x48, 0xe6, 0x98, 0x65, 0x91, 0x48, 0x79, 0x2e, 0xd1, 0xfd, 0xb4, 0x12, 0x69, 0x1e, 0x8b, 0xf0,
|
||||
0x8e, 0x2b, 0x9c, 0x9b, 0xd5, 0x45, 0xb8, 0x7b, 0x29, 0x1f, 0x93, 0x42, 0x41, 0xed, 0x55, 0x29,
|
||||
0x0f, 0x93, 0x0a, 0xa5, 0x50, 0xaa, 0x36, 0x2d, 0x82, 0x48, 0xa1, 0xdc, 0x24, 0x48, 0xbd, 0x0c,
|
||||
0xbe, 0xdb, 0x6e, 0xe8, 0x67, 0x79, 0xa5, 0x9b, 0x7a, 0x87, 0x6e, 0xbd, 0x16, 0xa6, 0x45, 0xc7,
|
||||
0x43, 0x71, 0x50, 0x8e, 0x83, 0x6f, 0x2a, 0x65, 0xb1, 0xcf, 0x44, 0x94, 0x66, 0x55, 0xb8, 0xee,
|
||||
0x8e, 0xa1, 0xec, 0x5a, 0x6b, 0xa3, 0x97, 0xc3, 0x13, 0x6b, 0x7f, 0x59, 0x64, 0x69, 0xdc, 0xcd,
|
||||
0x10, 0xc1, 0x57, 0x9b, 0xfd, 0x13, 0xab, 0x8d, 0x99, 0xe5, 0x5e, 0x57, 0x43, 0xfe, 0x8f, 0x93,
|
||||
0x8b, 0x02, 0x2f, 0xf7, 0xa6, 0x84, 0x06, 0x21, 0x96, 0x7b, 0x02, 0xc5, 0xf5, 0x99, 0x32, 0xf1,
|
||||
0x28, 0xba, 0xe0, 0x4b, 0x62, 0xa1, 0xd0, 0x66, 0x7f, 0x7d, 0xda, 0x18, 0x28, 0x2c, 0x83, 0xb7,
|
||||
0xb4, 0xc2, 0x61, 0x2e, 0x58, 0x99, 0x47, 0xd9, 0x41, 0x16, 0xcd, 0xaa, 0x90, 0x98, 0x4d, 0x36,
|
||||
0xa5, 0xf5, 0x76, 0x06, 0xd2, 0x8e, 0x66, 0x3c, 0xac, 0x0e, 0xa2, 0x15, 0x2f, 0x53, 0x41, 0x37,
|
||||
0xa3, 0x41, 0x7a, 0x9b, 0xd1, 0x42, 0x9d, 0x6a, 0x93, 0x32, 0x9e, 0xa7, 0x2b, 0x96, 0x78, 0xd4,
|
||||
0x14, 0x32, 0x40, 0xad, 0x85, 0x62, 0xb5, 0x47, 0x69, 0xd5, 0x1a, 0x88, 0x4e, 0x35, 0x0b, 0xf1,
|
||||
0xab, 0x61, 0x14, 0xcf, 0xab, 0xc6, 0x2e, 0xd3, 0xbc, 0x75, 0xd2, 0xdf, 0xce, 0xf4, 0x36, 0x7a,
|
||||
0x39, 0xbc, 0x6c, 0xd4, 0x46, 0xbb, 0x11, 0x77, 0xa8, 0x18, 0xee, 0x86, 0x1c, 0x0f, 0xc5, 0x49,
|
||||
0x65, 0x3d, 0x58, 0xfc, 0xca, 0x9d, 0x01, 0x33, 0x1e, 0x8a, 0xe3, 0x6e, 0x9c, 0x14, 0x45, 0x76,
|
||||
0x71, 0xc2, 0x16, 0x45, 0x46, 0x76, 0xa3, 0x85, 0xf8, 0xbb, 0x11, 0xa3, 0x78, 0xc3, 0x3e, 0xe1,
|
||||
0x75, 0x3a, 0xe0, 0xdc, 0xb0, 0x1b, 0x93, 0x7f, 0xc3, 0x56, 0x08, 0xde, 0x57, 0x27, 0x49, 0xf2,
|
||||
0x3c, 0x15, 0x73, 0xf9, 0x7f, 0x0e, 0x13, 0xf7, 0xbe, 0x8a, 0x20, 0xff, 0xbe, 0xda, 0x85, 0xcd,
|
||||
0x6d, 0x92, 0xca, 0xfc, 0xa2, 0x92, 0xdd, 0xbb, 0x78, 0x94, 0xe6, 0x67, 0xa1, 0x7b, 0x05, 0x37,
|
||||
0x00, 0x71, 0x9b, 0xe4, 0x04, 0x71, 0xdd, 0xea, 0x74, 0xf6, 0x5e, 0xc9, 0xa2, 0x24, 0x2e, 0x97,
|
||||
0x8b, 0xd3, 0xca, 0x5d, 0x37, 0x04, 0xf9, 0xeb, 0xd6, 0x85, 0x71, 0xa6, 0x38, 0x65, 0xa2, 0x2d,
|
||||
0x49, 0x2d, 0x0f, 0x2e, 0xc5, 0xed, 0x41, 0x2c, 0x4e, 0xa3, 0x9f, 0xe5, 0x09, 0x77, 0xa7, 0xd1,
|
||||
0xb5, 0xc5, 0x9f, 0x46, 0x03, 0x81, 0x43, 0x1e, 0x33, 0x2a, 0x64, 0x6d, 0xf1, 0x87, 0x04, 0x02,
|
||||
0x37, 0xcb, 0xe1, 0xa2, 0x3e, 0x3b, 0x1f, 0x45, 0xe5, 0x59, 0x73, 0xc3, 0xe7, 0x6c, 0x16, 0x9b,
|
||||
0xf1, 0x37, 0x4b, 0x87, 0x75, 0x2d, 0x7a, 0x70, 0xec, 0x27, 0x17, 0x3d, 0x74, 0xee, 0xdf, 0xe8,
|
||||
0xe5, 0xf0, 0x02, 0xa0, 0x12, 0xf8, 0x03, 0x26, 0xe2, 0xb9, 0x7b, 0x01, 0xb0, 0x10, 0xff, 0x02,
|
||||
0x80, 0x51, 0x5c, 0xa5, 0x13, 0xae, 0x0f, 0x20, 0xeb, 0xee, 0x29, 0xde, 0x39, 0x7c, 0x6c, 0xf4,
|
||||
0x72, 0x38, 0x81, 0x97, 0x0d, 0xeb, 0x4e, 0xe0, 0xa5, 0xcd, 0x9f, 0xc0, 0x6b, 0x06, 0x97, 0x5e,
|
||||
0x1a, 0xea, 0xe6, 0x74, 0x97, 0xde, 0xd8, 0xfd, 0xa5, 0xb7, 0x38, 0xf7, 0x39, 0x4d, 0xa5, 0xd5,
|
||||
0xbe, 0x73, 0x9a, 0x62, 0x86, 0x9c, 0xd3, 0x5a, 0x2c, 0x08, 0xfe, 0x7e, 0x14, 0x5c, 0x71, 0x29,
|
||||
0x3e, 0x29, 0x1a, 0xdd, 0xdb, 0xfd, 0xb1, 0x24, 0xa9, 0xd5, 0x3f, 0xbc, 0x84, 0x07, 0x94, 0xe1,
|
||||
0x37, 0xc1, 0xdb, 0xca, 0x54, 0xb7, 0xc6, 0x31, 0x5b, 0xf0, 0x15, 0x83, 0x02, 0xd8, 0x5b, 0x9a,
|
||||
0x2e, 0x3f, 0xe6, 0xb4, 0xfc, 0xee, 0x60, 0xde, 0xe4, 0x9f, 0x76, 0xb9, 0x2a, 0x94, 0x7f, 0xea,
|
||||
0x18, 0x60, 0x26, 0xf2, 0x4f, 0x07, 0x86, 0x77, 0x0b, 0x85, 0x4c, 0x92, 0xc4, 0xb9, 0x5b, 0xe8,
|
||||
0x10, 0x93, 0x24, 0xf1, 0xee, 0x16, 0x08, 0xc4, 0x63, 0x47, 0x99, 0x21, 0x55, 0xba, 0xe9, 0x8b,
|
||||
0x80, 0xd2, 0xa5, 0xed, 0x41, 0xac, 0xb9, 0x18, 0xed, 0x54, 0xec, 0x80, 0x45, 0x62, 0x59, 0x76,
|
||||
0x2e, 0x46, 0xbb, 0xe5, 0x56, 0x20, 0x71, 0x31, 0xea, 0x75, 0x20, 0x8f, 0xb7, 0xb2, 0x8b, 0x75,
|
||||
0x19, 0xee, 0xf8, 0x42, 0xda, 0xac, 0xf7, 0x78, 0x4b, 0xfb, 0x40, 0x49, 0xfe, 0x38, 0x0a, 0xbe,
|
||||
0x6f, 0xa3, 0xf5, 0x80, 0x9b, 0xac, 0xa2, 0x34, 0x8b, 0x4e, 0x33, 0x16, 0x7e, 0xe8, 0x0b, 0x6a,
|
||||
0xa1, 0xba, 0x1c, 0x77, 0x2e, 0xe3, 0x82, 0x4f, 0x3a, 0x72, 0xbe, 0xb5, 0x0e, 0x6f, 0xb7, 0xe8,
|
||||
0x59, 0xe9, 0x38, 0xbf, 0xed, 0x0c, 0xa4, 0x41, 0xf6, 0x5c, 0xc9, 0xd6, 0x3f, 0xb7, 0x1b, 0xc0,
|
||||
0x99, 0xbf, 0x82, 0x6f, 0xab, 0x26, 0xde, 0xfc, 0xd5, 0x89, 0x83, 0xb0, 0x50, 0xf9, 0x51, 0x5b,
|
||||
0xb8, 0x9e, 0x5d, 0xb7, 0x7a, 0x03, 0xb5, 0xa7, 0xd8, 0xce, 0x40, 0x1a, 0x54, 0x7f, 0x1b, 0xbc,
|
||||
0xdd, 0x55, 0x95, 0x23, 0xc3, 0x39, 0xea, 0xed, 0x50, 0x12, 0xf4, 0x8e, 0x7a, 0xc2, 0xc1, 0x5c,
|
||||
0xa5, 0x3c, 0x4c, 0x2b, 0xc1, 0xcb, 0x8b, 0xe9, 0x9c, 0x9f, 0xab, 0xb7, 0x52, 0x7b, 0x99, 0x00,
|
||||
0x60, 0xdc, 0x22, 0x88, 0xab, 0x14, 0x37, 0xd9, 0x91, 0x32, 0x6f, 0xaa, 0x15, 0x21, 0xd5, 0x22,
|
||||
0x7a, 0xa4, 0x6c, 0xd2, 0x2c, 0x92, 0xaa, 0x56, 0xe6, 0x01, 0x78, 0xc3, 0x5d, 0xd4, 0xee, 0x23,
|
||||
0xf0, 0x66, 0x3f, 0x68, 0x0e, 0x21, 0x07, 0x69, 0xc6, 0x9e, 0xbc, 0x78, 0x91, 0xf1, 0x28, 0x41,
|
||||
0x87, 0x90, 0xda, 0x32, 0x06, 0x13, 0x71, 0x08, 0x41, 0x88, 0xd9, 0x44, 0x6a, 0x43, 0x3d, 0x3a,
|
||||
0x55, 0xe4, 0x1b, 0x5d, 0xb7, 0x96, 0x99, 0xd8, 0x44, 0x1c, 0x98, 0x49, 0x69, 0x6b, 0xe3, 0xb3,
|
||||
0xa2, 0x09, 0x7e, 0xad, 0xeb, 0x25, 0x2d, 0x44, 0x4a, 0x6b, 0x13, 0x26, 0x53, 0xaa, 0x7f, 0xdf,
|
||||
0xe7, 0xe7, 0x79, 0x13, 0xd4, 0x51, 0x51, 0x65, 0x23, 0x32, 0x25, 0xcc, 0x40, 0xe0, 0x8f, 0x83,
|
||||
0xaf, 0x36, 0x81, 0x4b, 0x5e, 0x84, 0x6b, 0x0e, 0x87, 0xb2, 0xf5, 0xaa, 0x71, 0x95, 0xb4, 0x9b,
|
||||
0x33, 0xd0, 0xe3, 0x68, 0x95, 0xce, 0xf4, 0xa2, 0x22, 0xe7, 0x08, 0x3e, 0x03, 0x19, 0x66, 0xdc,
|
||||
0x82, 0x88, 0x33, 0x10, 0x09, 0x83, 0xe6, 0x3f, 0x46, 0xc1, 0x35, 0xc3, 0x3c, 0x50, 0x17, 0x57,
|
||||
0x87, 0xf9, 0x0b, 0x5e, 0x1f, 0x08, 0xeb, 0x43, 0x5a, 0x15, 0x7e, 0x44, 0x85, 0x74, 0xf3, 0xba,
|
||||
0x28, 0x3f, 0xba, 0xb4, 0x9f, 0x49, 0x93, 0xd4, 0xa1, 0x5a, 0xae, 0xc5, 0x07, 0x25, 0x5f, 0x48,
|
||||
0x0f, 0x94, 0x26, 0xe9, 0xb3, 0x37, 0xe6, 0x88, 0x34, 0xc9, 0xc7, 0xb7, 0xf6, 0x5a, 0x4a, 0xbd,
|
||||
0xd9, 0x61, 0xee, 0x0c, 0x8b, 0x68, 0xed, 0x33, 0x77, 0x2f, 0xe5, 0x63, 0x5e, 0xe5, 0x74, 0x41,
|
||||
0x32, 0x9e, 0xe3, 0x17, 0x3f, 0x13, 0xa5, 0x36, 0x12, 0xaf, 0x72, 0x1d, 0xc8, 0xac, 0x42, 0xca,
|
||||
0x24, 0x8f, 0x4a, 0x93, 0x2c, 0x43, 0xab, 0x90, 0x76, 0xd5, 0x00, 0xb1, 0x0a, 0x39, 0x41, 0xd0,
|
||||
0x39, 0x0e, 0x5e, 0xab, 0x3b, 0xf7, 0x69, 0xc9, 0x56, 0x29, 0xc3, 0x6f, 0x47, 0x2d, 0x0b, 0x31,
|
||||
0x9d, 0x6d, 0xc2, 0x3c, 0xe2, 0x3e, 0xcb, 0xab, 0x22, 0x8b, 0xaa, 0x39, 0xbc, 0x5d, 0xd8, 0x75,
|
||||
0x56, 0x46, 0xfc, 0x7a, 0x71, 0xa3, 0x87, 0x32, 0xc7, 0x1f, 0x65, 0xd3, 0x2b, 0xc6, 0xba, 0xdb,
|
||||
0xb5, 0xb3, 0x6a, 0x6c, 0xf4, 0x72, 0x66, 0x75, 0xbe, 0x97, 0xf1, 0xf8, 0x0c, 0x96, 0x39, 0xbb,
|
||||
0xd6, 0x8d, 0x05, 0xaf, 0x73, 0xd7, 0x7d, 0x88, 0x59, 0xe8, 0x1a, 0xc3, 0x31, 0x2b, 0xb2, 0x28,
|
||||
0xc6, 0xaf, 0x6a, 0xd2, 0x07, 0x6c, 0xc4, 0x42, 0x87, 0x19, 0x54, 0x5c, 0x78, 0xad, 0x73, 0x15,
|
||||
0x17, 0x3d, 0xd6, 0x5d, 0xf7, 0x21, 0x66, 0xa9, 0x6f, 0x0c, 0xd3, 0x22, 0x4b, 0x05, 0x1a, 0x1b,
|
||||
0xd2, 0xa3, 0xb1, 0x10, 0x63, 0xc3, 0x26, 0x50, 0xc8, 0x23, 0x56, 0xce, 0x98, 0x33, 0x64, 0x63,
|
||||
0xf1, 0x86, 0x54, 0x04, 0x84, 0x7c, 0x1c, 0x7c, 0x4d, 0xd6, 0x9d, 0x17, 0x17, 0xe1, 0x55, 0x57,
|
||||
0xb5, 0x78, 0x71, 0xa1, 0x03, 0x5e, 0xa3, 0x01, 0x54, 0xc4, 0xa7, 0x51, 0x25, 0xdc, 0x45, 0x6c,
|
||||
0x2c, 0xde, 0x22, 0x2a, 0xc2, 0xec, 0x43, 0xb2, 0x88, 0x4b, 0x81, 0xf6, 0x21, 0x28, 0x40, 0xeb,
|
||||
0x31, 0xe1, 0x2a, 0x69, 0x37, 0xd3, 0x4b, 0xf6, 0x0a, 0x13, 0x07, 0x29, 0xcb, 0x92, 0x0a, 0x4d,
|
||||
0x2f, 0x68, 0x77, 0x65, 0x25, 0xa6, 0x57, 0x97, 0x42, 0x43, 0x09, 0x6e, 0x7a, 0x5c, 0xb5, 0x43,
|
||||
0x97, 0x3c, 0xd7, 0x7d, 0x88, 0xc9, 0x4b, 0x1a, 0x43, 0xeb, 0xe2, 0xdc, 0x55, 0x1e, 0xc7, 0xbd,
|
||||
0xf9, 0x7a, 0x1f, 0x06, 0x0a, 0x9f, 0x8d, 0x82, 0x77, 0xb5, 0xc4, 0x11, 0x5f, 0xb1, 0x13, 0x7e,
|
||||
0xff, 0x65, 0xf3, 0xfc, 0x37, 0x83, 0xad, 0xe9, 0x2e, 0x11, 0xc9, 0x05, 0x6b, 0xf9, 0x1f, 0x5c,
|
||||
0xce, 0xc9, 0xec, 0x90, 0xa8, 0x2c, 0x8f, 0xd9, 0xb9, 0x73, 0x87, 0xc4, 0x11, 0x35, 0x47, 0xec,
|
||||
0x90, 0x3e, 0xde, 0x9c, 0x86, 0xb5, 0x38, 0x7c, 0xb0, 0x76, 0xc2, 0x55, 0xb2, 0x42, 0x45, 0xc3,
|
||||
0x20, 0x71, 0x2e, 0xf0, 0x3a, 0x98, 0x64, 0x5d, 0xeb, 0x9b, 0x41, 0xba, 0x49, 0xc4, 0xe9, 0x0e,
|
||||
0xd4, 0xad, 0x01, 0xa4, 0x43, 0xca, 0xbc, 0xfe, 0x50, 0x52, 0xdd, 0xc7, 0x9f, 0xad, 0x01, 0x64,
|
||||
0xeb, 0x64, 0xdd, 0xae, 0xd6, 0xbd, 0x28, 0x3e, 0x9b, 0x95, 0x7c, 0x99, 0x27, 0x7b, 0x3c, 0xe3,
|
||||
0x25, 0x3a, 0x59, 0x5b, 0xa5, 0x46, 0x28, 0x71, 0xb2, 0xee, 0x71, 0x31, 0x89, 0x41, 0xbb, 0x14,
|
||||
0x93, 0x2c, 0x9d, 0xe1, 0xe3, 0x89, 0x15, 0xa8, 0x01, 0x88, 0xc4, 0xc0, 0x09, 0x3a, 0x06, 0x91,
|
||||
0x3c, 0xbe, 0x88, 0x34, 0x8e, 0x32, 0xa9, 0xb7, 0x4b, 0x87, 0xb1, 0xc0, 0xde, 0x41, 0xe4, 0x70,
|
||||
0x70, 0xd4, 0xf3, 0x64, 0x59, 0xe6, 0x87, 0xb9, 0xe0, 0x64, 0x3d, 0x15, 0xd0, 0x5b, 0xcf, 0x16,
|
||||
0x68, 0xb2, 0x89, 0xc6, 0x7c, 0xc2, 0x5e, 0xd6, 0xa5, 0xa9, 0xff, 0x13, 0x3a, 0x96, 0x9c, 0xfa,
|
||||
0xf7, 0x31, 0xd8, 0x89, 0x6c, 0xc2, 0xc5, 0xa1, 0xca, 0x80, 0x88, 0x1c, 0x30, 0x1e, 0x6f, 0x7b,
|
||||
0x98, 0x6c, 0xf6, 0x83, 0x6e, 0x9d, 0xa9, 0xb8, 0xc8, 0x98, 0x4f, 0xa7, 0x01, 0x86, 0xe8, 0x28,
|
||||
0xd0, 0xdc, 0xd6, 0x5b, 0xf5, 0x99, 0xb3, 0xf8, 0xac, 0xf3, 0xc6, 0x6b, 0x17, 0x54, 0x22, 0xc4,
|
||||
0x6d, 0x3d, 0x81, 0xba, 0xbb, 0xe8, 0x30, 0xe6, 0xb9, 0xaf, 0x8b, 0x6a, 0xfb, 0x90, 0x2e, 0x02,
|
||||
0xce, 0x9c, 0xee, 0xb4, 0x15, 0x46, 0xa6, 0xec, 0xa6, 0x6d, 0x22, 0x42, 0x1b, 0x22, 0x4e, 0x77,
|
||||
0x24, 0x6c, 0xee, 0x49, 0xb1, 0xe6, 0x51, 0xf7, 0x5b, 0xa8, 0x4e, 0x94, 0x23, 0xfa, 0x5b, 0x28,
|
||||
0x8a, 0xa5, 0x2b, 0x29, 0xc7, 0x48, 0x4f, 0x14, 0x7b, 0x9c, 0xdc, 0x1a, 0x06, 0x9b, 0x47, 0x65,
|
||||
0x4b, 0x73, 0x2f, 0x63, 0x51, 0x29, 0x55, 0x77, 0x3c, 0x81, 0x0c, 0x46, 0x5c, 0xca, 0x79, 0x70,
|
||||
0xb4, 0x84, 0x59, 0xca, 0x7b, 0x3c, 0x17, 0x2c, 0x17, 0xae, 0x25, 0xcc, 0x0e, 0x06, 0xa0, 0x6f,
|
||||
0x09, 0xa3, 0x1c, 0xd0, 0xb8, 0x3d, 0x48, 0x33, 0x36, 0x65, 0xe2, 0x71, 0xb4, 0x60, 0xae, 0x71,
|
||||
0xdb, 0x5c, 0x35, 0x80, 0xdd, 0x37, 0x6e, 0x11, 0x87, 0xa6, 0xfc, 0xe1, 0x22, 0x9a, 0x69, 0x15,
|
||||
0x87, 0x77, 0x63, 0xef, 0xc8, 0x6c, 0xf6, 0x83, 0x48, 0xe7, 0x93, 0x34, 0x61, 0xdc, 0xa3, 0xd3,
|
||||
0xd8, 0x87, 0xe8, 0x60, 0x10, 0x65, 0x4e, 0x75, 0x6d, 0xe5, 0x79, 0x64, 0x92, 0x27, 0x70, 0x0a,
|
||||
0x1b, 0x13, 0x8d, 0x82, 0x38, 0x5f, 0xe6, 0x44, 0xf0, 0x68, 0x7e, 0xa8, 0x2b, 0x34, 0xdf, 0xfc,
|
||||
0xd0, 0x37, 0x64, 0x43, 0xe6, 0x87, 0x0b, 0x06, 0xcd, 0x5f, 0xc3, 0xfc, 0xd8, 0x8f, 0x44, 0x54,
|
||||
0x9f, 0xa3, 0x3f, 0x49, 0xd9, 0x39, 0x1c, 0xe3, 0x1c, 0xf5, 0x55, 0xd4, 0xb8, 0xc6, 0xf0, 0x99,
|
||||
0x6e, 0x77, 0x30, 0xef, 0xd1, 0x86, 0xec, 0xbc, 0x57, 0x1b, 0xa5, 0xe9, 0xbb, 0x83, 0x79, 0x8f,
|
||||
0x36, 0x7c, 0xcf, 0xdb, 0xab, 0x8d, 0x3e, 0xea, 0xdd, 0x1d, 0xcc, 0x83, 0xf6, 0x1f, 0x46, 0xc1,
|
||||
0x95, 0x8e, 0x78, 0x9d, 0x03, 0xc5, 0x22, 0x5d, 0x31, 0x57, 0x2a, 0x67, 0xc7, 0xd3, 0xa8, 0x2f,
|
||||
0x95, 0xa3, 0x5d, 0xa0, 0x14, 0x7f, 0x19, 0x05, 0xef, 0xb8, 0x4a, 0xf1, 0x94, 0x57, 0x69, 0xf3,
|
||||
0xe4, 0x78, 0x77, 0x40, 0x50, 0x05, 0xfb, 0x0e, 0x2c, 0x3e, 0x27, 0xf3, 0x60, 0x63, 0xa1, 0xf5,
|
||||
0x38, 0xe5, 0xcb, 0x32, 0xc6, 0x0f, 0x36, 0x76, 0x3c, 0x4d, 0x11, 0x2f, 0x18, 0x34, 0x6d, 0x5e,
|
||||
0x30, 0x2c, 0xa6, 0xfd, 0x74, 0xe2, 0xeb, 0x55, 0xe7, 0xeb, 0xc9, 0xed, 0xe1, 0x0e, 0x20, 0xff,
|
||||
0x27, 0x95, 0xd3, 0x63, 0x7d, 0x98, 0x04, 0x77, 0x86, 0x44, 0x44, 0x13, 0xe1, 0xee, 0xa5, 0x7c,
|
||||
0xa0, 0x20, 0xff, 0x1c, 0x05, 0xd7, 0x9d, 0x05, 0xb1, 0x5f, 0xef, 0x7e, 0x3c, 0x24, 0xb6, 0xfb,
|
||||
0x15, 0xef, 0x27, 0xff, 0x8f, 0x2b, 0x94, 0xee, 0xaf, 0xea, 0x68, 0xad, 0x3c, 0x1e, 0x94, 0x7c,
|
||||
0x59, 0x3c, 0x29, 0x13, 0x56, 0xc2, 0x8c, 0xf5, 0x0d, 0x3a, 0x03, 0xe3, 0x79, 0xfb, 0xc3, 0x4b,
|
||||
0x7a, 0x41, 0x71, 0xfe, 0x36, 0x0a, 0xd6, 0x2c, 0x18, 0x3e, 0x4d, 0x6a, 0x95, 0xc7, 0x17, 0xb9,
|
||||
0x45, 0xe3, 0x02, 0x7d, 0x74, 0x59, 0x37, 0x9c, 0xa1, 0xd6, 0xed, 0x06, 0x8b, 0xb7, 0x2b, 0x43,
|
||||
0x6d, 0x9a, 0x15, 0x2d, 0xda, 0x1b, 0xbd, 0x9c, 0x4b, 0xe4, 0xfe, 0xcb, 0x22, 0xca, 0x13, 0x5a,
|
||||
0x44, 0xda, 0xfb, 0x45, 0x34, 0x87, 0x33, 0xfb, 0xda, 0x7a, 0xcc, 0xd5, 0x4e, 0xb4, 0x45, 0xf9,
|
||||
0x6b, 0xc4, 0x9b, 0xd9, 0x77, 0x50, 0x42, 0x0d, 0xa6, 0x9d, 0x4f, 0x0d, 0xcd, 0xb6, 0x9b, 0x43,
|
||||
0x50, 0xb4, 0xc6, 0x69, 0x35, 0x7d, 0x61, 0x70, 0xcb, 0x17, 0xa5, 0x73, 0x69, 0xb0, 0x33, 0x90,
|
||||
0x26, 0x64, 0xa7, 0x4c, 0x3c, 0x64, 0x51, 0xc2, 0x4a, 0xaf, 0xac, 0xa6, 0x06, 0xc9, 0xb6, 0x69,
|
||||
0x97, 0xec, 0x1e, 0xcf, 0x96, 0x8b, 0x1c, 0x3a, 0x93, 0x94, 0x6d, 0x53, 0xfd, 0xb2, 0x88, 0xc6,
|
||||
0x67, 0x1a, 0x23, 0xdb, 0xfc, 0x0b, 0xa0, 0x9b, 0xfe, 0x30, 0xd6, 0x3f, 0x05, 0xda, 0x1e, 0xc4,
|
||||
0xd2, 0xf5, 0x84, 0x61, 0xd4, 0x53, 0x4f, 0x34, 0x92, 0x76, 0x06, 0xd2, 0xf8, 0x70, 0xd1, 0x92,
|
||||
0xd5, 0xe3, 0x69, 0xb7, 0x27, 0x56, 0x67, 0x48, 0xdd, 0x1e, 0xee, 0x80, 0x8f, 0x72, 0x30, 0xaa,
|
||||
0xea, 0xa5, 0xfb, 0x20, 0xcd, 0xb2, 0x70, 0xdb, 0x33, 0x4c, 0x14, 0xe4, 0x3d, 0xca, 0x39, 0x60,
|
||||
0x62, 0x24, 0xab, 0xa3, 0x4f, 0x1e, 0xf6, 0xc5, 0x69, 0xa8, 0x41, 0x23, 0xb9, 0x4d, 0xa3, 0x23,
|
||||
0x41, 0xab, 0xa9, 0x75, 0x6d, 0xc7, 0xfe, 0x86, 0xeb, 0x54, 0x78, 0x77, 0x30, 0x8f, 0x6e, 0xdb,
|
||||
0x1b, 0x6a, 0xca, 0x4b, 0xe1, 0xba, 0x6d, 0x97, 0x21, 0xa6, 0xed, 0x4b, 0xf1, 0x1b, 0x3d, 0x54,
|
||||
0xe7, 0x9a, 0x2d, 0x87, 0xc7, 0x1b, 0xf3, 0xa1, 0xaf, 0x6b, 0x18, 0x35, 0x9f, 0xe5, 0x62, 0xd0,
|
||||
0x37, 0x8c, 0x28, 0x87, 0xd6, 0x57, 0x77, 0x9a, 0x53, 0x37, 0x81, 0x45, 0xc1, 0xa2, 0x32, 0xca,
|
||||
0x63, 0x16, 0x52, 0x01, 0x3b, 0x24, 0xf1, 0xd5, 0x9d, 0xdf, 0x03, 0x5d, 0xe2, 0xda, 0x9f, 0x7e,
|
||||
0x3a, 0x8e, 0x8c, 0xfa, 0x1b, 0x4b, 0xfb, 0xcb, 0xcf, 0xad, 0x01, 0x24, 0xbe, 0xc4, 0x55, 0x80,
|
||||
0x3e, 0x0a, 0x4a, 0xd1, 0x0f, 0x3d, 0xa1, 0x6c, 0xd4, 0x97, 0xf9, 0xd3, 0x2e, 0x68, 0xdf, 0x33,
|
||||
0xff, 0x58, 0x49, 0x7c, 0xcc, 0x2e, 0x5c, 0xfb, 0x9e, 0x4e, 0xcd, 0x24, 0xe2, 0xdb, 0xf7, 0xba,
|
||||
0x28, 0x4a, 0x1c, 0xda, 0xc9, 0xf5, 0xba, 0xc7, 0xbf, 0x9d, 0x53, 0x6f, 0xf4, 0x72, 0x68, 0xdd,
|
||||
0xdf, 0x4f, 0x57, 0xd6, 0xc9, 0xd9, 0x51, 0xd0, 0xfd, 0x74, 0xe5, 0x3e, 0x38, 0x6f, 0x0f, 0x62,
|
||||
0xf1, 0x05, 0x71, 0x24, 0xd8, 0x4b, 0x75, 0x73, 0xeb, 0x28, 0x6e, 0x63, 0xef, 0x5c, 0xdd, 0x6e,
|
||||
0xf6, 0x83, 0xe6, 0x95, 0xff, 0x69, 0xc9, 0x63, 0x56, 0x55, 0x7b, 0xf5, 0xb0, 0xcd, 0xd0, 0x2b,
|
||||
0x3f, 0xd8, 0xc6, 0xd2, 0x48, 0xbc, 0xf2, 0x77, 0x20, 0x88, 0xfd, 0x30, 0x78, 0xf5, 0x11, 0x9f,
|
||||
0x4d, 0x59, 0x9e, 0x84, 0xef, 0xda, 0xef, 0xea, 0x7c, 0x36, 0xae, 0x7f, 0xd6, 0xf1, 0xd6, 0x28,
|
||||
0xb3, 0x79, 0x04, 0xdd, 0x67, 0xa7, 0xcb, 0xd9, 0xf4, 0x22, 0x8f, 0xd1, 0x23, 0x68, 0xf3, 0xfb,
|
||||
0xb8, 0x36, 0x10, 0x8f, 0xa0, 0x16, 0x60, 0x5e, 0x01, 0x9b, 0x9f, 0x4f, 0xe6, 0x25, 0xeb, 0xbc,
|
||||
0x7f, 0x4b, 0x07, 0x69, 0x22, 0x5e, 0x01, 0x11, 0x82, 0x4a, 0x79, 0x52, 0x32, 0xe6, 0x2c, 0x65,
|
||||
0x6d, 0xf0, 0x96, 0x12, 0x00, 0xb3, 0x09, 0x36, 0x3f, 0xcb, 0xd7, 0xc6, 0x47, 0x3c, 0x8e, 0xb2,
|
||||
0x4a, 0xf0, 0x12, 0xdf, 0xd7, 0x48, 0x57, 0x0c, 0x11, 0x9b, 0x20, 0x09, 0xa3, 0x3a, 0x3c, 0x4d,
|
||||
0xf3, 0x99, 0xb3, 0x0e, 0xb5, 0xc1, 0x5b, 0x07, 0x00, 0xcc, 0xc4, 0x39, 0x62, 0xa2, 0x4c, 0xe3,
|
||||
0xaa, 0x3e, 0x98, 0x47, 0x65, 0xb4, 0x60, 0x82, 0x95, 0xf8, 0x9f, 0x39, 0x00, 0x32, 0xb6, 0x18,
|
||||
0x62, 0xe2, 0x50, 0x2c, 0x08, 0xfe, 0x34, 0x78, 0xb3, 0x9e, 0x51, 0x2c, 0x87, 0xbf, 0xf9, 0x70,
|
||||
0xbf, 0xf9, 0x73, 0x28, 0xe1, 0x5b, 0x3a, 0xc6, 0x54, 0x94, 0x2c, 0x5a, 0xa8, 0xd8, 0x6f, 0xe8,
|
||||
0xdf, 0x1b, 0xf0, 0xf6, 0xe8, 0xde, 0x7b, 0xff, 0xfe, 0x62, 0x6d, 0xf4, 0xf9, 0x17, 0x6b, 0xa3,
|
||||
0xff, 0x7e, 0xb1, 0x36, 0xfa, 0xfb, 0x97, 0x6b, 0xaf, 0x7c, 0xfe, 0xe5, 0xda, 0x2b, 0xff, 0xf9,
|
||||
0x72, 0xed, 0x95, 0x4f, 0x5f, 0x85, 0x3f, 0xcb, 0x72, 0xfa, 0x95, 0xe6, 0x8f, 0xab, 0xdc, 0xfd,
|
||||
0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0xa5, 0xc1, 0xd7, 0xba, 0x45, 0x00, 0x00,
|
||||
// 3258 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0xdd, 0x8e, 0x1c, 0x47,
|
||||
0xf5, 0xc0, 0x33, 0x37, 0xff, 0xfc, 0xe9, 0x90, 0x00, 0x1d, 0x30, 0xc1, 0x24, 0x6b, 0xc7, 0x89,
|
||||
0xf7, 0xc3, 0xeb, 0x9d, 0xdd, 0xd8, 0x10, 0x04, 0x37, 0x68, 0xbc, 0xeb, 0xb5, 0x57, 0xf1, 0xda,
|
||||
0x66, 0x67, 0x1d, 0x4b, 0x91, 0x90, 0xe8, 0xed, 0x29, 0xcf, 0x34, 0xdb, 0xd3, 0xd5, 0x74, 0xd7,
|
||||
0xcc, 0x7a, 0x40, 0x20, 0x10, 0x08, 0x04, 0x8a, 0x04, 0x12, 0x97, 0x3c, 0x02, 0x2f, 0xc2, 0x65,
|
||||
0x2e, 0xb9, 0x44, 0xf1, 0x8b, 0xa0, 0xee, 0x3a, 0x55, 0xd5, 0x75, 0xba, 0x4e, 0x75, 0x2f, 0x57,
|
||||
0x81, 0x39, 0xbf, 0xf3, 0x51, 0xdf, 0xe7, 0x54, 0xf5, 0x3a, 0xb8, 0x96, 0x9f, 0xed, 0xe6, 0x05,
|
||||
0x17, 0xbc, 0xdc, 0x2d, 0x59, 0xb1, 0x4c, 0x62, 0xa6, 0xfe, 0x3b, 0xac, 0x7f, 0x0e, 0x5f, 0x8f,
|
||||
0xb2, 0x95, 0x58, 0xe5, 0xec, 0xea, 0x3b, 0x86, 0x8c, 0xf9, 0x7c, 0x1e, 0x65, 0x93, 0x52, 0x22,
|
||||
0x57, 0xaf, 0x18, 0x09, 0x5b, 0xb2, 0x4c, 0xc0, 0xef, 0x77, 0xfe, 0xf9, 0xf9, 0x20, 0x78, 0x6b,
|
||||
0x3f, 0x4d, 0x58, 0x26, 0xf6, 0x41, 0x23, 0xfc, 0x2c, 0x78, 0x73, 0x94, 0xe7, 0x0f, 0x98, 0xf8,
|
||||
0x94, 0x15, 0x65, 0xc2, 0xb3, 0xf0, 0x83, 0x21, 0x38, 0x18, 0x9e, 0xe4, 0xf1, 0x70, 0x94, 0xe7,
|
||||
0x43, 0x23, 0x1c, 0x9e, 0xb0, 0x5f, 0x2c, 0x58, 0x29, 0xae, 0x7e, 0xe8, 0x87, 0xca, 0x9c, 0x67,
|
||||
0x25, 0x0b, 0x5f, 0x04, 0xdf, 0x18, 0xe5, 0xf9, 0x98, 0x89, 0x03, 0x56, 0x35, 0x60, 0x2c, 0x22,
|
||||
0xc1, 0xc2, 0x8d, 0x96, 0xaa, 0x0d, 0x68, 0x1f, 0x9b, 0xdd, 0x20, 0xf8, 0x39, 0x0d, 0xde, 0xa8,
|
||||
0xfc, 0xcc, 0x16, 0x62, 0xc2, 0x2f, 0xb2, 0xf0, 0xfd, 0xb6, 0x22, 0x88, 0xb4, 0xed, 0x1b, 0x3e,
|
||||
0x04, 0xac, 0x3e, 0x0f, 0xbe, 0xfa, 0x3c, 0x4a, 0x53, 0x26, 0xf6, 0x0b, 0x56, 0x05, 0x6e, 0xeb,
|
||||
0x48, 0xd1, 0x50, 0xca, 0xb4, 0xdd, 0x0f, 0xbc, 0x0c, 0x18, 0xfe, 0x2c, 0x78, 0x53, 0x4a, 0x4e,
|
||||
0x58, 0xcc, 0x97, 0xac, 0x08, 0x9d, 0x5a, 0x20, 0x24, 0xba, 0xbc, 0x05, 0x61, 0xdb, 0xfb, 0x3c,
|
||||
0x5b, 0xb2, 0x42, 0xb8, 0x6d, 0x83, 0xd0, 0x6f, 0xdb, 0x40, 0x60, 0x3b, 0x0d, 0xde, 0x6e, 0x76,
|
||||
0xc8, 0x98, 0x95, 0xf5, 0x84, 0xd9, 0xa2, 0xdb, 0x0c, 0x88, 0xf6, 0x73, 0xab, 0x0f, 0x0a, 0xde,
|
||||
0x92, 0x20, 0x04, 0x6f, 0x29, 0x2f, 0xb5, 0xb3, 0x4d, 0xa7, 0x85, 0x06, 0xa1, 0x7d, 0x6d, 0xf5,
|
||||
0x20, 0xc1, 0xd5, 0xcf, 0x82, 0xaf, 0x3d, 0xe7, 0xc5, 0x79, 0x99, 0x47, 0x31, 0x83, 0xc1, 0xbe,
|
||||
0x69, 0x6b, 0x2b, 0x29, 0x1e, 0xef, 0xf5, 0x2e, 0x0c, 0x3c, 0x5c, 0x04, 0x57, 0xb4, 0xf0, 0xc9,
|
||||
0xd9, 0xcf, 0x59, 0x2c, 0x1e, 0x25, 0xa5, 0x18, 0x4d, 0x26, 0xe1, 0x0e, 0x61, 0x41, 0x52, 0x43,
|
||||
0xc0, 0xb4, 0xc3, 0x61, 0x5f, 0x1c, 0x1c, 0xff, 0x76, 0x10, 0x7c, 0xc7, 0xe1, 0xf9, 0x84, 0xcd,
|
||||
0xf9, 0x92, 0x85, 0x7b, 0xdd, 0xd6, 0x24, 0xa9, 0xfd, 0x7f, 0x74, 0x09, 0x0d, 0x47, 0xef, 0x8e,
|
||||
0x59, 0xca, 0x62, 0x41, 0xf6, 0xae, 0x14, 0x77, 0xf6, 0xae, 0xc6, 0x1a, 0x13, 0x53, 0x09, 0x1f,
|
||||
0x30, 0xb1, 0xbf, 0x28, 0x0a, 0x96, 0x09, 0x3c, 0x31, 0xb5, 0xba, 0x41, 0xa8, 0x89, 0xe9, 0x46,
|
||||
0x1d, 0xed, 0x79, 0xc0, 0xc4, 0x28, 0x4d, 0xc9, 0xf6, 0x48, 0x71, 0x67, 0x7b, 0x34, 0x06, 0x1e,
|
||||
0x7e, 0xd3, 0x18, 0xb3, 0x31, 0x13, 0x47, 0xe5, 0xc3, 0x64, 0x3a, 0x4b, 0x93, 0xe9, 0x4c, 0xb0,
|
||||
0x49, 0xb8, 0x4b, 0x76, 0x8a, 0x0d, 0x6a, 0xaf, 0x7b, 0xfd, 0x15, 0x1c, 0x2d, 0xbc, 0xff, 0x32,
|
||||
0xe7, 0x05, 0x3d, 0x62, 0x52, 0xdc, 0xd9, 0x42, 0x8d, 0x81, 0x87, 0x9f, 0x06, 0x6f, 0x8d, 0xe2,
|
||||
0x98, 0x2f, 0x32, 0xbd, 0x07, 0xa2, 0x13, 0x45, 0x0a, 0x5b, 0x9b, 0xe0, 0xcd, 0x0e, 0xca, 0xec,
|
||||
0x82, 0x20, 0x83, 0xe5, 0xfc, 0x81, 0x53, 0x0f, 0x2d, 0xe6, 0x0f, 0xfd, 0x50, 0xcb, 0xf6, 0x01,
|
||||
0x4b, 0x19, 0x69, 0x5b, 0x0a, 0x3b, 0x6c, 0x6b, 0xa8, 0x65, 0x1b, 0x16, 0x8a, 0xdb, 0x36, 0x5a,
|
||||
0x26, 0x1f, 0xfa, 0xa1, 0xc6, 0x21, 0x09, 0xb6, 0x05, 0xcf, 0xf1, 0x21, 0xa9, 0x94, 0x04, 0xcf,
|
||||
0xa9, 0x43, 0xd2, 0x46, 0x5a, 0x56, 0x8f, 0xab, 0x0d, 0xc5, 0x6d, 0xf5, 0xb8, 0xb9, 0x83, 0xdc,
|
||||
0xf0, 0x21, 0x66, 0x41, 0xab, 0xf1, 0xe3, 0xd9, 0x8b, 0x64, 0xfa, 0x2c, 0x9f, 0x54, 0xa3, 0xb8,
|
||||
0xe5, 0x1e, 0xa0, 0x06, 0x42, 0x2c, 0x68, 0x02, 0x05, 0x6f, 0x3f, 0x09, 0x02, 0xb9, 0x7d, 0x3d,
|
||||
0xc9, 0x59, 0x16, 0x5e, 0xb7, 0x34, 0x61, 0x5f, 0xab, 0x24, 0xda, 0xf6, 0xfb, 0x1e, 0xc2, 0x74,
|
||||
0x8b, 0xfc, 0xbd, 0x3e, 0x70, 0x42, 0xa7, 0x46, 0x2d, 0x22, 0xba, 0x05, 0x21, 0x38, 0xd0, 0xf1,
|
||||
0x8c, 0x5f, 0xb8, 0x03, 0xad, 0x24, 0xfe, 0x40, 0x81, 0x30, 0x49, 0x0e, 0x04, 0xea, 0x4a, 0x72,
|
||||
0x54, 0x18, 0xbe, 0x24, 0x07, 0x33, 0x60, 0x98, 0x07, 0xdf, 0x6c, 0x1a, 0xbe, 0xc7, 0xf9, 0xf9,
|
||||
0x3c, 0x2a, 0xce, 0xc3, 0x5b, 0xb4, 0xb2, 0x62, 0xb4, 0xa3, 0xed, 0x5e, 0xac, 0xd9, 0xb4, 0x9a,
|
||||
0x0e, 0xc7, 0x0c, 0x6f, 0x5a, 0x96, 0xfe, 0x98, 0x51, 0x9b, 0x96, 0x03, 0xc3, 0x83, 0xfa, 0xa0,
|
||||
0x88, 0xf2, 0x99, 0x7b, 0x50, 0x6b, 0x91, 0x7f, 0x50, 0x15, 0x82, 0x47, 0x60, 0xcc, 0xa2, 0x22,
|
||||
0x9e, 0xb9, 0x47, 0x40, 0xca, 0xfc, 0x23, 0xa0, 0x19, 0x30, 0x5c, 0x04, 0xdf, 0x6a, 0x1a, 0x1e,
|
||||
0x2f, 0xce, 0xca, 0xb8, 0x48, 0xce, 0x58, 0xb8, 0x4d, 0x6b, 0x6b, 0x48, 0xbb, 0xba, 0xdd, 0x0f,
|
||||
0x06, 0x9f, 0x7f, 0x1a, 0x04, 0xef, 0x4a, 0xe6, 0x84, 0xa5, 0x91, 0x48, 0x78, 0x26, 0xd1, 0x83,
|
||||
0xa4, 0x14, 0x49, 0x16, 0x8b, 0xf0, 0x8e, 0xcb, 0x9c, 0x9b, 0xd5, 0x21, 0xdc, 0xbd, 0x94, 0x8e,
|
||||
0x49, 0x1f, 0xa1, 0xf5, 0x2a, 0xca, 0xa3, 0x49, 0x89, 0xd2, 0x47, 0xd5, 0x9a, 0x06, 0x41, 0xa4,
|
||||
0x8f, 0x6e, 0x12, 0x5c, 0xbd, 0x0c, 0xbe, 0xdd, 0xec, 0xe8, 0x67, 0x59, 0xa9, 0xbb, 0x7a, 0x87,
|
||||
0xee, 0xbd, 0x06, 0x46, 0x64, 0x77, 0x1e, 0x1c, 0x3c, 0xc7, 0xc1, 0xd7, 0x95, 0x67, 0x71, 0xc0,
|
||||
0x44, 0x94, 0xa4, 0x65, 0xb8, 0xee, 0xb6, 0xa1, 0xe4, 0xda, 0xd7, 0x46, 0x27, 0x87, 0x17, 0xd6,
|
||||
0xc1, 0x22, 0x4f, 0x93, 0xb8, 0x9d, 0x1d, 0x83, 0xae, 0x16, 0xfb, 0x17, 0x56, 0x13, 0x33, 0xdb,
|
||||
0xbd, 0x6e, 0x86, 0xfc, 0x1f, 0xa7, 0xab, 0x1c, 0x6f, 0xf7, 0x26, 0x42, 0x83, 0x10, 0xdb, 0x3d,
|
||||
0x81, 0xe2, 0xf6, 0x8c, 0x99, 0x78, 0x14, 0xad, 0xf8, 0x82, 0xd8, 0x28, 0xb4, 0xd8, 0xdf, 0x9e,
|
||||
0x26, 0x06, 0x1e, 0x16, 0xc1, 0x15, 0xed, 0xe1, 0x28, 0x13, 0xac, 0xc8, 0xa2, 0xf4, 0x30, 0x8d,
|
||||
0xa6, 0x65, 0x48, 0xac, 0x26, 0x9b, 0xd2, 0xfe, 0x76, 0x7a, 0xd2, 0x8e, 0x6e, 0x3c, 0x2a, 0x0f,
|
||||
0xa3, 0x25, 0x2f, 0x12, 0x41, 0x77, 0xa3, 0x41, 0x3a, 0xbb, 0xd1, 0x42, 0x9d, 0xde, 0x46, 0x45,
|
||||
0x3c, 0x4b, 0x96, 0x6c, 0xe2, 0xf1, 0xa6, 0x90, 0x1e, 0xde, 0x1a, 0x28, 0xf6, 0x56, 0x55, 0x18,
|
||||
0x66, 0x22, 0x3a, 0xbd, 0x59, 0x88, 0xdf, 0x1b, 0x46, 0xf1, 0xba, 0xaa, 0xe5, 0x32, 0xcd, 0x5b,
|
||||
0x27, 0xf5, 0xed, 0x4c, 0x6f, 0xa3, 0x93, 0xc3, 0xdb, 0x46, 0x25, 0xb4, 0x3b, 0x71, 0x87, 0xb2,
|
||||
0xe1, 0xee, 0xc8, 0x61, 0x5f, 0x9c, 0xf4, 0xac, 0x27, 0x8b, 0xdf, 0x73, 0x6b, 0xc2, 0x0c, 0xfb,
|
||||
0xe2, 0x78, 0x18, 0x47, 0x79, 0x9e, 0xae, 0x4e, 0xd9, 0x3c, 0x4f, 0xc9, 0x61, 0xb4, 0x10, 0xff,
|
||||
0x30, 0x62, 0x14, 0x1f, 0xd8, 0xa7, 0xbc, 0x4a, 0x07, 0x9c, 0x07, 0x76, 0x2d, 0xf2, 0x1f, 0xd8,
|
||||
0x0a, 0xc1, 0xe7, 0xea, 0x68, 0x32, 0x79, 0x9e, 0x88, 0x99, 0xfc, 0x3f, 0x47, 0x13, 0xf7, 0xb9,
|
||||
0x8a, 0x20, 0xff, 0xb9, 0xda, 0x86, 0xcd, 0x4d, 0x9a, 0xca, 0xfc, 0xa2, 0x82, 0xdd, 0x5b, 0x3d,
|
||||
0x4a, 0xb2, 0xf3, 0xd0, 0xbd, 0x83, 0x1b, 0x80, 0xb8, 0x49, 0x73, 0x82, 0xb8, 0x6d, 0x55, 0x3a,
|
||||
0x7b, 0xaf, 0x60, 0xd1, 0x24, 0x2e, 0x16, 0xf3, 0xb3, 0xd2, 0xdd, 0x36, 0x04, 0xf9, 0xdb, 0xd6,
|
||||
0x86, 0x71, 0xa6, 0x38, 0x66, 0xa2, 0xe9, 0x92, 0xda, 0x1e, 0x5c, 0x1e, 0xb7, 0x7b, 0xb1, 0x38,
|
||||
0x8d, 0x7e, 0x96, 0x4d, 0xb8, 0x3b, 0x8d, 0xae, 0x24, 0xfe, 0x34, 0x1a, 0x08, 0x6c, 0xf2, 0x84,
|
||||
0x51, 0x26, 0x2b, 0x89, 0xdf, 0x24, 0x10, 0xb8, 0x5b, 0x8e, 0xe6, 0x55, 0xed, 0x7c, 0x1c, 0x15,
|
||||
0xe7, 0xf5, 0xed, 0xa6, 0xb3, 0x5b, 0x6c, 0xc6, 0xdf, 0x2d, 0x2d, 0xd6, 0xb5, 0xe9, 0x41, 0xd9,
|
||||
0x4f, 0x6e, 0x7a, 0xa8, 0xee, 0xdf, 0xe8, 0xe4, 0xf0, 0x06, 0xa0, 0x12, 0xf8, 0x43, 0x26, 0xe2,
|
||||
0x99, 0x7b, 0x03, 0xb0, 0x10, 0xff, 0x06, 0x80, 0x51, 0xdc, 0xa4, 0x53, 0xae, 0x0b, 0x90, 0x75,
|
||||
0xf7, 0x12, 0x6f, 0x15, 0x1f, 0x1b, 0x9d, 0x1c, 0x4e, 0xe0, 0x65, 0xc7, 0xba, 0x13, 0x78, 0x29,
|
||||
0xf3, 0x27, 0xf0, 0x9a, 0xc1, 0xd1, 0x4b, 0x41, 0xd5, 0x9d, 0xee, 0xe8, 0x8d, 0xdc, 0x1f, 0xbd,
|
||||
0xc5, 0xb9, 0xeb, 0x34, 0x95, 0x56, 0xfb, 0xea, 0x34, 0xc5, 0xf4, 0xa9, 0xd3, 0x1a, 0x2c, 0x38,
|
||||
0xfc, 0xdd, 0x20, 0xb8, 0xea, 0xf2, 0xf8, 0x24, 0xaf, 0xfd, 0xee, 0x75, 0xdb, 0x92, 0x24, 0x71,
|
||||
0x25, 0xe9, 0xd7, 0x80, 0x18, 0x7e, 0x15, 0xbc, 0xa3, 0x44, 0xe6, 0xc6, 0x12, 0x02, 0xb0, 0x8f,
|
||||
0x34, 0x1d, 0x3f, 0xe6, 0xb4, 0xfb, 0xdd, 0xde, 0xbc, 0xc9, 0x3f, 0xed, 0xb8, 0x4a, 0x94, 0x7f,
|
||||
0x6a, 0x1b, 0x20, 0x26, 0xf2, 0x4f, 0x07, 0x86, 0x4f, 0x0b, 0x85, 0x8c, 0x26, 0x13, 0xe7, 0x69,
|
||||
0xa1, 0x4d, 0x34, 0xaf, 0x98, 0x37, 0xbb, 0x41, 0x3c, 0x77, 0x94, 0x18, 0x52, 0xa5, 0x5b, 0x3e,
|
||||
0x0b, 0x28, 0x5d, 0xda, 0xee, 0xc5, 0x9a, 0x8b, 0xd1, 0x56, 0xc3, 0x0e, 0x59, 0x24, 0x16, 0x45,
|
||||
0xeb, 0x62, 0xb4, 0x1d, 0xb7, 0x02, 0x89, 0x8b, 0x51, 0xaf, 0x02, 0x59, 0xde, 0xca, 0x21, 0xd6,
|
||||
0x31, 0xdc, 0xf1, 0x99, 0xb4, 0x59, 0x6f, 0x79, 0x4b, 0xeb, 0x40, 0x24, 0x7f, 0x18, 0x04, 0xdf,
|
||||
0xb5, 0xd1, 0xfa, 0xea, 0x7f, 0x19, 0x25, 0x69, 0x74, 0x96, 0xb2, 0xf0, 0x23, 0x9f, 0x51, 0x0b,
|
||||
0xd5, 0x71, 0xdc, 0xb9, 0x8c, 0x0a, 0xae, 0x74, 0xe4, 0x7a, 0x6b, 0x14, 0x6f, 0xb7, 0xe9, 0x55,
|
||||
0xe9, 0xa8, 0xdf, 0x76, 0x7a, 0xd2, 0xe6, 0x39, 0xc5, 0xfc, 0xdc, 0xec, 0x00, 0x67, 0xfe, 0x0a,
|
||||
0xba, 0x8d, 0x96, 0x78, 0xf3, 0x57, 0x27, 0x0e, 0x8e, 0x85, 0xca, 0x8f, 0x9a, 0x8e, 0xab, 0xd5,
|
||||
0x75, 0xbb, 0xd3, 0x50, 0x73, 0x89, 0xed, 0xf4, 0xa4, 0xc1, 0xeb, 0xaf, 0x83, 0x77, 0xda, 0x5e,
|
||||
0xe1, 0x09, 0x67, 0xb7, 0xd3, 0x14, 0x7a, 0xc1, 0xd9, 0xeb, 0xaf, 0x60, 0xae, 0x52, 0x1e, 0x26,
|
||||
0xa5, 0xe0, 0xc5, 0x6a, 0x3c, 0xe3, 0x17, 0xea, 0x9d, 0xd8, 0xde, 0x26, 0x00, 0x18, 0x36, 0x08,
|
||||
0xe2, 0x2a, 0xc5, 0x4d, 0xb6, 0x5c, 0x99, 0xf7, 0xe4, 0x92, 0x70, 0xd5, 0x20, 0x3a, 0x5c, 0xd9,
|
||||
0xa4, 0xd9, 0x24, 0x55, 0xab, 0xcc, 0xe3, 0xf7, 0x86, 0x3b, 0xd4, 0xf6, 0x03, 0xf8, 0x66, 0x37,
|
||||
0x68, 0x8a, 0x90, 0xc3, 0x24, 0x65, 0x4f, 0x5e, 0xbc, 0x48, 0x79, 0x34, 0x41, 0x45, 0x48, 0x25,
|
||||
0x19, 0x82, 0x88, 0x28, 0x42, 0x10, 0x62, 0x0e, 0x91, 0x4a, 0x50, 0xcd, 0x4e, 0x65, 0xf9, 0x66,
|
||||
0x5b, 0xad, 0x21, 0x26, 0x0e, 0x11, 0x07, 0x66, 0x52, 0xda, 0x4a, 0xf8, 0x2c, 0xaf, 0x8d, 0x5f,
|
||||
0x6f, 0x6b, 0x49, 0x09, 0x91, 0xd2, 0xda, 0x84, 0xc9, 0x94, 0xaa, 0xdf, 0x0f, 0xf8, 0x45, 0x56,
|
||||
0x1b, 0x75, 0x34, 0x54, 0xc9, 0x88, 0x4c, 0x09, 0x33, 0x60, 0xf8, 0x93, 0xe0, 0xff, 0x6b, 0xc3,
|
||||
0x05, 0xcf, 0xc3, 0x35, 0x87, 0x42, 0xd1, 0x78, 0xd5, 0xb8, 0x46, 0xca, 0x4d, 0x0d, 0xf4, 0x38,
|
||||
0x5a, 0x26, 0x53, 0xbd, 0xa9, 0xc8, 0x35, 0x82, 0x6b, 0x20, 0xc3, 0x0c, 0x1b, 0x10, 0x51, 0x03,
|
||||
0x91, 0x30, 0xf8, 0xfc, 0xfb, 0x20, 0xb8, 0x6e, 0x98, 0x07, 0xea, 0xe2, 0xea, 0x28, 0x7b, 0xc1,
|
||||
0xab, 0x82, 0xb0, 0x2a, 0xd2, 0xca, 0xf0, 0x63, 0xca, 0xa4, 0x9b, 0xd7, 0xa1, 0xfc, 0xe0, 0xd2,
|
||||
0x7a, 0x26, 0x4d, 0x52, 0x45, 0xb5, 0xdc, 0x8b, 0x0f, 0x0b, 0x3e, 0x97, 0x1a, 0x28, 0x4d, 0xd2,
|
||||
0xb5, 0x37, 0xe6, 0x88, 0x34, 0xc9, 0xc7, 0x37, 0xce, 0x5a, 0xca, 0x7b, 0x7d, 0xc2, 0xdc, 0xe9,
|
||||
0x67, 0xd1, 0x3a, 0x67, 0xee, 0x5e, 0x4a, 0xc7, 0xbc, 0xca, 0xe9, 0x40, 0x52, 0x9e, 0xe1, 0x17,
|
||||
0x3f, 0x63, 0xa5, 0x12, 0x12, 0xaf, 0x72, 0x2d, 0xc8, 0xec, 0x42, 0x4a, 0x24, 0x4b, 0xa5, 0x51,
|
||||
0x9a, 0xa2, 0x5d, 0x48, 0xab, 0x6a, 0x80, 0xd8, 0x85, 0x9c, 0x20, 0xf8, 0x39, 0x09, 0xde, 0xa8,
|
||||
0x06, 0xf7, 0x69, 0xc1, 0x96, 0x09, 0xc3, 0x6f, 0x47, 0x0d, 0x09, 0xb1, 0x9c, 0x6d, 0xc2, 0x3c,
|
||||
0xe2, 0x3e, 0xcb, 0xca, 0x3c, 0x8d, 0xca, 0x19, 0xbc, 0x5d, 0xd8, 0x6d, 0x56, 0x42, 0xfc, 0x7a,
|
||||
0x71, 0xb3, 0x83, 0x32, 0xe5, 0x8f, 0x92, 0xe9, 0x1d, 0x63, 0xdd, 0xad, 0xda, 0xda, 0x35, 0x36,
|
||||
0x3a, 0x39, 0xb3, 0x3b, 0xdf, 0x4b, 0x79, 0x7c, 0x0e, 0xdb, 0x9c, 0xdd, 0xea, 0x5a, 0x82, 0xf7,
|
||||
0xb9, 0x1b, 0x3e, 0xc4, 0x6c, 0x74, 0xb5, 0xe0, 0x84, 0xe5, 0x69, 0x14, 0xe3, 0x57, 0x35, 0xa9,
|
||||
0x03, 0x32, 0x62, 0xa3, 0xc3, 0x0c, 0x0a, 0x17, 0x5e, 0xeb, 0x5c, 0xe1, 0xa2, 0xc7, 0xba, 0x1b,
|
||||
0x3e, 0xc4, 0x6c, 0xf5, 0xb5, 0x60, 0x9c, 0xa7, 0x89, 0x40, 0x73, 0x43, 0x6a, 0xd4, 0x12, 0x62,
|
||||
0x6e, 0xd8, 0x04, 0x32, 0x79, 0xcc, 0x8a, 0x29, 0x73, 0x9a, 0xac, 0x25, 0x5e, 0x93, 0x8a, 0x00,
|
||||
0x93, 0x8f, 0x83, 0xaf, 0xc8, 0xb6, 0xf3, 0x7c, 0x15, 0x5e, 0x73, 0x35, 0x8b, 0xe7, 0x2b, 0x6d,
|
||||
0xf0, 0x3a, 0x0d, 0xa0, 0x10, 0x9f, 0x46, 0xa5, 0x70, 0x87, 0x58, 0x4b, 0xbc, 0x21, 0x2a, 0xc2,
|
||||
0x9c, 0x43, 0x32, 0xc4, 0x85, 0x40, 0xe7, 0x10, 0x04, 0xd0, 0x78, 0x4c, 0xb8, 0x46, 0xca, 0xcd,
|
||||
0xf2, 0x92, 0xa3, 0xc2, 0xc4, 0x61, 0xc2, 0xd2, 0x49, 0x89, 0x96, 0x17, 0xf4, 0xbb, 0x92, 0x12,
|
||||
0xcb, 0xab, 0x4d, 0xa1, 0xa9, 0x04, 0x37, 0x3d, 0xae, 0xd6, 0xa1, 0x4b, 0x9e, 0x1b, 0x3e, 0xc4,
|
||||
0xe4, 0x25, 0xb5, 0xa0, 0x71, 0x71, 0xee, 0x8a, 0xc7, 0x71, 0x6f, 0xbe, 0xde, 0x85, 0x81, 0x87,
|
||||
0xbf, 0x0c, 0x82, 0xf7, 0xb4, 0x8b, 0x63, 0xbe, 0x64, 0xa7, 0xfc, 0xfe, 0xcb, 0xfa, 0xf9, 0x6f,
|
||||
0x0a, 0x47, 0xd3, 0x5d, 0xc2, 0x92, 0x0b, 0xd6, 0xee, 0xbf, 0x77, 0x39, 0x25, 0x73, 0x42, 0xa2,
|
||||
0x58, 0x1e, 0xb3, 0x0b, 0xe7, 0x09, 0x89, 0x2d, 0x6a, 0x8e, 0x38, 0x21, 0x7d, 0xbc, 0xa9, 0x86,
|
||||
0xb5, 0x73, 0xf8, 0x58, 0xef, 0x94, 0xab, 0x64, 0x85, 0xb2, 0x86, 0x41, 0xa2, 0x2e, 0xf0, 0x2a,
|
||||
0x98, 0x64, 0x5d, 0xfb, 0x37, 0x93, 0x74, 0x93, 0xb0, 0xd3, 0x9e, 0xa8, 0x5b, 0x3d, 0x48, 0x87,
|
||||
0x2b, 0xf3, 0xfa, 0x43, 0xb9, 0x6a, 0x3f, 0xfe, 0x6c, 0xf5, 0x20, 0x1b, 0x95, 0x75, 0xb3, 0x59,
|
||||
0xf7, 0xa2, 0xf8, 0x7c, 0x5a, 0xf0, 0x45, 0x36, 0xd9, 0xe7, 0x29, 0x2f, 0x50, 0x65, 0x6d, 0x45,
|
||||
0x8d, 0x50, 0xa2, 0xb2, 0xee, 0x50, 0x31, 0x89, 0x41, 0x33, 0x8a, 0x51, 0x9a, 0x4c, 0x71, 0x79,
|
||||
0x62, 0x19, 0xaa, 0x01, 0x22, 0x31, 0x70, 0x82, 0x8e, 0x49, 0x24, 0xcb, 0x17, 0x91, 0xc4, 0x51,
|
||||
0x2a, 0xfd, 0xed, 0xd2, 0x66, 0x2c, 0xb0, 0x73, 0x12, 0x39, 0x14, 0x1c, 0xed, 0x3c, 0x5d, 0x14,
|
||||
0xd9, 0x51, 0x26, 0x38, 0xd9, 0x4e, 0x05, 0x74, 0xb6, 0xb3, 0x01, 0x9a, 0x6c, 0xa2, 0x16, 0x9f,
|
||||
0xb2, 0x97, 0x55, 0x34, 0xd5, 0x7f, 0x42, 0xc7, 0x96, 0x53, 0xfd, 0x3e, 0x04, 0x39, 0x91, 0x4d,
|
||||
0xb8, 0x38, 0xd4, 0x18, 0x70, 0x22, 0x27, 0x8c, 0x47, 0xdb, 0x9e, 0x26, 0x9b, 0xdd, 0xa0, 0xdb,
|
||||
0xcf, 0x58, 0xac, 0x52, 0xe6, 0xf3, 0x53, 0x03, 0x7d, 0xfc, 0x28, 0xd0, 0xdc, 0xd6, 0x5b, 0xed,
|
||||
0x99, 0xb1, 0xf8, 0xbc, 0xf5, 0xc6, 0x6b, 0x07, 0x2a, 0x11, 0xe2, 0xb6, 0x9e, 0x40, 0xdd, 0x43,
|
||||
0x74, 0x14, 0xf3, 0xcc, 0x37, 0x44, 0x95, 0xbc, 0xcf, 0x10, 0x01, 0x67, 0xaa, 0x3b, 0x2d, 0x85,
|
||||
0x99, 0x29, 0x87, 0x69, 0x9b, 0xb0, 0xd0, 0x84, 0x88, 0xea, 0x8e, 0x84, 0xcd, 0x3d, 0x29, 0xf6,
|
||||
0x79, 0xdc, 0xfe, 0x16, 0xaa, 0x65, 0xe5, 0x98, 0xfe, 0x16, 0x8a, 0x62, 0xe9, 0x46, 0xca, 0x39,
|
||||
0xd2, 0x61, 0xc5, 0x9e, 0x27, 0xb7, 0xfb, 0xc1, 0xe6, 0x51, 0xd9, 0xf2, 0xb9, 0x9f, 0xb2, 0xa8,
|
||||
0x90, 0x5e, 0x77, 0x3c, 0x86, 0x0c, 0x46, 0x5c, 0xca, 0x79, 0x70, 0xb4, 0x85, 0x59, 0x9e, 0xf7,
|
||||
0x79, 0x26, 0x58, 0x26, 0x5c, 0x5b, 0x98, 0x6d, 0x0c, 0x40, 0xdf, 0x16, 0x46, 0x29, 0xa0, 0x79,
|
||||
0x7b, 0x98, 0xa4, 0x6c, 0xcc, 0xc4, 0xe3, 0x68, 0xce, 0x5c, 0xf3, 0xb6, 0xbe, 0x6a, 0x00, 0xb9,
|
||||
0x6f, 0xde, 0x22, 0x0e, 0x2d, 0xf9, 0xa3, 0x79, 0x34, 0xd5, 0x5e, 0x1c, 0xda, 0xb5, 0xbc, 0xe5,
|
||||
0x66, 0xb3, 0x1b, 0x44, 0x7e, 0x3e, 0x4d, 0x26, 0x8c, 0x7b, 0xfc, 0xd4, 0xf2, 0x3e, 0x7e, 0x30,
|
||||
0x88, 0x32, 0xa7, 0xaa, 0xb5, 0xb2, 0x1e, 0x19, 0x65, 0x13, 0xa8, 0xc2, 0x86, 0x44, 0xa7, 0x20,
|
||||
0xce, 0x97, 0x39, 0x11, 0x3c, 0x5a, 0x1f, 0xea, 0x0a, 0xcd, 0xb7, 0x3e, 0xf4, 0x0d, 0x59, 0x9f,
|
||||
0xf5, 0xe1, 0x82, 0xc1, 0xe7, 0x2f, 0x61, 0x7d, 0x1c, 0x44, 0x22, 0xaa, 0xea, 0xe8, 0x4f, 0x13,
|
||||
0x76, 0x01, 0x65, 0x9c, 0xa3, 0xbd, 0x8a, 0x1a, 0x56, 0x18, 0xae, 0xe9, 0x76, 0x7b, 0xf3, 0x1e,
|
||||
0xdf, 0x90, 0x9d, 0x77, 0xfa, 0x46, 0x69, 0xfa, 0x6e, 0x6f, 0xde, 0xe3, 0x1b, 0xbe, 0xe7, 0xed,
|
||||
0xf4, 0x8d, 0x3e, 0xea, 0xdd, 0xed, 0xcd, 0x83, 0xef, 0xdf, 0x0f, 0x82, 0xab, 0x2d, 0xe7, 0x55,
|
||||
0x0e, 0x14, 0x8b, 0x64, 0xc9, 0x5c, 0xa9, 0x9c, 0x6d, 0x4f, 0xa3, 0xbe, 0x54, 0x8e, 0x56, 0x81,
|
||||
0x28, 0xfe, 0x3c, 0x08, 0xde, 0x75, 0x45, 0xf1, 0x94, 0x97, 0x49, 0xfd, 0xe4, 0x78, 0xb7, 0x87,
|
||||
0x51, 0x05, 0xfb, 0x0a, 0x16, 0x9f, 0x92, 0x79, 0xb0, 0xb1, 0xd0, 0x6a, 0x9e, 0xf2, 0x45, 0x11,
|
||||
0xe3, 0x07, 0x1b, 0xdb, 0x9e, 0xa6, 0x88, 0x17, 0x0c, 0x9a, 0x36, 0x2f, 0x18, 0x16, 0xd3, 0x7c,
|
||||
0x3a, 0xf1, 0x8d, 0xaa, 0xf3, 0xf5, 0x64, 0xaf, 0xbf, 0x02, 0xb8, 0xff, 0xa3, 0xca, 0xe9, 0xb1,
|
||||
0x7f, 0x58, 0x04, 0x77, 0xfa, 0x58, 0x44, 0x0b, 0xe1, 0xee, 0xa5, 0x74, 0x20, 0x90, 0x7f, 0x0c,
|
||||
0x82, 0x1b, 0xce, 0x40, 0xec, 0xd7, 0xbb, 0x1f, 0xf6, 0xb1, 0xed, 0x7e, 0xc5, 0xfb, 0xd1, 0xff,
|
||||
0xa2, 0x0a, 0xd1, 0x7d, 0xae, 0x4a, 0x6b, 0xa5, 0xf1, 0xa0, 0xe0, 0x8b, 0xfc, 0x49, 0x31, 0x61,
|
||||
0x05, 0xac, 0x58, 0xdf, 0xa4, 0x33, 0x30, 0x5e, 0xb7, 0xdf, 0xbf, 0xa4, 0x16, 0x84, 0xf3, 0xd7,
|
||||
0x41, 0xb0, 0x66, 0xc1, 0xf0, 0x69, 0x52, 0x23, 0x1e, 0x9f, 0xe5, 0x06, 0x8d, 0x03, 0xfa, 0xf8,
|
||||
0xb2, 0x6a, 0x38, 0x43, 0xad, 0xfa, 0x0d, 0x36, 0x6f, 0x57, 0x86, 0x5a, 0x77, 0x2b, 0xda, 0xb4,
|
||||
0x37, 0x3a, 0x39, 0x97, 0x93, 0xfb, 0x2f, 0xf3, 0x28, 0x9b, 0xd0, 0x4e, 0xa4, 0xbc, 0xdb, 0x89,
|
||||
0xe6, 0x70, 0x66, 0x5f, 0x49, 0x4f, 0xb8, 0x3a, 0x89, 0xb6, 0x28, 0x7d, 0x8d, 0x78, 0x33, 0xfb,
|
||||
0x16, 0x4a, 0x78, 0x83, 0x65, 0xe7, 0xf3, 0x86, 0x56, 0xdb, 0xad, 0x3e, 0x28, 0xda, 0xe3, 0xb4,
|
||||
0x37, 0x7d, 0x61, 0x70, 0xdb, 0x67, 0xa5, 0x75, 0x69, 0xb0, 0xd3, 0x93, 0x26, 0xdc, 0x8e, 0x99,
|
||||
0x78, 0xc8, 0xa2, 0x09, 0x2b, 0xbc, 0x6e, 0x35, 0xd5, 0xcb, 0x6d, 0x93, 0x76, 0xb9, 0xdd, 0xe7,
|
||||
0xe9, 0x62, 0x9e, 0xc1, 0x60, 0x92, 0x6e, 0x9b, 0x54, 0xb7, 0x5b, 0x44, 0xe3, 0x9a, 0xc6, 0xb8,
|
||||
0xad, 0xff, 0x02, 0xe8, 0x96, 0xdf, 0x8c, 0xf5, 0xa7, 0x40, 0xdb, 0xbd, 0x58, 0xba, 0x9d, 0x30,
|
||||
0x8d, 0x3a, 0xda, 0x89, 0x66, 0xd2, 0x4e, 0x4f, 0x1a, 0x17, 0x17, 0x0d, 0xb7, 0x7a, 0x3e, 0xed,
|
||||
0x76, 0xd8, 0x6a, 0x4d, 0xa9, 0xbd, 0xfe, 0x0a, 0xb8, 0x94, 0x83, 0x59, 0x55, 0x6d, 0xdd, 0x87,
|
||||
0x49, 0x9a, 0x86, 0xdb, 0x9e, 0x69, 0xa2, 0x20, 0x6f, 0x29, 0xe7, 0x80, 0x89, 0x99, 0xac, 0x4a,
|
||||
0x9f, 0x2c, 0xec, 0xb2, 0x53, 0x53, 0xbd, 0x66, 0x72, 0x93, 0x46, 0x25, 0x41, 0xa3, 0xab, 0x75,
|
||||
0x6b, 0x87, 0xfe, 0x8e, 0x6b, 0x35, 0x78, 0xb7, 0x37, 0x8f, 0x6e, 0xdb, 0x6b, 0x6a, 0xcc, 0x0b,
|
||||
0xe1, 0xba, 0x6d, 0x97, 0x26, 0xc6, 0xcd, 0x4b, 0xf1, 0x9b, 0x1d, 0x54, 0xeb, 0x9a, 0x2d, 0x83,
|
||||
0xc7, 0x1b, 0xf3, 0xa1, 0xaf, 0x6b, 0x1a, 0xd5, 0x9f, 0xe5, 0x62, 0xd0, 0x37, 0x8d, 0x28, 0x85,
|
||||
0xc6, 0x57, 0x77, 0x9a, 0x53, 0x37, 0x81, 0x79, 0xce, 0xa2, 0x22, 0xca, 0x62, 0xfc, 0x87, 0xc0,
|
||||
0xc6, 0x60, 0x8b, 0x24, 0xbe, 0xba, 0xf3, 0x6b, 0xa0, 0x4b, 0x5c, 0xfb, 0xd3, 0x4f, 0x47, 0xc9,
|
||||
0xa8, 0xbf, 0xb1, 0xb4, 0xbf, 0xfc, 0xdc, 0xea, 0x41, 0xe2, 0x4b, 0x5c, 0x05, 0xe8, 0x52, 0x50,
|
||||
0x3a, 0xfd, 0xc8, 0x63, 0xca, 0x46, 0x7d, 0x99, 0x3f, 0xad, 0x82, 0xce, 0x3d, 0xf3, 0xc7, 0x4a,
|
||||
0xe2, 0x13, 0xb6, 0x72, 0x9d, 0x7b, 0x3a, 0x35, 0x93, 0x88, 0xef, 0xdc, 0x6b, 0xa3, 0x28, 0x71,
|
||||
0x68, 0x26, 0xd7, 0xeb, 0x1e, 0xfd, 0x66, 0x4e, 0xbd, 0xd1, 0xc9, 0xa1, 0x7d, 0xff, 0x20, 0x59,
|
||||
0x5a, 0x95, 0xb3, 0x23, 0xd0, 0x83, 0x64, 0xe9, 0x2e, 0x9c, 0xb7, 0x7b, 0xb1, 0xf8, 0x82, 0x38,
|
||||
0x12, 0xec, 0xa5, 0xba, 0xb9, 0x75, 0x84, 0x5b, 0xcb, 0x5b, 0x57, 0xb7, 0x9b, 0xdd, 0xa0, 0x79,
|
||||
0xe5, 0x7f, 0x5a, 0xf0, 0x98, 0x95, 0xe5, 0x7e, 0x35, 0x6d, 0x53, 0xf4, 0xca, 0x0f, 0xb2, 0xa1,
|
||||
0x14, 0x12, 0xaf, 0xfc, 0x2d, 0x08, 0x6c, 0x3f, 0x0c, 0x5e, 0x7f, 0xc4, 0xa7, 0x63, 0x96, 0x4d,
|
||||
0xc2, 0xf7, 0xec, 0x77, 0x75, 0x3e, 0x1d, 0x56, 0x3f, 0x6b, 0x7b, 0x6b, 0x94, 0xd8, 0x3c, 0x82,
|
||||
0x1e, 0xb0, 0xb3, 0xc5, 0x74, 0xbc, 0xca, 0x62, 0xf4, 0x08, 0x5a, 0xff, 0x3e, 0xac, 0x04, 0xc4,
|
||||
0x23, 0xa8, 0x05, 0x98, 0x57, 0xc0, 0xfa, 0xe7, 0xd3, 0x59, 0xc1, 0x5a, 0xef, 0xdf, 0x52, 0x41,
|
||||
0x8a, 0x88, 0x57, 0x40, 0x84, 0xa0, 0x28, 0x4f, 0x0b, 0xc6, 0x9c, 0x51, 0x56, 0x02, 0x6f, 0x94,
|
||||
0x00, 0x98, 0x43, 0xb0, 0xfe, 0x59, 0xbe, 0x36, 0x3e, 0xe2, 0x71, 0x94, 0x96, 0x82, 0x17, 0xf8,
|
||||
0xbe, 0x46, 0xaa, 0x62, 0x88, 0x38, 0x04, 0x49, 0x18, 0xb5, 0xe1, 0x69, 0x92, 0x4d, 0x9d, 0x6d,
|
||||
0xa8, 0x04, 0xde, 0x36, 0x00, 0x60, 0x16, 0xce, 0x31, 0x13, 0x45, 0x12, 0x97, 0x55, 0x61, 0x1e,
|
||||
0x15, 0xd1, 0x9c, 0x09, 0x56, 0xe0, 0x3f, 0x73, 0x00, 0x64, 0x68, 0x31, 0xc4, 0xc2, 0xa1, 0x58,
|
||||
0x70, 0xf8, 0xe3, 0xe0, 0xed, 0x6a, 0x45, 0xb1, 0x0c, 0xfe, 0xbd, 0x8b, 0xfb, 0xf5, 0x3f, 0x05,
|
||||
0x13, 0x5e, 0xd1, 0x36, 0xc6, 0xa2, 0x60, 0xd1, 0x5c, 0xd9, 0x7e, 0x4b, 0xff, 0x5e, 0x83, 0x7b,
|
||||
0x83, 0x7b, 0xef, 0xff, 0xeb, 0xcb, 0xb5, 0xc1, 0x17, 0x5f, 0xae, 0x0d, 0xfe, 0xf3, 0xe5, 0xda,
|
||||
0xe0, 0x6f, 0xaf, 0xd6, 0x5e, 0xfb, 0xe2, 0xd5, 0xda, 0x6b, 0xff, 0x7e, 0xb5, 0xf6, 0xda, 0x67,
|
||||
0xaf, 0xc3, 0x3f, 0x49, 0x73, 0xf6, 0x7f, 0xf5, 0x3f, 0x2c, 0x73, 0xf7, 0xbf, 0x01, 0x00, 0x00,
|
||||
0xff, 0xff, 0xdc, 0x53, 0x3d, 0x0a, 0xb6, 0x46, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
@ -255,6 +258,8 @@ type ClientCommandsClient interface {
|
|||
// Workspace
|
||||
// ***
|
||||
WorkspaceCreate(ctx context.Context, in *pb.RpcWorkspaceCreateRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceCreateResponse, error)
|
||||
WorkspaceObjectListAdd(ctx context.Context, in *pb.RpcWorkspaceObjectListAddRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceObjectListAddResponse, error)
|
||||
WorkspaceObjectListRemove(ctx context.Context, in *pb.RpcWorkspaceObjectListRemoveRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceObjectListRemoveResponse, error)
|
||||
WorkspaceSelect(ctx context.Context, in *pb.RpcWorkspaceSelectRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceSelectResponse, error)
|
||||
WorkspaceGetCurrent(ctx context.Context, in *pb.RpcWorkspaceGetCurrentRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceGetCurrentResponse, error)
|
||||
WorkspaceGetAll(ctx context.Context, in *pb.RpcWorkspaceGetAllRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceGetAllResponse, error)
|
||||
|
@ -533,6 +538,24 @@ func (c *clientCommandsClient) WorkspaceCreate(ctx context.Context, in *pb.RpcWo
|
|||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clientCommandsClient) WorkspaceObjectListAdd(ctx context.Context, in *pb.RpcWorkspaceObjectListAddRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceObjectListAddResponse, error) {
|
||||
out := new(pb.RpcWorkspaceObjectListAddResponse)
|
||||
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/WorkspaceObjectListAdd", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clientCommandsClient) WorkspaceObjectListRemove(ctx context.Context, in *pb.RpcWorkspaceObjectListRemoveRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceObjectListRemoveResponse, error) {
|
||||
out := new(pb.RpcWorkspaceObjectListRemoveResponse)
|
||||
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/WorkspaceObjectListRemove", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clientCommandsClient) WorkspaceSelect(ctx context.Context, in *pb.RpcWorkspaceSelectRequest, opts ...grpc.CallOption) (*pb.RpcWorkspaceSelectResponse, error) {
|
||||
out := new(pb.RpcWorkspaceSelectResponse)
|
||||
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/WorkspaceSelect", in, out, opts...)
|
||||
|
@ -1975,6 +1998,8 @@ type ClientCommandsServer interface {
|
|||
// Workspace
|
||||
// ***
|
||||
WorkspaceCreate(context.Context, *pb.RpcWorkspaceCreateRequest) *pb.RpcWorkspaceCreateResponse
|
||||
WorkspaceObjectListAdd(context.Context, *pb.RpcWorkspaceObjectListAddRequest) *pb.RpcWorkspaceObjectListAddResponse
|
||||
WorkspaceObjectListRemove(context.Context, *pb.RpcWorkspaceObjectListRemoveRequest) *pb.RpcWorkspaceObjectListRemoveResponse
|
||||
WorkspaceSelect(context.Context, *pb.RpcWorkspaceSelectRequest) *pb.RpcWorkspaceSelectResponse
|
||||
WorkspaceGetCurrent(context.Context, *pb.RpcWorkspaceGetCurrentRequest) *pb.RpcWorkspaceGetCurrentResponse
|
||||
WorkspaceGetAll(context.Context, *pb.RpcWorkspaceGetAllRequest) *pb.RpcWorkspaceGetAllResponse
|
||||
|
@ -2195,6 +2220,12 @@ func (*UnimplementedClientCommandsServer) WalletCloseSession(ctx context.Context
|
|||
func (*UnimplementedClientCommandsServer) WorkspaceCreate(ctx context.Context, req *pb.RpcWorkspaceCreateRequest) *pb.RpcWorkspaceCreateResponse {
|
||||
return nil
|
||||
}
|
||||
func (*UnimplementedClientCommandsServer) WorkspaceObjectListAdd(ctx context.Context, req *pb.RpcWorkspaceObjectListAddRequest) *pb.RpcWorkspaceObjectListAddResponse {
|
||||
return nil
|
||||
}
|
||||
func (*UnimplementedClientCommandsServer) WorkspaceObjectListRemove(ctx context.Context, req *pb.RpcWorkspaceObjectListRemoveRequest) *pb.RpcWorkspaceObjectListRemoveResponse {
|
||||
return nil
|
||||
}
|
||||
func (*UnimplementedClientCommandsServer) WorkspaceSelect(ctx context.Context, req *pb.RpcWorkspaceSelectRequest) *pb.RpcWorkspaceSelectResponse {
|
||||
return nil
|
||||
}
|
||||
|
@ -2830,6 +2861,42 @@ func _ClientCommands_WorkspaceCreate_Handler(srv interface{}, ctx context.Contex
|
|||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ClientCommands_WorkspaceObjectListAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(pb.RpcWorkspaceObjectListAddRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ClientCommandsServer).WorkspaceObjectListAdd(ctx, in), nil
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/anytype.ClientCommands/WorkspaceObjectListAdd",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ClientCommandsServer).WorkspaceObjectListAdd(ctx, req.(*pb.RpcWorkspaceObjectListAddRequest)), nil
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ClientCommands_WorkspaceObjectListRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(pb.RpcWorkspaceObjectListRemoveRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ClientCommandsServer).WorkspaceObjectListRemove(ctx, in), nil
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/anytype.ClientCommands/WorkspaceObjectListRemove",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ClientCommandsServer).WorkspaceObjectListRemove(ctx, req.(*pb.RpcWorkspaceObjectListRemoveRequest)), nil
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ClientCommands_WorkspaceSelect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(pb.RpcWorkspaceSelectRequest)
|
||||
if err := dec(in); err != nil {
|
||||
|
@ -5682,6 +5749,14 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{
|
|||
MethodName: "WorkspaceCreate",
|
||||
Handler: _ClientCommands_WorkspaceCreate_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "WorkspaceObjectListAdd",
|
||||
Handler: _ClientCommands_WorkspaceObjectListAdd_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "WorkspaceObjectListRemove",
|
||||
Handler: _ClientCommands_WorkspaceObjectListRemove_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "WorkspaceSelect",
|
||||
Handler: _ClientCommands_WorkspaceSelect_Handler,
|
||||
|
|
|
@ -4,7 +4,9 @@ import (
|
|||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr"
|
||||
"github.com/anytypeio/go-anytype-middleware/util/slice"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
|
@ -168,6 +170,19 @@ func generateTypes() error {
|
|||
return err
|
||||
}
|
||||
|
||||
for i, t := range types {
|
||||
types[i].Relations = slice.Filter(t.Relations, func(s string) bool {
|
||||
for _, r := range bundle.RequiredInternalRelations {
|
||||
if s == r.String() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
b, _ = json.Marshal(types)
|
||||
ioutil.WriteFile("pkg/lib/bundle/types.json", b, 0755)
|
||||
f := NewFile("bundle")
|
||||
f.PackageComment("Code generated by pkg/lib/bundle/generator. DO NOT EDIT.\nsource: pkg/lib/bundle/types.json")
|
||||
f.ImportName(relPbPkg, "model")
|
||||
|
|
|
@ -6,7 +6,7 @@ package bundle
|
|||
|
||||
import "github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
|
||||
const RelationChecksum = "7fbd46473909c01de3b49e01682e922a02946dd49695034725a55584c0e49631"
|
||||
const RelationChecksum = "eaa11fe5ca522636918109cc4afd1a945c5cad5667ba8dfeb1045837a42084c5"
|
||||
|
||||
type RelationKey string
|
||||
|
||||
|
@ -2333,7 +2333,6 @@ var (
|
|||
DataSource: model.Relation_derived,
|
||||
Description: "Relation that stores the object's type",
|
||||
Format: model.RelationFormat_object,
|
||||
Hidden: true,
|
||||
Id: "_brtype",
|
||||
Key: "type",
|
||||
MaxCount: 1,
|
||||
|
|
|
@ -1186,7 +1186,7 @@
|
|||
{
|
||||
"description": "Relation that stores the object's type",
|
||||
"format": "object",
|
||||
"hidden": true,
|
||||
"hidden": false,
|
||||
"key": "type",
|
||||
"maxCount": 1,
|
||||
"name": "Object type",
|
||||
|
|
7
pkg/lib/bundle/required.json
Normal file
7
pkg/lib/bundle/required.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"relations": [
|
||||
"page",
|
||||
"note",
|
||||
"task"
|
||||
]
|
||||
}
|
|
@ -6,7 +6,7 @@ package bundle
|
|||
|
||||
import "github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model"
|
||||
|
||||
const TypeChecksum = "dceb8ca5a8c6d10c340c03078e3519f500a7ffa4437ab1a450fb6c70e465ad87"
|
||||
const TypeChecksum = "7a2dd4e59229ab4b645f0fc5522471018b8c2bd91742ea60770711542db441f7"
|
||||
|
||||
type TypeKey string
|
||||
|
||||
|
@ -71,7 +71,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Action Plan",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyResources), MustGetRelationLink(RelationKeyResult), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyResponsible)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyResources), MustGetRelationLink(RelationKeyResult), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyResponsible)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "actionPlan",
|
||||
},
|
||||
|
@ -82,7 +82,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Article",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "article",
|
||||
},
|
||||
|
@ -93,7 +93,7 @@ var (
|
|||
Layout: model.ObjectType_file,
|
||||
Name: "Audio",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyArtist), MustGetRelationLink(RelationKeyAudioAlbum), MustGetRelationLink(RelationKeyAudioAlbumTrackNumber), MustGetRelationLink(RelationKeyAudioGenre), MustGetRelationLink(RelationKeyReleasedYear), MustGetRelationLink(RelationKeyThumbnailImage), MustGetRelationLink(RelationKeyComposer), MustGetRelationLink(RelationKeyDurationInSeconds), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt), MustGetRelationLink(RelationKeyAudioArtist), MustGetRelationLink(RelationKeyAudioLyrics)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyArtist), MustGetRelationLink(RelationKeyAudioAlbum), MustGetRelationLink(RelationKeyAudioAlbumTrackNumber), MustGetRelationLink(RelationKeyAudioGenre), MustGetRelationLink(RelationKeyReleasedYear), MustGetRelationLink(RelationKeyThumbnailImage), MustGetRelationLink(RelationKeyComposer), MustGetRelationLink(RelationKeyDurationInSeconds), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt), MustGetRelationLink(RelationKeyAudioArtist), MustGetRelationLink(RelationKeyAudioLyrics)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_File},
|
||||
Url: TypePrefix + "audio",
|
||||
},
|
||||
|
@ -104,7 +104,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Book",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyAuthor), MustGetRelationLink(RelationKeyCategory), MustGetRelationLink(RelationKeyRating), MustGetRelationLink(RelationKeyStatus)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyAuthor), MustGetRelationLink(RelationKeyCategory), MustGetRelationLink(RelationKeyRating), MustGetRelationLink(RelationKeyStatus)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "book",
|
||||
},
|
||||
|
@ -115,7 +115,7 @@ var (
|
|||
Layout: model.ObjectType_bookmark,
|
||||
Name: "Bookmark",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeySource), MustGetRelationLink(RelationKeyPicture), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyQuote)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeySource), MustGetRelationLink(RelationKeyPicture), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyQuote)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "bookmark",
|
||||
},
|
||||
|
@ -126,7 +126,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Bug (Software)",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyHowToReproduce), MustGetRelationLink(RelationKeyResult), MustGetRelationLink(RelationKeyAdditional), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyPriority)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyHowToReproduce), MustGetRelationLink(RelationKeyResult), MustGetRelationLink(RelationKeyAdditional), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyPriority)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "bug",
|
||||
},
|
||||
|
@ -137,7 +137,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Class Note",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyClass), MustGetRelationLink(RelationKeyClassType), MustGetRelationLink(RelationKeyRecords), MustGetRelationLink(RelationKeyQuestions), MustGetRelationLink(RelationKeyMaterials), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyReflection)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyClass), MustGetRelationLink(RelationKeyClassType), MustGetRelationLink(RelationKeyRecords), MustGetRelationLink(RelationKeyQuestions), MustGetRelationLink(RelationKeyMaterials), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyReflection)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "classNote",
|
||||
},
|
||||
|
@ -148,7 +148,7 @@ var (
|
|||
Layout: model.ObjectType_profile,
|
||||
Name: "Company",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyStory), MustGetRelationLink(RelationKeyFounded), MustGetRelationLink(RelationKeyCeo), MustGetRelationLink(RelationKeyFounders), MustGetRelationLink(RelationKeyOwner), MustGetRelationLink(RelationKeyNumberOfEmployees), MustGetRelationLink(RelationKeyHeadquarters), MustGetRelationLink(RelationKeyWebsite), MustGetRelationLink(RelationKeySocialProfile), MustGetRelationLink(RelationKeyStockprice), MustGetRelationLink(RelationKeyTickerSymbol), MustGetRelationLink(RelationKeyAddress), MustGetRelationLink(RelationKeySubsidiaries)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyStory), MustGetRelationLink(RelationKeyFounded), MustGetRelationLink(RelationKeyCeo), MustGetRelationLink(RelationKeyFounders), MustGetRelationLink(RelationKeyOwner), MustGetRelationLink(RelationKeyNumberOfEmployees), MustGetRelationLink(RelationKeyHeadquarters), MustGetRelationLink(RelationKeyWebsite), MustGetRelationLink(RelationKeySocialProfile), MustGetRelationLink(RelationKeyStockprice), MustGetRelationLink(RelationKeyTickerSymbol), MustGetRelationLink(RelationKeyAddress), MustGetRelationLink(RelationKeySubsidiaries)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "company",
|
||||
},
|
||||
|
@ -159,7 +159,7 @@ var (
|
|||
Layout: model.ObjectType_profile,
|
||||
Name: "Contact",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyPhone), MustGetRelationLink(RelationKeyEmail), MustGetRelationLink(RelationKeyDateOfBirth), MustGetRelationLink(RelationKeyPlaceOfBirth), MustGetRelationLink(RelationKeyCompany), MustGetRelationLink(RelationKeySocialProfile), MustGetRelationLink(RelationKeyJob), MustGetRelationLink(RelationKeyLinkedContacts), MustGetRelationLink(RelationKeyOccupation), MustGetRelationLink(RelationKeyInstagram), MustGetRelationLink(RelationKeyGender), MustGetRelationLink(RelationKeyFacebook)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyPhone), MustGetRelationLink(RelationKeyEmail), MustGetRelationLink(RelationKeyDateOfBirth), MustGetRelationLink(RelationKeyPlaceOfBirth), MustGetRelationLink(RelationKeyCompany), MustGetRelationLink(RelationKeySocialProfile), MustGetRelationLink(RelationKeyJob), MustGetRelationLink(RelationKeyLinkedContacts), MustGetRelationLink(RelationKeyOccupation), MustGetRelationLink(RelationKeyInstagram), MustGetRelationLink(RelationKeyGender), MustGetRelationLink(RelationKeyFacebook)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "contact",
|
||||
},
|
||||
|
@ -170,7 +170,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Daily Plan",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyEvents)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyEvents)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "dailyPlan",
|
||||
},
|
||||
|
@ -181,20 +181,19 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Daily Reflection",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyIntentions), MustGetRelationLink(RelationKeyHappenings), MustGetRelationLink(RelationKeyGratefulFor), MustGetRelationLink(RelationKeyMood), MustGetRelationLink(RelationKeyWorriedAbout), MustGetRelationLink(RelationKeyTasks)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIntentions), MustGetRelationLink(RelationKeyHappenings), MustGetRelationLink(RelationKeyGratefulFor), MustGetRelationLink(RelationKeyMood), MustGetRelationLink(RelationKeyWorriedAbout), MustGetRelationLink(RelationKeyTasks)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "dailyReflection",
|
||||
},
|
||||
TypeKeyDashboard: {
|
||||
|
||||
Description: "Internal home dashboard with favourite objects",
|
||||
Hidden: true,
|
||||
Layout: model.ObjectType_dashboard,
|
||||
Name: "Dashboard",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Home},
|
||||
Url: TypePrefix + "dashboard",
|
||||
Description: "Internal home dashboard with favourite objects",
|
||||
Hidden: true,
|
||||
Layout: model.ObjectType_dashboard,
|
||||
Name: "Dashboard",
|
||||
Readonly: true,
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Home},
|
||||
Url: TypePrefix + "dashboard",
|
||||
},
|
||||
TypeKeyDate: {
|
||||
|
||||
|
@ -203,7 +202,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Date",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Date},
|
||||
Url: TypePrefix + "date",
|
||||
},
|
||||
|
@ -214,7 +213,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Diary Entry",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyMood)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyMood)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "diaryEntry",
|
||||
},
|
||||
|
@ -225,7 +224,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Document",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "document",
|
||||
},
|
||||
|
@ -236,7 +235,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Feature",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyHypothesisAssumptions), MustGetRelationLink(RelationKeyProblem), MustGetRelationLink(RelationKeyUserStories), MustGetRelationLink(RelationKeyLogic), MustGetRelationLink(RelationKeyMeasureOfSuccess), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyPriority)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyHypothesisAssumptions), MustGetRelationLink(RelationKeyProblem), MustGetRelationLink(RelationKeyUserStories), MustGetRelationLink(RelationKeyLogic), MustGetRelationLink(RelationKeyMeasureOfSuccess), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyPriority)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "feature",
|
||||
},
|
||||
|
@ -247,7 +246,7 @@ var (
|
|||
Layout: model.ObjectType_file,
|
||||
Name: "File",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_File},
|
||||
Url: TypePrefix + "file",
|
||||
},
|
||||
|
@ -258,7 +257,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Goal",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyProgress), MustGetRelationLink(RelationKeyStatus), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyTasks)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyProgress), MustGetRelationLink(RelationKeyStatus), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyTasks)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "goal",
|
||||
},
|
||||
|
@ -269,7 +268,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Habit Track",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyRunning), MustGetRelationLink(RelationKeyMeditation), MustGetRelationLink(RelationKey7hourssleep), MustGetRelationLink(RelationKeyJournaling), MustGetRelationLink(RelationKeyHealthyEating)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyRunning), MustGetRelationLink(RelationKeyMeditation), MustGetRelationLink(RelationKey7hourssleep), MustGetRelationLink(RelationKeyJournaling), MustGetRelationLink(RelationKeyHealthyEating)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "habitTrack",
|
||||
},
|
||||
|
@ -280,7 +279,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Idea",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyProblem), MustGetRelationLink(RelationKeySolution), MustGetRelationLink(RelationKeyAlternative)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyProblem), MustGetRelationLink(RelationKeySolution), MustGetRelationLink(RelationKeyAlternative)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "idea",
|
||||
},
|
||||
|
@ -291,7 +290,7 @@ var (
|
|||
Layout: model.ObjectType_image,
|
||||
Name: "Image",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyWidthInPixels), MustGetRelationLink(RelationKeyCamera), MustGetRelationLink(RelationKeyHeightInPixels), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyCameraIso), MustGetRelationLink(RelationKeyAperture), MustGetRelationLink(RelationKeyExposure), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFocalRatio), MustGetRelationLink(RelationKeyFileExt)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyWidthInPixels), MustGetRelationLink(RelationKeyCamera), MustGetRelationLink(RelationKeyHeightInPixels), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyCameraIso), MustGetRelationLink(RelationKeyAperture), MustGetRelationLink(RelationKeyExposure), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFocalRatio), MustGetRelationLink(RelationKeyFileExt)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_File},
|
||||
Url: TypePrefix + "image",
|
||||
},
|
||||
|
@ -302,7 +301,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Invoice",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyCompany), MustGetRelationLink(RelationKeyAddress), MustGetRelationLink(RelationKeyBillTo), MustGetRelationLink(RelationKeyBillToAddress), MustGetRelationLink(RelationKeyShipTo), MustGetRelationLink(RelationKeyShipToAddress), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyTotal), MustGetRelationLink(RelationKeyNumber)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyCompany), MustGetRelationLink(RelationKeyAddress), MustGetRelationLink(RelationKeyBillTo), MustGetRelationLink(RelationKeyBillToAddress), MustGetRelationLink(RelationKeyShipTo), MustGetRelationLink(RelationKeyShipToAddress), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyTotal), MustGetRelationLink(RelationKeyNumber)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "invoice",
|
||||
},
|
||||
|
@ -313,7 +312,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Meeting Note",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyParticipants), MustGetRelationLink(RelationKeyAgenda), MustGetRelationLink(RelationKeyTasks)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyParticipants), MustGetRelationLink(RelationKeyAgenda), MustGetRelationLink(RelationKeyTasks)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "meetingNote",
|
||||
},
|
||||
|
@ -324,7 +323,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Movie",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyDirector), MustGetRelationLink(RelationKeyStars), MustGetRelationLink(RelationKeyGenre), MustGetRelationLink(RelationKeyTrailer), MustGetRelationLink(RelationKeyRating), MustGetRelationLink(RelationKeyImdbRating), MustGetRelationLink(RelationKeyRottenTomatoesRating), MustGetRelationLink(RelationKeyStatus)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyDirector), MustGetRelationLink(RelationKeyStars), MustGetRelationLink(RelationKeyGenre), MustGetRelationLink(RelationKeyTrailer), MustGetRelationLink(RelationKeyRating), MustGetRelationLink(RelationKeyImdbRating), MustGetRelationLink(RelationKeyRottenTomatoesRating), MustGetRelationLink(RelationKeyStatus)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "movie",
|
||||
},
|
||||
|
@ -335,7 +334,7 @@ var (
|
|||
Layout: model.ObjectType_note,
|
||||
Name: "Note",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "note",
|
||||
},
|
||||
|
@ -346,7 +345,7 @@ var (
|
|||
Layout: model.ObjectType_objectType,
|
||||
Name: "Type",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyRecommendedRelations), MustGetRelationLink(RelationKeyRecommendedLayout), MustGetRelationLink(RelationKeyMpAddedToLibrary)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyRecommendedRelations), MustGetRelationLink(RelationKeyRecommendedLayout)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_STObjectType, model.SmartBlockType_BundledObjectType},
|
||||
Url: TypePrefix + "objectType",
|
||||
},
|
||||
|
@ -357,7 +356,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Page",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "page",
|
||||
},
|
||||
|
@ -368,7 +367,7 @@ var (
|
|||
Layout: model.ObjectType_profile,
|
||||
Name: "Human",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page, model.SmartBlockType_ProfilePage},
|
||||
Url: TypePrefix + "profile",
|
||||
},
|
||||
|
@ -379,7 +378,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Project",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyObjectives), MustGetRelationLink(RelationKeyScope), MustGetRelationLink(RelationKeyTimeframe), MustGetRelationLink(RelationKeyBudget), MustGetRelationLink(RelationKeyStakeholders), MustGetRelationLink(RelationKeyTasks)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyObjectives), MustGetRelationLink(RelationKeyScope), MustGetRelationLink(RelationKeyTimeframe), MustGetRelationLink(RelationKeyBudget), MustGetRelationLink(RelationKeyStakeholders), MustGetRelationLink(RelationKeyTasks)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "project",
|
||||
},
|
||||
|
@ -390,7 +389,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Recipe",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyTime), MustGetRelationLink(RelationKeyServings), MustGetRelationLink(RelationKeyIngredients), MustGetRelationLink(RelationKeyInstructions), MustGetRelationLink(RelationKeyDifficulty)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyTime), MustGetRelationLink(RelationKeyServings), MustGetRelationLink(RelationKeyIngredients), MustGetRelationLink(RelationKeyInstructions), MustGetRelationLink(RelationKeyDifficulty)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "recipe",
|
||||
},
|
||||
|
@ -402,21 +401,20 @@ var (
|
|||
Layout: model.ObjectType_relation,
|
||||
Name: "Relation",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyMpAddedToLibrary), MustGetRelationLink(RelationKeyRelationFormat), MustGetRelationLink(RelationKeyRelationMaxCount), MustGetRelationLink(RelationKeyRelationDefaultValue), MustGetRelationLink(RelationKeyRelationFormatObjectTypes)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyRelationFormat), MustGetRelationLink(RelationKeyRelationMaxCount), MustGetRelationLink(RelationKeyRelationDefaultValue), MustGetRelationLink(RelationKeyRelationFormatObjectTypes)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_SubObject, model.SmartBlockType_BundledRelation},
|
||||
Url: TypePrefix + "relation",
|
||||
},
|
||||
TypeKeyRelationOption: {
|
||||
|
||||
Description: "Object that contains a relation option",
|
||||
Hidden: true,
|
||||
IconEmoji: "🥚",
|
||||
Layout: model.ObjectType_relationOption,
|
||||
Name: "Relation option",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_SubObject},
|
||||
Url: TypePrefix + "relationOption",
|
||||
Description: "Object that contains a relation option",
|
||||
Hidden: true,
|
||||
IconEmoji: "🥚",
|
||||
Layout: model.ObjectType_relationOption,
|
||||
Name: "Relation option",
|
||||
Readonly: true,
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_SubObject},
|
||||
Url: TypePrefix + "relationOption",
|
||||
},
|
||||
TypeKeyResume: {
|
||||
|
||||
|
@ -425,7 +423,7 @@ var (
|
|||
Layout: model.ObjectType_profile,
|
||||
Name: "Resume",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyCandidate), MustGetRelationLink(RelationKeyJob), MustGetRelationLink(RelationKeyPhone), MustGetRelationLink(RelationKeyEmail), MustGetRelationLink(RelationKeyLocation), MustGetRelationLink(RelationKeyWebsite), MustGetRelationLink(RelationKeySocialProfile)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyCandidate), MustGetRelationLink(RelationKeyJob), MustGetRelationLink(RelationKeyPhone), MustGetRelationLink(RelationKeyEmail), MustGetRelationLink(RelationKeyLocation), MustGetRelationLink(RelationKeyWebsite), MustGetRelationLink(RelationKeySocialProfile)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "resume",
|
||||
},
|
||||
|
@ -436,7 +434,7 @@ var (
|
|||
Layout: model.ObjectType_set,
|
||||
Name: "Set",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeySetOf)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeySetOf)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Set},
|
||||
Url: TypePrefix + "set",
|
||||
},
|
||||
|
@ -448,7 +446,7 @@ var (
|
|||
Layout: model.ObjectType_space,
|
||||
Name: "Space",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Workspace},
|
||||
Url: TypePrefix + "space",
|
||||
},
|
||||
|
@ -459,7 +457,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Task",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyStatus), MustGetRelationLink(RelationKeyDone), MustGetRelationLink(RelationKeyPriority), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyLinkedProjects)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyAssignee), MustGetRelationLink(RelationKeyDueDate), MustGetRelationLink(RelationKeyAttachments), MustGetRelationLink(RelationKeyStatus), MustGetRelationLink(RelationKeyDone), MustGetRelationLink(RelationKeyPriority), MustGetRelationLink(RelationKeyTasks), MustGetRelationLink(RelationKeyLinkedProjects)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "task",
|
||||
},
|
||||
|
@ -470,7 +468,7 @@ var (
|
|||
Layout: model.ObjectType_basic,
|
||||
Name: "Template",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyTargetObjectType), MustGetRelationLink(RelationKeyTemplateIsBundled)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTargetObjectType), MustGetRelationLink(RelationKeyTemplateIsBundled)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Template},
|
||||
Url: TypePrefix + "template",
|
||||
},
|
||||
|
@ -481,7 +479,7 @@ var (
|
|||
Layout: model.ObjectType_file,
|
||||
Name: "Video",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyDurationInSeconds), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyCamera), MustGetRelationLink(RelationKeyThumbnailImage), MustGetRelationLink(RelationKeyHeightInPixels), MustGetRelationLink(RelationKeyWidthInPixels), MustGetRelationLink(RelationKeyCameraIso), MustGetRelationLink(RelationKeyAperture), MustGetRelationLink(RelationKeyExposure), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyDurationInSeconds), MustGetRelationLink(RelationKeySizeInBytes), MustGetRelationLink(RelationKeyFileMimeType), MustGetRelationLink(RelationKeyCamera), MustGetRelationLink(RelationKeyThumbnailImage), MustGetRelationLink(RelationKeyHeightInPixels), MustGetRelationLink(RelationKeyWidthInPixels), MustGetRelationLink(RelationKeyCameraIso), MustGetRelationLink(RelationKeyAperture), MustGetRelationLink(RelationKeyExposure), MustGetRelationLink(RelationKeyAddedDate), MustGetRelationLink(RelationKeyFileExt)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_File},
|
||||
Url: TypePrefix + "video",
|
||||
},
|
||||
|
@ -492,7 +490,7 @@ var (
|
|||
Layout: model.ObjectType_todo,
|
||||
Name: "Weekly Plan",
|
||||
Readonly: true,
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyId), MustGetRelationLink(RelationKeyName), MustGetRelationLink(RelationKeyDescription), MustGetRelationLink(RelationKeyType), MustGetRelationLink(RelationKeyCreator), MustGetRelationLink(RelationKeyCreatedDate), MustGetRelationLink(RelationKeyLayout), MustGetRelationLink(RelationKeyLastModifiedBy), MustGetRelationLink(RelationKeyIconImage), MustGetRelationLink(RelationKeyIconEmoji), MustGetRelationLink(RelationKeyCoverId), MustGetRelationLink(RelationKeyLastModifiedDate), MustGetRelationLink(RelationKeyLastOpenedDate), MustGetRelationLink(RelationKeyCoverX), MustGetRelationLink(RelationKeyCoverY), MustGetRelationLink(RelationKeyCoverScale), MustGetRelationLink(RelationKeyToBeDeletedDate), MustGetRelationLink(RelationKeyFeaturedRelations), MustGetRelationLink(RelationKeyCoverType), MustGetRelationLink(RelationKeyLayoutAlign), MustGetRelationLink(RelationKeyIsHidden), MustGetRelationLink(RelationKeyIsArchived), MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyIsFavorite), MustGetRelationLink(RelationKeyIsDraft), MustGetRelationLink(RelationKeyWorkspaceId), MustGetRelationLink(RelationKeyInternalFlags), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyEvents), MustGetRelationLink(RelationKeyTasks)},
|
||||
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyNotes), MustGetRelationLink(RelationKeyEvents), MustGetRelationLink(RelationKeyTasks)},
|
||||
Types: []model.SmartBlockType{model.SmartBlockType_Page},
|
||||
Url: TypePrefix + "weeklyPlan",
|
||||
},
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -44,17 +44,21 @@ func SmartBlockTypeFromID(id string) (SmartBlockType, error) {
|
|||
if strings.HasPrefix(id, addr.BundledRelationURLPrefix) {
|
||||
return SmartBlockTypeBundledRelation, nil
|
||||
}
|
||||
if strings.HasPrefix(id, addr.RelationKeyToIdPrefix) {
|
||||
return SmartBlockTypeSubObject, nil
|
||||
}
|
||||
// workaround for options that have no prefix
|
||||
if bson.IsObjectIdHex(id) {
|
||||
return SmartBlockTypeSubObject, nil
|
||||
}
|
||||
|
||||
if strings.HasPrefix(id, addr.BundledObjectTypeURLPrefix) {
|
||||
return SmartBlockTypeBundledObjectType, nil
|
||||
}
|
||||
|
||||
if len(strings.Split(id, addr.SubObjectCollectionIdSeparator)) == 2 {
|
||||
return SmartBlockTypeSubObject, nil
|
||||
}
|
||||
|
||||
// workaround for options that have no prefix
|
||||
// todo: remove this after migration to the new records format
|
||||
if bson.IsObjectIdHex(id) {
|
||||
return SmartBlockTypeSubObject, nil
|
||||
}
|
||||
|
||||
if strings.HasPrefix(id, addr.AnytypeProfileId) {
|
||||
return SmartBlockTypeProfilePage, nil
|
||||
}
|
||||
|
|
|
@ -7,8 +7,9 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
VirtualObjectSeparator = "-"
|
||||
RelationKeyToIdPrefix = "rel-" //
|
||||
SubObjectCollectionIdSeparator = "-"
|
||||
RelationKeyToIdPrefix = "rel-" //
|
||||
ObjectTypeKeyToIdPrefix = "ot-" //
|
||||
|
||||
BundledRelationURLPrefix = "_br"
|
||||
BundledObjectTypeURLPrefix = "_ot"
|
||||
|
@ -40,5 +41,5 @@ func ExtractVirtualSourceType(id string) (model.SmartBlockType, error) {
|
|||
|
||||
// returns the
|
||||
func GetVirtualCollectionObjectId(collectionName, key string) string {
|
||||
return collectionName + VirtualObjectSeparator + key
|
||||
return collectionName + SubObjectCollectionIdSeparator + key
|
||||
}
|
||||
|
|
|
@ -2458,6 +2458,9 @@ func objTypeCompactEncode(objType string) (string, error) {
|
|||
if strings.HasPrefix(objType, addr.BundledObjectTypeURLPrefix) {
|
||||
return objType, nil
|
||||
}
|
||||
if strings.HasPrefix(objType, addr.ObjectTypeKeyToIdPrefix) {
|
||||
return objType, nil
|
||||
}
|
||||
if strings.HasPrefix(objType, "ba") {
|
||||
return objType, nil
|
||||
}
|
||||
|
@ -2476,8 +2479,6 @@ func GetObjectType(store ObjectStore, url string) (*model.ObjectType, error) {
|
|||
return nil, err
|
||||
}
|
||||
return objectType, nil
|
||||
} else if !strings.HasPrefix(url, "b") {
|
||||
return nil, fmt.Errorf("incorrect object type URL format")
|
||||
}
|
||||
|
||||
ois, err := store.GetByIDs(url)
|
||||
|
|
|
@ -131,7 +131,7 @@ func (b *builtinTemplate) registerBuiltin(rd io.ReadCloser) (err error) {
|
|||
|
||||
func (b *builtinTemplate) validate(st *state.State) (err error) {
|
||||
cd := st.CombinedDetails()
|
||||
if st.ObjectType() != bundle.TypeKeyTemplate.URL() {
|
||||
if st.ObjectType() != addr.ObjectTypeKeyToIdPrefix+bundle.TypeKeyTemplate.String() {
|
||||
return fmt.Errorf("bundled template validation: %s unexpected object type: %v", st.RootId(), st.ObjectType())
|
||||
}
|
||||
if !pbtypes.GetBool(cd, bundle.RelationKeyTemplateIsBundled.String()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue