Avoid too much indentation

This commit is contained in:
ismailgulek
2022-09-12 17:54:55 +03:00
parent d0d8e38a1d
commit 076de488e7

View File

@@ -80,155 +80,151 @@ async fn sync(client: Client) -> matrix_sdk::Result<()> {
let client = &client_ref;
let initial = &initial_ref;
if let Ok(sync_response) = response {
for event in
sync_response.to_device.events.iter().filter_map(|e| e.deserialize().ok())
{
match event {
AnyToDeviceEvent::KeyVerificationRequest(e) => {
let request = client
.encryption()
.get_verification_request(&e.sender, &e.content.transaction_id)
.await
.expect("Request object wasn't created");
request.accept().await.expect("Can't accept verification request");
}
AnyToDeviceEvent::KeyVerificationStart(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
println!(
"Starting verification with {} {}",
&sas.other_device().user_id(),
&sas.other_device().device_id()
);
print_devices(&e.sender, client).await;
sas.accept().await.unwrap();
}
}
AnyToDeviceEvent::KeyVerificationKey(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
tokio::spawn(wait_for_confirmation((*client).clone(), sas));
}
}
AnyToDeviceEvent::KeyVerificationDone(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
if sas.is_done() {
print_result(&sas);
print_devices(&e.sender, client).await;
}
}
}
_ => (),
}
}
if !initial.load(Ordering::SeqCst) {
for (_room_id, room_info) in sync_response.rooms.join {
for event in room_info
.timeline
.events
.iter()
.filter_map(|e| e.event.deserialize().ok())
{
if let AnySyncTimelineEvent::MessageLike(event) = event {
match event {
AnySyncMessageLikeEvent::RoomMessage(
SyncMessageLikeEvent::Original(m),
) => {
if let MessageType::VerificationRequest(_) =
&m.content.msgtype
{
let request = client
.encryption()
.get_verification_request(&m.sender, &m.event_id)
.await
.expect("Request object wasn't created");
request
.accept()
.await
.expect("Can't accept verification request");
}
}
AnySyncMessageLikeEvent::KeyVerificationStart(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
println!(
"Starting verification with {} {}",
&sas.other_device().user_id(),
&sas.other_device().device_id()
);
print_devices(&e.sender, client).await;
sas.accept().await.unwrap();
}
}
AnySyncMessageLikeEvent::KeyVerificationKey(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
tokio::spawn(wait_for_confirmation(
(*client).clone(),
sas,
));
}
}
AnySyncMessageLikeEvent::KeyVerificationDone(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
if sas.is_done() {
print_result(&sas);
print_devices(&e.sender, client).await;
}
}
}
_ => (),
}
}
}
}
}
initial.store(false, Ordering::SeqCst);
if response.is_err() {
return LoopCtrl::Break;
}
let sync_response = response.ok().unwrap();
for event in sync_response.to_device.events.iter().filter_map(|e| e.deserialize().ok())
{
match event {
AnyToDeviceEvent::KeyVerificationRequest(e) => {
let request = client
.encryption()
.get_verification_request(&e.sender, &e.content.transaction_id)
.await
.expect("Request object wasn't created");
request.accept().await.expect("Can't accept verification request");
}
AnyToDeviceEvent::KeyVerificationStart(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
println!(
"Starting verification with {} {}",
&sas.other_device().user_id(),
&sas.other_device().device_id()
);
print_devices(&e.sender, client).await;
sas.accept().await.unwrap();
}
}
AnyToDeviceEvent::KeyVerificationKey(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
tokio::spawn(wait_for_confirmation((*client).clone(), sas));
}
}
AnyToDeviceEvent::KeyVerificationDone(e) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(&e.sender, e.content.transaction_id.as_str())
.await
{
if sas.is_done() {
print_result(&sas);
print_devices(&e.sender, client).await;
}
}
}
_ => (),
}
}
if !initial.load(Ordering::SeqCst) {
for (_room_id, room_info) in sync_response.rooms.join {
for event in
room_info.timeline.events.iter().filter_map(|e| e.event.deserialize().ok())
{
if let AnySyncTimelineEvent::MessageLike(event) = event {
match event {
AnySyncMessageLikeEvent::RoomMessage(
SyncMessageLikeEvent::Original(m),
) => {
if let MessageType::VerificationRequest(_) = &m.content.msgtype
{
let request = client
.encryption()
.get_verification_request(&m.sender, &m.event_id)
.await
.expect("Request object wasn't created");
request
.accept()
.await
.expect("Can't accept verification request");
}
}
AnySyncMessageLikeEvent::KeyVerificationStart(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
println!(
"Starting verification with {} {}",
&sas.other_device().user_id(),
&sas.other_device().device_id()
);
print_devices(&e.sender, client).await;
sas.accept().await.unwrap();
}
}
AnySyncMessageLikeEvent::KeyVerificationKey(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
tokio::spawn(wait_for_confirmation((*client).clone(), sas));
}
}
AnySyncMessageLikeEvent::KeyVerificationDone(
SyncMessageLikeEvent::Original(e),
) => {
if let Some(Verification::SasV1(sas)) = client
.encryption()
.get_verification(
&e.sender,
e.content.relates_to.event_id.as_str(),
)
.await
{
if sas.is_done() {
print_result(&sas);
print_devices(&e.sender, client).await;
}
}
}
_ => (),
}
}
}
}
}
initial.store(false, Ordering::SeqCst);
LoopCtrl::Continue
})
.await;