Add /devices/knowndevice endpoint

Added a new endpoint which the currently beta client for at least
Android v2022.10.1 seems to be calling, and crashes with the response we
currently provide

Fixes 
Fixes 
Fixes 
This commit is contained in:
BlackDex 2022-11-06 18:07:09 +01:00 committed by Daniel García
parent 439ef44973
commit 6f0dea1b56
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A

@ -36,6 +36,7 @@ pub fn routes() -> Vec<rocket::Route> {
verify_password, verify_password,
api_key, api_key,
rotate_api_key, rotate_api_key,
get_known_device,
] ]
} }
@ -739,3 +740,16 @@ async fn api_key(data: JsonUpcase<SecretVerificationRequest>, headers: Headers,
async fn rotate_api_key(data: JsonUpcase<SecretVerificationRequest>, headers: Headers, conn: DbConn) -> JsonResult { async fn rotate_api_key(data: JsonUpcase<SecretVerificationRequest>, headers: Headers, conn: DbConn) -> JsonResult {
_api_key(data, true, headers, conn).await _api_key(data, true, headers, conn).await
} }
#[get("/devices/knowndevice/<email>/<uuid>")]
async fn get_known_device(email: String, uuid: String, mut conn: DbConn) -> String {
// This endpoint doesn't have auth header
if let Some(user) = User::find_by_mail(&email, &mut conn).await {
match Device::find_by_uuid_and_user(&uuid, &user.uuid, &mut conn).await {
Some(_) => String::from("true"),
_ => String::from("false"),
}
} else {
String::from("false")
}
}