Add support for images
This commit adds support for images in protobuf messages. The client can specify a path which will be used to load the image and set the corresponding fields. This makes the assumption that the RCP server runs on the same machine as the client and they have access to the same files. This holds currently for both status-react and status-console-client, we could revisit and adds an upload if that changes in the future.
This commit is contained in:
parent
3e312cb167
commit
f5ab58b87f
Binary file not shown.
After Width: | Height: | Size: 107 B |
|
@ -100,7 +100,7 @@ func _1536754952_initial_schemaDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ func _1536754952_initial_schemaUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ func _1539249977_update_ratchet_infoDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ func _1539249977_update_ratchet_infoUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ func _1540715431_add_versionDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ func _1540715431_add_versionUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ func _1541164797_add_installationsDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -240,7 +240,7 @@ func _1541164797_add_installationsUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -260,7 +260,7 @@ func _1558084410_add_secretDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -280,7 +280,7 @@ func _1558084410_add_secretUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -300,7 +300,7 @@ func _1558588866_add_versionDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -320,7 +320,7 @@ func _1558588866_add_versionUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -340,7 +340,7 @@ func _1559627659_add_contact_codeDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -360,7 +360,7 @@ func _1559627659_add_contact_codeUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -380,7 +380,7 @@ func _1561368210_add_installation_metadataDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -400,7 +400,7 @@ func _1561368210_add_installation_metadataUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ func docGo() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1581443166, 0)}
|
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package images
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/status-im/status-go/protocol/protobuf"
|
||||||
|
)
|
||||||
|
|
||||||
|
func jpeg(buf []byte) bool {
|
||||||
|
return len(buf) > 2 &&
|
||||||
|
buf[0] == 0xFF &&
|
||||||
|
buf[1] == 0xD8 &&
|
||||||
|
buf[2] == 0xFF
|
||||||
|
}
|
||||||
|
|
||||||
|
func png(buf []byte) bool {
|
||||||
|
return len(buf) > 3 &&
|
||||||
|
buf[0] == 0x89 && buf[1] == 0x50 &&
|
||||||
|
buf[2] == 0x4E && buf[3] == 0x47
|
||||||
|
}
|
||||||
|
|
||||||
|
func gif(buf []byte) bool {
|
||||||
|
return len(buf) > 2 &&
|
||||||
|
buf[0] == 0x47 && buf[1] == 0x49 && buf[2] == 0x46
|
||||||
|
}
|
||||||
|
|
||||||
|
func webp(buf []byte) bool {
|
||||||
|
return len(buf) > 11 &&
|
||||||
|
buf[8] == 0x57 && buf[9] == 0x45 &&
|
||||||
|
buf[10] == 0x42 && buf[11] == 0x50
|
||||||
|
}
|
||||||
|
|
||||||
|
func ImageType(buf []byte) protobuf.ImageMessage_ImageType {
|
||||||
|
if jpeg(buf) {
|
||||||
|
return protobuf.ImageMessage_JPEG
|
||||||
|
} else if png(buf) {
|
||||||
|
return protobuf.ImageMessage_PNG
|
||||||
|
} else if gif(buf) {
|
||||||
|
return protobuf.ImageMessage_GIF
|
||||||
|
} else if webp(buf) {
|
||||||
|
return protobuf.ImageMessage_WEBP
|
||||||
|
}
|
||||||
|
|
||||||
|
return protobuf.ImageMessage_UNKNOWN_IMAGE_TYPE
|
||||||
|
}
|
|
@ -2,7 +2,10 @@ package protocol
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
|
@ -93,6 +96,10 @@ type Message struct {
|
||||||
ParsedText []byte `json:"parsedText"`
|
ParsedText []byte `json:"parsedText"`
|
||||||
// LineCount is the count of newlines in the message
|
// LineCount is the count of newlines in the message
|
||||||
LineCount int `json:"lineCount"`
|
LineCount int `json:"lineCount"`
|
||||||
|
// Base64Image is the converted base64 image
|
||||||
|
Base64Image string `json:"image,omitempty"`
|
||||||
|
// ImagePath is the path of the image to be sent
|
||||||
|
ImagePath string `json:"imagePath,omitempty"`
|
||||||
|
|
||||||
// Replace indicates that this is a replacement of a message
|
// Replace indicates that this is a replacement of a message
|
||||||
// that has been updated
|
// that has been updated
|
||||||
|
@ -138,6 +145,7 @@ func (m *Message) MarshalJSON() ([]byte, error) {
|
||||||
Replace string `json:"replace"`
|
Replace string `json:"replace"`
|
||||||
ResponseTo string `json:"responseTo"`
|
ResponseTo string `json:"responseTo"`
|
||||||
EnsName string `json:"ensName"`
|
EnsName string `json:"ensName"`
|
||||||
|
Image string `json:"image,omitempty"`
|
||||||
Sticker *StickerAlias `json:"sticker"`
|
Sticker *StickerAlias `json:"sticker"`
|
||||||
CommandParameters *CommandParameters `json:"commandParameters"`
|
CommandParameters *CommandParameters `json:"commandParameters"`
|
||||||
Timestamp uint64 `json:"timestamp"`
|
Timestamp uint64 `json:"timestamp"`
|
||||||
|
@ -162,6 +170,7 @@ func (m *Message) MarshalJSON() ([]byte, error) {
|
||||||
Clock: m.Clock,
|
Clock: m.Clock,
|
||||||
ResponseTo: m.ResponseTo,
|
ResponseTo: m.ResponseTo,
|
||||||
EnsName: m.EnsName,
|
EnsName: m.EnsName,
|
||||||
|
Image: m.Base64Image,
|
||||||
Timestamp: m.Timestamp,
|
Timestamp: m.Timestamp,
|
||||||
ContentType: m.ContentType,
|
ContentType: m.ContentType,
|
||||||
MessageType: m.MessageType,
|
MessageType: m.MessageType,
|
||||||
|
@ -211,6 +220,45 @@ func isRTL(s string) bool {
|
||||||
first == '\u200f'
|
first == '\u200f'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// parseImage check the message contains an image, and if so
|
||||||
|
// it creates the a base64 encoded version of it.
|
||||||
|
func (m *Message) parseImage() error {
|
||||||
|
if m.ContentType != protobuf.ChatMessage_IMAGE {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
image := m.GetImage()
|
||||||
|
if image == nil {
|
||||||
|
return errors.New("image empty")
|
||||||
|
}
|
||||||
|
|
||||||
|
payload := image.Payload
|
||||||
|
|
||||||
|
e64 := base64.StdEncoding
|
||||||
|
|
||||||
|
maxEncLen := e64.EncodedLen(len(payload))
|
||||||
|
encBuf := make([]byte, maxEncLen)
|
||||||
|
|
||||||
|
e64.Encode(encBuf, payload)
|
||||||
|
var mime string
|
||||||
|
|
||||||
|
switch image.Type {
|
||||||
|
case protobuf.ImageMessage_PNG:
|
||||||
|
mime = "png"
|
||||||
|
case protobuf.ImageMessage_JPEG:
|
||||||
|
mime = "jpeg"
|
||||||
|
case protobuf.ImageMessage_WEBP:
|
||||||
|
mime = "webp"
|
||||||
|
case protobuf.ImageMessage_GIF:
|
||||||
|
mime = "gif"
|
||||||
|
default:
|
||||||
|
return errors.New("image format not supported")
|
||||||
|
}
|
||||||
|
|
||||||
|
m.Base64Image = fmt.Sprintf("data:image/%s;base64,%s", mime, encBuf)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// PrepareContent return the parsed content of the message, the line-count and whether
|
// PrepareContent return the parsed content of the message, the line-count and whether
|
||||||
// is a right-to-left message
|
// is a right-to-left message
|
||||||
func (m *Message) PrepareContent() error {
|
func (m *Message) PrepareContent() error {
|
||||||
|
@ -222,5 +270,5 @@ func (m *Message) PrepareContent() error {
|
||||||
m.ParsedText = jsonParsedText
|
m.ParsedText = jsonParsedText
|
||||||
m.LineCount = strings.Count(m.Text, "\n")
|
m.LineCount = strings.Count(m.Text, "\n")
|
||||||
m.RTL = isRTL(m.Text)
|
m.RTL = isRTL(m.Text)
|
||||||
return nil
|
return m.parseImage()
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,9 @@ func (db sqlitePersistence) tableUserMessagesAllFields() string {
|
||||||
parsed_text,
|
parsed_text,
|
||||||
sticker_pack,
|
sticker_pack,
|
||||||
sticker_hash,
|
sticker_hash,
|
||||||
|
image_payload,
|
||||||
|
image_type,
|
||||||
|
image_base64,
|
||||||
command_id,
|
command_id,
|
||||||
command_value,
|
command_value,
|
||||||
command_from,
|
command_from,
|
||||||
|
@ -64,6 +67,7 @@ func (db sqlitePersistence) tableUserMessagesAllFieldsJoin() string {
|
||||||
m1.parsed_text,
|
m1.parsed_text,
|
||||||
m1.sticker_pack,
|
m1.sticker_pack,
|
||||||
m1.sticker_hash,
|
m1.sticker_hash,
|
||||||
|
m1.image_base64,
|
||||||
m1.command_id,
|
m1.command_id,
|
||||||
m1.command_value,
|
m1.command_value,
|
||||||
m1.command_from,
|
m1.command_from,
|
||||||
|
@ -116,6 +120,7 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
||||||
&message.ParsedText,
|
&message.ParsedText,
|
||||||
&sticker.Pack,
|
&sticker.Pack,
|
||||||
&sticker.Hash,
|
&sticker.Hash,
|
||||||
|
&message.Base64Image,
|
||||||
&command.ID,
|
&command.ID,
|
||||||
&command.Value,
|
&command.Value,
|
||||||
&command.From,
|
&command.From,
|
||||||
|
@ -162,6 +167,12 @@ func (db sqlitePersistence) tableUserMessagesAllValues(message *Message) ([]inte
|
||||||
if sticker == nil {
|
if sticker == nil {
|
||||||
sticker = &protobuf.StickerMessage{}
|
sticker = &protobuf.StickerMessage{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
image := message.GetImage()
|
||||||
|
if image == nil {
|
||||||
|
image = &protobuf.ImageMessage{}
|
||||||
|
}
|
||||||
|
|
||||||
command := message.CommandParameters
|
command := message.CommandParameters
|
||||||
if command == nil {
|
if command == nil {
|
||||||
command = &CommandParameters{}
|
command = &CommandParameters{}
|
||||||
|
@ -183,6 +194,9 @@ func (db sqlitePersistence) tableUserMessagesAllValues(message *Message) ([]inte
|
||||||
message.ParsedText,
|
message.ParsedText,
|
||||||
sticker.Pack,
|
sticker.Pack,
|
||||||
sticker.Hash,
|
sticker.Hash,
|
||||||
|
image.Payload,
|
||||||
|
image.Type,
|
||||||
|
message.Base64Image,
|
||||||
command.ID,
|
command.ID,
|
||||||
command.Value,
|
command.Value,
|
||||||
command.From,
|
command.From,
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
package protocol
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/status-im/status-go/protocol/protobuf"
|
||||||
|
)
|
||||||
|
|
||||||
|
const expectedJPEG = "data:image/jpeg;base64,/9j/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/yQALCAABAAEBAREA/8wABgAQEAX/2gAIAQEAAD8A0s8g/9k="
|
||||||
|
|
||||||
|
func TestPrepareContentImage(t *testing.T) {
|
||||||
|
file, err := os.Open("../_assets/tests/test.jpg")
|
||||||
|
require.NoError(t, err)
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
payload, err := ioutil.ReadAll(file)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
message := &Message{}
|
||||||
|
message.ContentType = protobuf.ChatMessage_IMAGE
|
||||||
|
image := protobuf.ImageMessage{
|
||||||
|
Payload: payload,
|
||||||
|
Type: protobuf.ImageMessage_JPEG,
|
||||||
|
}
|
||||||
|
message.Payload = &protobuf.ChatMessage_Image{Image: &image}
|
||||||
|
|
||||||
|
require.NoError(t, message.PrepareContent())
|
||||||
|
require.Equal(t, message.Base64Image, expectedJPEG)
|
||||||
|
}
|
|
@ -191,5 +191,23 @@ func ValidateReceivedChatMessage(message *protobuf.ChatMessage, whisperTimestamp
|
||||||
return errors.New("sticker hash not set")
|
return errors.New("sticker hash not set")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if message.ContentType == protobuf.ChatMessage_IMAGE {
|
||||||
|
if message.Payload == nil {
|
||||||
|
return errors.New("no image content")
|
||||||
|
}
|
||||||
|
image := message.GetImage()
|
||||||
|
if image == nil {
|
||||||
|
return errors.New("no image content")
|
||||||
|
}
|
||||||
|
if len(image.Payload) == 0 {
|
||||||
|
return errors.New("image payload empty")
|
||||||
|
}
|
||||||
|
|
||||||
|
if image.Type == protobuf.ImageMessage_UNKNOWN_IMAGE_TYPE {
|
||||||
|
return errors.New("image type unknown")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -340,6 +340,68 @@ func (s *MessageValidatorSuite) TestValidatePlainTextMessage() {
|
||||||
ContentType: protobuf.ChatMessage_STICKER,
|
ContentType: protobuf.ChatMessage_STICKER,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "Valid image message",
|
||||||
|
WhisperTimestamp: 2,
|
||||||
|
Valid: true,
|
||||||
|
Message: protobuf.ChatMessage{
|
||||||
|
ChatId: "a",
|
||||||
|
Text: "valid",
|
||||||
|
Clock: 2,
|
||||||
|
Timestamp: 3,
|
||||||
|
ResponseTo: "",
|
||||||
|
EnsName: "",
|
||||||
|
Payload: &protobuf.ChatMessage_Image{
|
||||||
|
Image: &protobuf.ImageMessage{
|
||||||
|
Type: 1,
|
||||||
|
Payload: []byte("some-payload"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MessageType: protobuf.ChatMessage_ONE_TO_ONE,
|
||||||
|
ContentType: protobuf.ChatMessage_IMAGE,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "Invalid image message, type unknown",
|
||||||
|
WhisperTimestamp: 2,
|
||||||
|
Valid: false,
|
||||||
|
Message: protobuf.ChatMessage{
|
||||||
|
ChatId: "a",
|
||||||
|
Text: "valid",
|
||||||
|
Clock: 2,
|
||||||
|
Timestamp: 3,
|
||||||
|
ResponseTo: "",
|
||||||
|
EnsName: "",
|
||||||
|
Payload: &protobuf.ChatMessage_Image{
|
||||||
|
Image: &protobuf.ImageMessage{
|
||||||
|
Type: protobuf.ImageMessage_UNKNOWN_IMAGE_TYPE,
|
||||||
|
Payload: []byte("some-payload"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MessageType: protobuf.ChatMessage_ONE_TO_ONE,
|
||||||
|
ContentType: protobuf.ChatMessage_STICKER,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "Invalid image message, missing payload",
|
||||||
|
WhisperTimestamp: 2,
|
||||||
|
Valid: false,
|
||||||
|
Message: protobuf.ChatMessage{
|
||||||
|
ChatId: "a",
|
||||||
|
Text: "valid",
|
||||||
|
Clock: 2,
|
||||||
|
Timestamp: 3,
|
||||||
|
ResponseTo: "",
|
||||||
|
EnsName: "",
|
||||||
|
Payload: &protobuf.ChatMessage_Image{
|
||||||
|
Image: &protobuf.ImageMessage{
|
||||||
|
Type: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MessageType: protobuf.ChatMessage_ONE_TO_ONE,
|
||||||
|
ContentType: protobuf.ChatMessage_IMAGE,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
|
|
|
@ -4,7 +4,9 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"io/ioutil"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -21,6 +23,7 @@ import (
|
||||||
"github.com/status-im/status-go/protocol/encryption/sharedsecret"
|
"github.com/status-im/status-go/protocol/encryption/sharedsecret"
|
||||||
"github.com/status-im/status-go/protocol/identity/alias"
|
"github.com/status-im/status-go/protocol/identity/alias"
|
||||||
"github.com/status-im/status-go/protocol/identity/identicon"
|
"github.com/status-im/status-go/protocol/identity/identicon"
|
||||||
|
"github.com/status-im/status-go/protocol/images"
|
||||||
"github.com/status-im/status-go/protocol/protobuf"
|
"github.com/status-im/status-go/protocol/protobuf"
|
||||||
"github.com/status-im/status-go/protocol/sqlite"
|
"github.com/status-im/status-go/protocol/sqlite"
|
||||||
"github.com/status-im/status-go/protocol/transport"
|
"github.com/status-im/status-go/protocol/transport"
|
||||||
|
@ -1389,6 +1392,25 @@ func (m *Messenger) SendChatMessage(ctx context.Context, message *Message) (*Mes
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
defer m.mutex.Unlock()
|
defer m.mutex.Unlock()
|
||||||
|
|
||||||
|
if len(message.ImagePath) != 0 {
|
||||||
|
file, err := os.Open(message.ImagePath)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
payload, err := ioutil.ReadAll(file)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
|
||||||
|
}
|
||||||
|
image := protobuf.ImageMessage{
|
||||||
|
Payload: payload,
|
||||||
|
Type: images.ImageType(payload),
|
||||||
|
}
|
||||||
|
message.Payload = &protobuf.ChatMessage_Image{Image: &image}
|
||||||
|
|
||||||
|
}
|
||||||
logger := m.logger.With(zap.String("site", "Send"), zap.String("chatID", message.ChatId))
|
logger := m.logger.With(zap.String("site", "Send"), zap.String("chatID", message.ChatId))
|
||||||
var response MessengerResponse
|
var response MessengerResponse
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,11 @@
|
||||||
// 000002_add_last_ens_clock_value.up.sql (77B)
|
// 000002_add_last_ens_clock_value.up.sql (77B)
|
||||||
// 1586358095_add_replace.down.sql (0)
|
// 1586358095_add_replace.down.sql (0)
|
||||||
// 1586358095_add_replace.up.sql (224B)
|
// 1586358095_add_replace.up.sql (224B)
|
||||||
// doc.go (377B)
|
// 1588665364_add_image_data.down.sql (0)
|
||||||
|
// 1588665364_add_image_data.up.sql (186B)
|
||||||
|
// 1589365189_add_pow_target.down.sql (0)
|
||||||
|
// 1589365189_add_pow_target.up.sql (66B)
|
||||||
|
// doc.go (850B)
|
||||||
|
|
||||||
package migrations
|
package migrations
|
||||||
|
|
||||||
|
@ -170,7 +174,7 @@ func _1586358095_add_replaceDownSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1586358095_add_replace.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1586355165, 0)}
|
info := bindataFileInfo{name: "1586358095_add_replace.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1589265610, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
@ -190,12 +194,92 @@ func _1586358095_add_replaceUpSql() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1586352560, 0)}
|
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1589265610, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x8f\xbb\x6e\xc3\x30\x0c\x45\x77\x7f\xc5\x45\x96\x2c\xb5\xb4\x74\xea\xd6\xb1\x7b\x7f\x80\x91\x68\x89\x88\x1e\xae\x48\xe7\xf1\xf7\x85\xd3\x02\xcd\xd6\xf5\x00\xe7\xf0\xd2\x7b\x7c\x66\x51\x2c\x52\x18\xa2\x68\x1c\x58\x95\xc6\x1d\x27\x0e\xb4\x29\xe3\x90\xc4\xf2\x76\x72\xa1\x57\xaf\x46\xb6\xe9\x2c\xd5\x57\x49\x83\x8c\xfd\xe5\xf5\x30\x79\x8f\x40\xed\x68\xc8\xd4\x62\xe1\x47\x4b\xa1\x46\xc3\xa4\x25\x5c\xc5\x32\x08\xeb\xe0\x45\x6e\x0e\xef\x86\xc2\xa4\x06\xcb\x64\x47\x85\x65\x46\x20\xe5\x3d\xb3\xf4\x81\xd4\xe7\x93\xb4\x48\x46\x6e\x47\x1f\xcb\x13\xd9\x17\x06\x2a\x85\x23\x96\xd1\xeb\xc3\x55\xaa\x8c\x28\x83\x83\xf5\x71\x7f\x01\xa9\xb2\xa1\x51\x65\xdd\xfd\x4c\x17\x46\xeb\xbf\xe7\x41\x2d\xfe\xff\x11\xae\x7d\x9c\x15\xa4\xe0\xdb\xca\xc1\x38\xba\x69\x5a\x29\x9c\x29\x31\xf4\xab\x88\xf1\x34\x79\x9f\xfa\x5b\xe2\xc6\xbb\xf5\xbc\x71\x5e\xcf\x09\x3f\x35\xe9\x4d\x31\x77\x38\xe7\xff\x80\x4b\x1d\x6e\xfa\x0e\x00\x00\xff\xff\x9d\x60\x3d\x88\x79\x01\x00\x00")
|
var __1588665364_add_image_dataDownSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")
|
||||||
|
|
||||||
|
func _1588665364_add_image_dataDownSqlBytes() ([]byte, error) {
|
||||||
|
return bindataRead(
|
||||||
|
__1588665364_add_image_dataDownSql,
|
||||||
|
"1588665364_add_image_data.down.sql",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _1588665364_add_image_dataDownSql() (*asset, error) {
|
||||||
|
bytes, err := _1588665364_add_image_dataDownSqlBytes()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
info := bindataFileInfo{name: "1588665364_add_image_data.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1589363796, 0)}
|
||||||
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||||
|
return a, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var __1588665364_add_image_dataUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\xcb\x41\x0a\xc2\x40\x0c\x05\xd0\x7d\x4f\xf1\xe9\x19\xc4\x4d\x57\x33\x4e\x04\x21\x66\x40\x32\xe0\xae\x44\x0c\x45\xb0\x58\x8c\x2e\x7a\xfb\x9e\xa1\x07\x78\x89\x95\x6e\xd0\x94\x99\xf0\x0f\xff\x8e\xb3\x47\xd8\xe4\x81\x54\x0a\x4e\x95\xdb\x55\xf0\x9a\x6d\xf2\x71\xb1\xf5\xfd\xb1\x27\x32\xd7\x3c\x74\x3b\xe0\x6f\x5d\x1c\x17\xd1\x5d\xe8\x61\xe1\xc7\x03\x94\xee\x0a\xa9\x0a\x69\xcc\x28\x74\x4e\x8d\x15\x7d\x3f\x74\x5b\x00\x00\x00\xff\xff\xf8\x4b\xbd\xbe\xba\x00\x00\x00")
|
||||||
|
|
||||||
|
func _1588665364_add_image_dataUpSqlBytes() ([]byte, error) {
|
||||||
|
return bindataRead(
|
||||||
|
__1588665364_add_image_dataUpSql,
|
||||||
|
"1588665364_add_image_data.up.sql",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _1588665364_add_image_dataUpSql() (*asset, error) {
|
||||||
|
bytes, err := _1588665364_add_image_dataUpSqlBytes()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1589363796, 0)}
|
||||||
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
|
||||||
|
return a, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var __1589365189_add_pow_targetDownSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")
|
||||||
|
|
||||||
|
func _1589365189_add_pow_targetDownSqlBytes() ([]byte, error) {
|
||||||
|
return bindataRead(
|
||||||
|
__1589365189_add_pow_targetDownSql,
|
||||||
|
"1589365189_add_pow_target.down.sql",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _1589365189_add_pow_targetDownSql() (*asset, error) {
|
||||||
|
bytes, err := _1589365189_add_pow_targetDownSqlBytes()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
info := bindataFileInfo{name: "1589365189_add_pow_target.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1589365242, 0)}
|
||||||
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||||
|
return a, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var __1589365189_add_pow_targetUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x28\x4a\x2c\x8f\xcf\x4d\x2d\x2e\x4e\x4c\x4f\x2d\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x28\xc8\x2f\x8f\x2f\x49\x2c\x4a\x4f\x2d\x51\x08\x72\x75\xf4\x51\x48\x49\x4d\x4b\x2c\xcd\x29\x51\x30\xd0\x33\x30\xb2\xe6\x02\x04\x00\x00\xff\xff\x49\xd6\x04\x23\x42\x00\x00\x00")
|
||||||
|
|
||||||
|
func _1589365189_add_pow_targetUpSqlBytes() ([]byte, error) {
|
||||||
|
return bindataRead(
|
||||||
|
__1589365189_add_pow_targetUpSql,
|
||||||
|
"1589365189_add_pow_target.up.sql",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _1589365189_add_pow_targetUpSql() (*asset, error) {
|
||||||
|
bytes, err := _1589365189_add_pow_targetUpSqlBytes()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1589365245, 0)}
|
||||||
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
|
||||||
|
return a, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\x3f\x8f\xdb\x3e\x0c\xdd\xf3\x29\x1e\x6e\xb9\xe5\x22\x07\xf8\xfd\xa6\xdb\x3a\x74\xe8\xd2\x2e\xd9\x0b\x46\xa6\x6d\x22\x32\xe5\x8a\xf4\x39\xf9\xf6\x85\x74\x17\x9c\x51\x14\xe8\x4a\x89\x8f\xef\x5f\xd7\xe1\x3c\x89\x61\x90\xc4\x10\x83\x72\x64\x33\x2a\x77\x5c\x38\xd2\x6a\x8c\xa7\x51\x7c\x5a\x2f\x21\xe6\xb9\x33\x27\x5f\xed\x28\x73\x37\xcb\x58\xc8\xb9\x7b\xfb\xff\xe9\xd0\x75\x88\xa4\xcf\x8e\x89\xb4\x4f\xdc\xb0\x0c\xe6\x54\x5c\x74\xc4\x26\x3e\x81\xb0\x14\x1e\xe4\x16\xf0\xc5\x91\x98\xcc\xe1\x13\xf9\xb3\xc1\x27\x46\x24\xe3\x0a\x33\xe4\x82\x31\x1f\x2f\xa2\x3d\x39\x85\x3a\xfa\x36\xec\x26\x95\x61\xa4\x94\xb8\xc7\x50\xf2\xdc\x76\x8d\x66\x46\x2f\x85\xa3\xe7\x72\x7f\x01\x99\xb1\x43\x69\x66\xab\xfb\x13\xbd\x31\x34\x7f\x9c\x07\x69\xff\x6f\x45\xd8\x72\xb9\x1a\xc8\xc0\xb7\x85\xa3\x73\x1f\x0e\x15\xeb\xfb\x8f\xf3\xd7\x57\x9c\x27\xae\xf0\x55\x5a\x1e\x1a\x85\x66\x9e\x32\xf7\x06\xcf\x18\x72\x4a\x79\x6b\x0f\xab\xca\x0d\x2e\x33\x9b\xd3\xbc\x20\x66\x7d\x63\x75\xc9\x5a\xd1\x56\x4d\x72\xe5\xf6\xcf\xb7\x0c\x51\x71\xa1\xf4\xee\x5e\x93\x7e\x7e\x37\xe8\x11\x44\x5c\x4b\x61\xf5\x74\x6f\x2b\xac\xb1\xdc\x97\x8a\x85\x77\xe6\x92\xd5\x9a\xbc\xa5\x64\xcf\x31\xa7\xdd\xbc\xa2\xd9\x44\x85\x3f\x1d\x73\xba\x24\x7e\xc1\x36\x49\x9c\x30\x33\xa9\xb5\x40\xda\x87\x44\xce\xe6\x9f\xfb\x10\x85\x73\x99\xad\x0a\xae\xfc\xaa\xbb\x15\xb3\x16\xe7\x91\xc3\x8e\x50\x33\x7f\xa1\xf8\x51\x85\xc7\x95\xd5\xd8\x40\x7f\x98\xf2\x08\x79\x63\x50\xdf\xe3\x74\x3a\x9d\xfe\xfb\x19\x42\x68\x5d\xe0\x1b\xcd\x4b\xa5\xe9\xb5\xa3\x9b\xa4\x84\x0b\x43\x46\xcd\x85\xfb\xca\x8a\x6f\x62\xad\x64\x31\x09\xab\xd7\xcc\x2a\x5e\x4e\x3d\x97\xaa\x47\xf7\x7a\xfe\x66\x59\x38\x1c\x16\x8a\x57\x1a\x19\xf6\x2b\x89\x73\x0d\x7a\xcc\xaf\x23\x2b\xd7\x3a\xec\xcb\x77\x5c\xae\xe3\xde\xec\x63\x46\x08\xdd\xe7\x20\x8c\x19\xe1\xf0\x3b\x00\x00\xff\xff\x12\xcd\x7f\xc4\x52\x03\x00\x00")
|
||||||
|
|
||||||
func docGoBytes() ([]byte, error) {
|
func docGoBytes() ([]byte, error) {
|
||||||
return bindataRead(
|
return bindataRead(
|
||||||
|
@ -210,8 +294,8 @@ func docGo() (*asset, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1574354941, 0)}
|
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1589265610, 0)}
|
||||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}}
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
|
||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,6 +402,14 @@ var _bindata = map[string]func() (*asset, error){
|
||||||
|
|
||||||
"1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql,
|
"1586358095_add_replace.up.sql": _1586358095_add_replaceUpSql,
|
||||||
|
|
||||||
|
"1588665364_add_image_data.down.sql": _1588665364_add_image_dataDownSql,
|
||||||
|
|
||||||
|
"1588665364_add_image_data.up.sql": _1588665364_add_image_dataUpSql,
|
||||||
|
|
||||||
|
"1589365189_add_pow_target.down.sql": _1589365189_add_pow_targetDownSql,
|
||||||
|
|
||||||
|
"1589365189_add_pow_target.up.sql": _1589365189_add_pow_targetUpSql,
|
||||||
|
|
||||||
"doc.go": docGo,
|
"doc.go": docGo,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,6 +460,10 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
||||||
"000002_add_last_ens_clock_value.up.sql": &bintree{_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}},
|
"000002_add_last_ens_clock_value.up.sql": &bintree{_000002_add_last_ens_clock_valueUpSql, map[string]*bintree{}},
|
||||||
"1586358095_add_replace.down.sql": &bintree{_1586358095_add_replaceDownSql, map[string]*bintree{}},
|
"1586358095_add_replace.down.sql": &bintree{_1586358095_add_replaceDownSql, map[string]*bintree{}},
|
||||||
"1586358095_add_replace.up.sql": &bintree{_1586358095_add_replaceUpSql, map[string]*bintree{}},
|
"1586358095_add_replace.up.sql": &bintree{_1586358095_add_replaceUpSql, map[string]*bintree{}},
|
||||||
|
"1588665364_add_image_data.down.sql": &bintree{_1588665364_add_image_dataDownSql, map[string]*bintree{}},
|
||||||
|
"1588665364_add_image_data.up.sql": &bintree{_1588665364_add_image_dataUpSql, map[string]*bintree{}},
|
||||||
|
"1589365189_add_pow_target.down.sql": &bintree{_1589365189_add_pow_targetDownSql, map[string]*bintree{}},
|
||||||
|
"1589365189_add_pow_target.up.sql": &bintree{_1589365189_add_pow_targetUpSql, map[string]*bintree{}},
|
||||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,40 @@ var _ = math.Inf
|
||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||||
|
|
||||||
|
type ImageMessage_ImageType int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
ImageMessage_UNKNOWN_IMAGE_TYPE ImageMessage_ImageType = 0
|
||||||
|
ImageMessage_PNG ImageMessage_ImageType = 1
|
||||||
|
ImageMessage_JPEG ImageMessage_ImageType = 2
|
||||||
|
ImageMessage_WEBP ImageMessage_ImageType = 3
|
||||||
|
ImageMessage_GIF ImageMessage_ImageType = 4
|
||||||
|
)
|
||||||
|
|
||||||
|
var ImageMessage_ImageType_name = map[int32]string{
|
||||||
|
0: "UNKNOWN_IMAGE_TYPE",
|
||||||
|
1: "PNG",
|
||||||
|
2: "JPEG",
|
||||||
|
3: "WEBP",
|
||||||
|
4: "GIF",
|
||||||
|
}
|
||||||
|
|
||||||
|
var ImageMessage_ImageType_value = map[string]int32{
|
||||||
|
"UNKNOWN_IMAGE_TYPE": 0,
|
||||||
|
"PNG": 1,
|
||||||
|
"JPEG": 2,
|
||||||
|
"WEBP": 3,
|
||||||
|
"GIF": 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x ImageMessage_ImageType) String() string {
|
||||||
|
return proto.EnumName(ImageMessage_ImageType_name, int32(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ImageMessage_ImageType) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_263952f55fd35689, []int{1, 0}
|
||||||
|
}
|
||||||
|
|
||||||
type ChatMessage_MessageType int32
|
type ChatMessage_MessageType int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -52,7 +86,7 @@ func (x ChatMessage_MessageType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ChatMessage_MessageType) EnumDescriptor() ([]byte, []int) {
|
func (ChatMessage_MessageType) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_263952f55fd35689, []int{1, 0}
|
return fileDescriptor_263952f55fd35689, []int{2, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ChatMessage_ContentType int32
|
type ChatMessage_ContentType int32
|
||||||
|
@ -66,6 +100,7 @@ const (
|
||||||
ChatMessage_TRANSACTION_COMMAND ChatMessage_ContentType = 5
|
ChatMessage_TRANSACTION_COMMAND ChatMessage_ContentType = 5
|
||||||
// Only local
|
// Only local
|
||||||
ChatMessage_SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP ChatMessage_ContentType = 6
|
ChatMessage_SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP ChatMessage_ContentType = 6
|
||||||
|
ChatMessage_IMAGE ChatMessage_ContentType = 7
|
||||||
)
|
)
|
||||||
|
|
||||||
var ChatMessage_ContentType_name = map[int32]string{
|
var ChatMessage_ContentType_name = map[int32]string{
|
||||||
|
@ -76,6 +111,7 @@ var ChatMessage_ContentType_name = map[int32]string{
|
||||||
4: "EMOJI",
|
4: "EMOJI",
|
||||||
5: "TRANSACTION_COMMAND",
|
5: "TRANSACTION_COMMAND",
|
||||||
6: "SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP",
|
6: "SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP",
|
||||||
|
7: "IMAGE",
|
||||||
}
|
}
|
||||||
|
|
||||||
var ChatMessage_ContentType_value = map[string]int32{
|
var ChatMessage_ContentType_value = map[string]int32{
|
||||||
|
@ -86,6 +122,7 @@ var ChatMessage_ContentType_value = map[string]int32{
|
||||||
"EMOJI": 4,
|
"EMOJI": 4,
|
||||||
"TRANSACTION_COMMAND": 5,
|
"TRANSACTION_COMMAND": 5,
|
||||||
"SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP": 6,
|
"SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP": 6,
|
||||||
|
"IMAGE": 7,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x ChatMessage_ContentType) String() string {
|
func (x ChatMessage_ContentType) String() string {
|
||||||
|
@ -93,7 +130,7 @@ func (x ChatMessage_ContentType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ChatMessage_ContentType) EnumDescriptor() ([]byte, []int) {
|
func (ChatMessage_ContentType) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_263952f55fd35689, []int{1, 1}
|
return fileDescriptor_263952f55fd35689, []int{2, 1}
|
||||||
}
|
}
|
||||||
|
|
||||||
type StickerMessage struct {
|
type StickerMessage struct {
|
||||||
|
@ -143,6 +180,53 @@ func (m *StickerMessage) GetPack() int32 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ImageMessage struct {
|
||||||
|
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
|
||||||
|
Type ImageMessage_ImageType `protobuf:"varint,2,opt,name=type,proto3,enum=protobuf.ImageMessage_ImageType" json:"type,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ImageMessage) Reset() { *m = ImageMessage{} }
|
||||||
|
func (m *ImageMessage) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*ImageMessage) ProtoMessage() {}
|
||||||
|
func (*ImageMessage) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_263952f55fd35689, []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ImageMessage) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_ImageMessage.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *ImageMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_ImageMessage.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (m *ImageMessage) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_ImageMessage.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *ImageMessage) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_ImageMessage.Size(m)
|
||||||
|
}
|
||||||
|
func (m *ImageMessage) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_ImageMessage.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_ImageMessage proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *ImageMessage) GetPayload() []byte {
|
||||||
|
if m != nil {
|
||||||
|
return m.Payload
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ImageMessage) GetType() ImageMessage_ImageType {
|
||||||
|
if m != nil {
|
||||||
|
return m.Type
|
||||||
|
}
|
||||||
|
return ImageMessage_UNKNOWN_IMAGE_TYPE
|
||||||
|
}
|
||||||
|
|
||||||
type ChatMessage struct {
|
type ChatMessage struct {
|
||||||
// Lamport timestamp of the chat message
|
// Lamport timestamp of the chat message
|
||||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||||
|
@ -166,6 +250,7 @@ type ChatMessage struct {
|
||||||
ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
|
ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
|
||||||
// Types that are valid to be assigned to Payload:
|
// Types that are valid to be assigned to Payload:
|
||||||
// *ChatMessage_Sticker
|
// *ChatMessage_Sticker
|
||||||
|
// *ChatMessage_Image
|
||||||
Payload isChatMessage_Payload `protobuf_oneof:"payload"`
|
Payload isChatMessage_Payload `protobuf_oneof:"payload"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
@ -176,7 +261,7 @@ func (m *ChatMessage) Reset() { *m = ChatMessage{} }
|
||||||
func (m *ChatMessage) String() string { return proto.CompactTextString(m) }
|
func (m *ChatMessage) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ChatMessage) ProtoMessage() {}
|
func (*ChatMessage) ProtoMessage() {}
|
||||||
func (*ChatMessage) Descriptor() ([]byte, []int) {
|
func (*ChatMessage) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_263952f55fd35689, []int{1}
|
return fileDescriptor_263952f55fd35689, []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ChatMessage) XXX_Unmarshal(b []byte) error {
|
func (m *ChatMessage) XXX_Unmarshal(b []byte) error {
|
||||||
|
@ -261,8 +346,14 @@ type ChatMessage_Sticker struct {
|
||||||
Sticker *StickerMessage `protobuf:"bytes,9,opt,name=sticker,proto3,oneof"`
|
Sticker *StickerMessage `protobuf:"bytes,9,opt,name=sticker,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ChatMessage_Image struct {
|
||||||
|
Image *ImageMessage `protobuf:"bytes,10,opt,name=image,proto3,oneof"`
|
||||||
|
}
|
||||||
|
|
||||||
func (*ChatMessage_Sticker) isChatMessage_Payload() {}
|
func (*ChatMessage_Sticker) isChatMessage_Payload() {}
|
||||||
|
|
||||||
|
func (*ChatMessage_Image) isChatMessage_Payload() {}
|
||||||
|
|
||||||
func (m *ChatMessage) GetPayload() isChatMessage_Payload {
|
func (m *ChatMessage) GetPayload() isChatMessage_Payload {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Payload
|
return m.Payload
|
||||||
|
@ -277,52 +368,68 @@ func (m *ChatMessage) GetSticker() *StickerMessage {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ChatMessage) GetImage() *ImageMessage {
|
||||||
|
if x, ok := m.GetPayload().(*ChatMessage_Image); ok {
|
||||||
|
return x.Image
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// XXX_OneofWrappers is for the internal use of the proto package.
|
// XXX_OneofWrappers is for the internal use of the proto package.
|
||||||
func (*ChatMessage) XXX_OneofWrappers() []interface{} {
|
func (*ChatMessage) XXX_OneofWrappers() []interface{} {
|
||||||
return []interface{}{
|
return []interface{}{
|
||||||
(*ChatMessage_Sticker)(nil),
|
(*ChatMessage_Sticker)(nil),
|
||||||
|
(*ChatMessage_Image)(nil),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
proto.RegisterEnum("protobuf.ImageMessage_ImageType", ImageMessage_ImageType_name, ImageMessage_ImageType_value)
|
||||||
proto.RegisterEnum("protobuf.ChatMessage_MessageType", ChatMessage_MessageType_name, ChatMessage_MessageType_value)
|
proto.RegisterEnum("protobuf.ChatMessage_MessageType", ChatMessage_MessageType_name, ChatMessage_MessageType_value)
|
||||||
proto.RegisterEnum("protobuf.ChatMessage_ContentType", ChatMessage_ContentType_name, ChatMessage_ContentType_value)
|
proto.RegisterEnum("protobuf.ChatMessage_ContentType", ChatMessage_ContentType_name, ChatMessage_ContentType_value)
|
||||||
proto.RegisterType((*StickerMessage)(nil), "protobuf.StickerMessage")
|
proto.RegisterType((*StickerMessage)(nil), "protobuf.StickerMessage")
|
||||||
|
proto.RegisterType((*ImageMessage)(nil), "protobuf.ImageMessage")
|
||||||
proto.RegisterType((*ChatMessage)(nil), "protobuf.ChatMessage")
|
proto.RegisterType((*ChatMessage)(nil), "protobuf.ChatMessage")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("chat_message.proto", fileDescriptor_263952f55fd35689) }
|
func init() { proto.RegisterFile("chat_message.proto", fileDescriptor_263952f55fd35689) }
|
||||||
|
|
||||||
var fileDescriptor_263952f55fd35689 = []byte{
|
var fileDescriptor_263952f55fd35689 = []byte{
|
||||||
// 472 bytes of a gzipped FileDescriptorProto
|
// 569 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xcd, 0x6e, 0xd3, 0x40,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xcd, 0x4e, 0xdb, 0x40,
|
||||||
0x10, 0xc7, 0xeb, 0xc6, 0x8e, 0x93, 0x71, 0x89, 0xcc, 0x50, 0xa9, 0x46, 0xaa, 0x44, 0x88, 0x38,
|
0x10, 0xc6, 0x89, 0x1d, 0x27, 0xe3, 0x14, 0x6d, 0xa7, 0x08, 0x5c, 0x09, 0xa9, 0x69, 0xd4, 0x43,
|
||||||
0xe4, 0x94, 0x43, 0xe1, 0xc0, 0xd5, 0x75, 0x57, 0xc5, 0xb4, 0x5e, 0x47, 0xf6, 0x06, 0xe8, 0x69,
|
0x4e, 0x39, 0x50, 0x0e, 0xbd, 0x9a, 0xb0, 0x0d, 0x06, 0xfc, 0xa3, 0xf5, 0xa6, 0x94, 0x93, 0x65,
|
||||||
0xb5, 0x75, 0x16, 0x12, 0xa5, 0xfe, 0x50, 0xbc, 0x48, 0xe4, 0xc2, 0x73, 0x70, 0xe2, 0x59, 0x91,
|
0xcc, 0x96, 0x44, 0xe0, 0xd8, 0xc2, 0x5b, 0xa9, 0x5c, 0xfa, 0x3e, 0x7d, 0x9e, 0xbe, 0x50, 0xe5,
|
||||||
0xd7, 0x09, 0x49, 0x38, 0x70, 0xda, 0xf9, 0xfc, 0xcd, 0x7f, 0x66, 0x01, 0xb3, 0x85, 0x50, 0x3c,
|
0x35, 0x26, 0x4e, 0x55, 0xf5, 0xb4, 0xf3, 0xfb, 0xed, 0xb7, 0xdf, 0xcc, 0x02, 0xa6, 0xcb, 0x44,
|
||||||
0x97, 0x75, 0x2d, 0xbe, 0xc9, 0x49, 0xb5, 0x2e, 0x55, 0x89, 0x3d, 0xfd, 0x3c, 0x7e, 0xff, 0x3a,
|
0xc6, 0x99, 0x28, 0xcb, 0xe4, 0x4e, 0x4c, 0x8b, 0xc7, 0x5c, 0xe6, 0xd8, 0x57, 0xc7, 0xcd, 0xf7,
|
||||||
0x7a, 0x0f, 0x83, 0x54, 0x2d, 0xb3, 0x95, 0x5c, 0x47, 0x6d, 0x05, 0x22, 0x98, 0x0b, 0x51, 0x2f,
|
0x6f, 0xe3, 0x4f, 0xb0, 0x1b, 0xc9, 0x55, 0x7a, 0x2f, 0x1e, 0xbd, 0xba, 0x02, 0x11, 0xf4, 0x65,
|
||||||
0x3c, 0x63, 0x68, 0x8c, 0xfb, 0x89, 0xb6, 0x9b, 0x58, 0x25, 0xb2, 0x95, 0x77, 0x3a, 0x34, 0xc6,
|
0x52, 0x2e, 0x6d, 0x6d, 0xa4, 0x4d, 0x06, 0x4c, 0xd9, 0x55, 0xac, 0x48, 0xd2, 0x7b, 0xbb, 0x33,
|
||||||
0x56, 0xa2, 0xed, 0xd1, 0x2f, 0x0b, 0x9c, 0x60, 0x21, 0xd4, 0xae, 0xef, 0x1c, 0xac, 0xec, 0xa9,
|
0xd2, 0x26, 0x06, 0x53, 0xf6, 0xf8, 0x97, 0x06, 0x43, 0x37, 0x4b, 0xee, 0x44, 0xd3, 0x68, 0x83,
|
||||||
0xcc, 0x56, 0xba, 0xd1, 0x4c, 0x5a, 0x07, 0x2f, 0xa1, 0xaf, 0x96, 0xb9, 0xac, 0x95, 0xc8, 0x2b,
|
0x59, 0x24, 0x4f, 0x0f, 0x79, 0x72, 0xab, 0x7a, 0x87, 0xac, 0x71, 0xf1, 0x18, 0x74, 0xf9, 0x54,
|
||||||
0xdd, 0x6e, 0x26, 0xfb, 0x40, 0xc3, 0x55, 0xf2, 0x87, 0xf2, 0x3a, 0xed, 0xac, 0xc6, 0xc6, 0x57,
|
0x08, 0xd5, 0xbe, 0x7b, 0x34, 0x9a, 0x36, 0xb7, 0x4f, 0xdb, 0xfd, 0xb5, 0xc3, 0x9f, 0x0a, 0xc1,
|
||||||
0xe0, 0xac, 0x65, 0x5d, 0x95, 0x45, 0x2d, 0xb9, 0x2a, 0x3d, 0x53, 0xa7, 0x60, 0x17, 0x62, 0x25,
|
0x54, 0xf5, 0xd8, 0x85, 0xc1, 0x4b, 0x08, 0xf7, 0x01, 0x17, 0xfe, 0x85, 0x1f, 0x5c, 0xf9, 0xb1,
|
||||||
0xbe, 0x84, 0x9e, 0x2c, 0x6a, 0x5e, 0x88, 0x5c, 0x7a, 0x96, 0xce, 0xda, 0xb2, 0xa8, 0xa9, 0xc8,
|
0xeb, 0x39, 0x73, 0x1a, 0xf3, 0xeb, 0x90, 0x92, 0x1d, 0x34, 0xa1, 0x1b, 0xfa, 0x73, 0xa2, 0x61,
|
||||||
0x25, 0x5e, 0x80, 0xad, 0xb7, 0x5d, 0xce, 0xbd, 0xae, 0xce, 0x74, 0x1b, 0x37, 0x9c, 0xe3, 0x0d,
|
0x1f, 0xf4, 0xf3, 0x90, 0xce, 0x49, 0xa7, 0xb2, 0xae, 0xe8, 0x49, 0x48, 0xba, 0x55, 0x72, 0xee,
|
||||||
0x9c, 0x6d, 0x2f, 0xc0, 0xd5, 0xa6, 0x92, 0x9e, 0x3d, 0x34, 0xc6, 0x83, 0xab, 0xd7, 0x93, 0xdd,
|
0x7e, 0x26, 0xfa, 0xf8, 0xb7, 0x01, 0xd6, 0x6c, 0x99, 0xc8, 0x86, 0xea, 0x1e, 0x18, 0xe9, 0x43,
|
||||||
0x1d, 0x26, 0x07, 0x9b, 0x4c, 0xb6, 0x2f, 0xdb, 0x54, 0x32, 0x71, 0xf2, 0xbd, 0xd3, 0x50, 0xb2,
|
0x9e, 0xde, 0x2b, 0xa2, 0x3a, 0xab, 0x1d, 0x3c, 0x84, 0x81, 0x5c, 0x65, 0xa2, 0x94, 0x49, 0x56,
|
||||||
0xb2, 0x50, 0xb2, 0x50, 0x2d, 0xa5, 0xf7, 0x3f, 0x4a, 0xd0, 0x56, 0xb6, 0x94, 0x6c, 0xef, 0xe0,
|
0x28, 0xae, 0x3a, 0xdb, 0x04, 0x2a, 0x0d, 0xa4, 0xf8, 0x21, 0xed, 0x6e, 0xad, 0x4b, 0x65, 0xe3,
|
||||||
0x3b, 0xb0, 0xeb, 0xf6, 0xe4, 0x5e, 0x7f, 0x68, 0x8c, 0x9d, 0x2b, 0x6f, 0x0f, 0x38, 0xfe, 0x8b,
|
0x3b, 0xb0, 0x1e, 0x45, 0x59, 0xe4, 0xeb, 0x52, 0xc4, 0x32, 0xb7, 0x75, 0x95, 0x82, 0x26, 0xc4,
|
||||||
0x0f, 0x27, 0xc9, 0xae, 0x74, 0xf4, 0x13, 0x9c, 0x03, 0x5d, 0xe8, 0xc1, 0xf9, 0x8c, 0xde, 0xd1,
|
0x73, 0x7c, 0x0b, 0x7d, 0xb1, 0x2e, 0xe3, 0x75, 0x92, 0x09, 0xdb, 0x50, 0x59, 0x53, 0xac, 0x4b,
|
||||||
0xf8, 0x33, 0xe5, 0x11, 0x49, 0x53, 0xff, 0x96, 0x70, 0xf6, 0x30, 0x25, 0xee, 0x09, 0x0e, 0x00,
|
0x3f, 0xc9, 0x04, 0x1e, 0x80, 0xa9, 0x26, 0xb3, 0xba, 0xb5, 0x7b, 0x2a, 0xd3, 0xab, 0x5c, 0xf7,
|
||||||
0x62, 0x4a, 0x38, 0x8b, 0x79, 0x4c, 0x89, 0x6b, 0xa0, 0x0b, 0x67, 0xd3, 0xd9, 0xf5, 0x7d, 0x18,
|
0x16, 0x4f, 0x61, 0xf8, 0x3c, 0xad, 0x58, 0xa9, 0x66, 0x2a, 0xd5, 0xde, 0x6f, 0x54, 0x6b, 0xbd,
|
||||||
0xf0, 0xdb, 0x24, 0x9e, 0x4d, 0xdd, 0x53, 0x7c, 0x0e, 0xcf, 0xa6, 0x49, 0xf8, 0xc9, 0x67, 0x64,
|
0x64, 0xfa, 0x7c, 0x2a, 0xd9, 0xac, 0x6c, 0xe3, 0x54, 0x28, 0x69, 0xbe, 0x96, 0x62, 0x2d, 0x6b,
|
||||||
0x1b, 0xea, 0xe0, 0x10, 0x2e, 0xd3, 0x87, 0x94, 0x91, 0xe8, 0x2f, 0xed, 0xb8, 0xc2, 0x1c, 0xfd,
|
0x94, 0xfe, 0xff, 0x50, 0x66, 0x75, 0x65, 0x8d, 0x92, 0x6e, 0x1c, 0x3c, 0x06, 0xb3, 0xac, 0xd7,
|
||||||
0x36, 0xc0, 0x39, 0x58, 0xe9, 0x50, 0x40, 0x10, 0x53, 0x46, 0x28, 0x3b, 0x10, 0xc0, 0xc8, 0x17,
|
0xc3, 0x1e, 0x8c, 0xb4, 0x89, 0x75, 0x64, 0x6f, 0x00, 0xb6, 0xf7, 0xe6, 0x6c, 0x87, 0x35, 0xa5,
|
||||||
0xc6, 0xa7, 0xf7, 0x7e, 0x48, 0x5d, 0x03, 0x1d, 0xb0, 0x53, 0x16, 0x06, 0x77, 0x24, 0x71, 0x4f,
|
0x38, 0x05, 0x63, 0x55, 0x4d, 0xce, 0x06, 0xd5, 0xb3, 0xff, 0xef, 0x81, 0x9f, 0xed, 0xb0, 0xba,
|
||||||
0x11, 0xa0, 0x9b, 0x32, 0x9f, 0xcd, 0x52, 0xb7, 0x83, 0x7d, 0xb0, 0x48, 0x14, 0x7f, 0x0c, 0x5d,
|
0x6c, 0xfc, 0x13, 0xac, 0xd6, 0x3b, 0xd0, 0x86, 0xbd, 0x66, 0xd6, 0x1e, 0x8d, 0xa2, 0xd6, 0xb4,
|
||||||
0x13, 0x2f, 0xe0, 0x05, 0x4b, 0x7c, 0x9a, 0xfa, 0x01, 0x0b, 0xe3, 0x86, 0x18, 0x45, 0x3e, 0xbd,
|
0x77, 0x01, 0x02, 0x9f, 0xc6, 0x3c, 0x88, 0x03, 0x9f, 0x12, 0x0d, 0x09, 0x0c, 0xc3, 0xc5, 0xc9,
|
||||||
0x71, 0x2d, 0x1c, 0xc3, 0x9b, 0x7f, 0x84, 0xed, 0xa6, 0x1d, 0x0b, 0xec, 0x5e, 0xf7, 0xc1, 0xae,
|
0xa5, 0x3b, 0x8b, 0xe7, 0x2c, 0x58, 0x84, 0xa4, 0x83, 0xaf, 0xe1, 0x55, 0xc8, 0xdc, 0x2f, 0x0e,
|
||||||
0xc4, 0xe6, 0xa9, 0x14, 0xf3, 0xc7, 0xae, 0xbe, 0xe7, 0xdb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff,
|
0xa7, 0xcf, 0xa1, 0x2e, 0x8e, 0xe0, 0x30, 0xba, 0x8e, 0x38, 0xf5, 0x5e, 0xd0, 0xb6, 0x2b, 0xf4,
|
||||||
0x0e, 0x1e, 0x7b, 0x43, 0xfb, 0x02, 0x00, 0x00,
|
0x6a, 0x95, 0xad, 0x96, 0x04, 0x6d, 0x02, 0xb3, 0xc0, 0xe7, 0xd4, 0xe7, 0x2d, 0x02, 0x9c, 0x7e,
|
||||||
|
0xe5, 0x71, 0x78, 0xe9, 0xb8, 0x3e, 0xd1, 0xd0, 0x02, 0x33, 0xe2, 0xee, 0xec, 0x82, 0x32, 0xd2,
|
||||||
|
0x41, 0x80, 0x5e, 0xc4, 0x1d, 0xbe, 0x88, 0x48, 0x17, 0x07, 0x60, 0x50, 0x2f, 0x38, 0x77, 0x89,
|
||||||
|
0x8e, 0x07, 0xf0, 0x86, 0x33, 0xc7, 0x8f, 0x9c, 0x19, 0x77, 0x83, 0x0a, 0xd1, 0xf3, 0x1c, 0xff,
|
||||||
|
0x94, 0x18, 0x38, 0x81, 0x0f, 0x7f, 0x11, 0x6b, 0x6e, 0xdb, 0x26, 0xd8, 0xab, 0xd0, 0xd4, 0xd6,
|
||||||
|
0x13, 0xf3, 0x64, 0xf0, 0xf2, 0xcb, 0x6e, 0x7a, 0x4a, 0xd6, 0x8f, 0x7f, 0x02, 0x00, 0x00, 0xff,
|
||||||
|
0xff, 0x1f, 0xf2, 0x87, 0xb6, 0xe2, 0x03, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,18 @@ message StickerMessage {
|
||||||
int32 pack = 2;
|
int32 pack = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message ImageMessage {
|
||||||
|
bytes payload = 1;
|
||||||
|
ImageType type = 2;
|
||||||
|
enum ImageType {
|
||||||
|
UNKNOWN_IMAGE_TYPE = 0;
|
||||||
|
PNG = 1;
|
||||||
|
JPEG = 2;
|
||||||
|
WEBP = 3;
|
||||||
|
GIF = 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
message ChatMessage {
|
message ChatMessage {
|
||||||
// Lamport timestamp of the chat message
|
// Lamport timestamp of the chat message
|
||||||
uint64 clock = 1;
|
uint64 clock = 1;
|
||||||
|
@ -32,6 +44,7 @@ message ChatMessage {
|
||||||
|
|
||||||
oneof payload {
|
oneof payload {
|
||||||
StickerMessage sticker = 9;
|
StickerMessage sticker = 9;
|
||||||
|
ImageMessage image = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum MessageType {
|
enum MessageType {
|
||||||
|
@ -50,5 +63,6 @@ message ChatMessage {
|
||||||
TRANSACTION_COMMAND = 5;
|
TRANSACTION_COMMAND = 5;
|
||||||
// Only local
|
// Only local
|
||||||
SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP = 6;
|
SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP = 6;
|
||||||
|
IMAGE = 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
package transport
|
|
||||||
|
|
||||||
import "github.com/status-im/status-go/eth-node/types"
|
|
||||||
|
|
||||||
func DefaultMessage() types.NewMessage {
|
|
||||||
msg := types.NewMessage{}
|
|
||||||
|
|
||||||
msg.TTL = 10
|
|
||||||
msg.PowTarget = 0.002
|
|
||||||
msg.PowTime = 1
|
|
||||||
|
|
||||||
return msg
|
|
||||||
}
|
|
Loading…
Reference in New Issue