merge rooms/short Data w/ Service; optimize queries
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
0e8ae1e13e
commit
c569881b08
18 changed files with 257 additions and 262 deletions
|
@ -120,13 +120,13 @@ impl Service {
|
|||
|
||||
/// Check if a user has an account on this homeserver.
|
||||
#[inline]
|
||||
pub async fn exists(&self, user_id: &UserId) -> bool { self.db.userid_password.qry(user_id).await.is_ok() }
|
||||
pub async fn exists(&self, user_id: &UserId) -> bool { self.db.userid_password.get(user_id).await.is_ok() }
|
||||
|
||||
/// Check if account is deactivated
|
||||
pub async fn is_deactivated(&self, user_id: &UserId) -> Result<bool> {
|
||||
self.db
|
||||
.userid_password
|
||||
.qry(user_id)
|
||||
.get(user_id)
|
||||
.map_ok(|val| val.is_empty())
|
||||
.map_err(|_| err!(Request(NotFound("User does not exist."))))
|
||||
.await
|
||||
|
@ -146,7 +146,7 @@ impl Service {
|
|||
|
||||
/// Find out which user an access token belongs to.
|
||||
pub async fn find_from_token(&self, token: &str) -> Result<(OwnedUserId, OwnedDeviceId)> {
|
||||
self.db.token_userdeviceid.qry(token).await.deserialized()
|
||||
self.db.token_userdeviceid.get(token).await.deserialized()
|
||||
}
|
||||
|
||||
/// Returns an iterator over all users on this homeserver (offered for
|
||||
|
@ -171,7 +171,7 @@ impl Service {
|
|||
|
||||
/// Returns the password hash for the given user.
|
||||
pub async fn password_hash(&self, user_id: &UserId) -> Result<String> {
|
||||
self.db.userid_password.qry(user_id).await.deserialized()
|
||||
self.db.userid_password.get(user_id).await.deserialized()
|
||||
}
|
||||
|
||||
/// Hash and set the user's password to the Argon2 hash
|
||||
|
@ -196,7 +196,7 @@ impl Service {
|
|||
|
||||
/// Returns the displayname of a user on this homeserver.
|
||||
pub async fn displayname(&self, user_id: &UserId) -> Result<String> {
|
||||
self.db.userid_displayname.qry(user_id).await.deserialized()
|
||||
self.db.userid_displayname.get(user_id).await.deserialized()
|
||||
}
|
||||
|
||||
/// Sets a new displayname or removes it if displayname is None. You still
|
||||
|
@ -213,7 +213,7 @@ impl Service {
|
|||
|
||||
/// Get the `avatar_url` of a user.
|
||||
pub async fn avatar_url(&self, user_id: &UserId) -> Result<OwnedMxcUri> {
|
||||
self.db.userid_avatarurl.qry(user_id).await.deserialized()
|
||||
self.db.userid_avatarurl.get(user_id).await.deserialized()
|
||||
}
|
||||
|
||||
/// Sets a new avatar_url or removes it if avatar_url is None.
|
||||
|
@ -229,7 +229,7 @@ impl Service {
|
|||
|
||||
/// Get the blurhash of a user.
|
||||
pub async fn blurhash(&self, user_id: &UserId) -> Result<String> {
|
||||
self.db.userid_blurhash.qry(user_id).await.deserialized()
|
||||
self.db.userid_blurhash.get(user_id).await.deserialized()
|
||||
}
|
||||
|
||||
/// Sets a new avatar_url or removes it if avatar_url is None.
|
||||
|
@ -284,7 +284,7 @@ impl Service {
|
|||
userdeviceid.extend_from_slice(device_id.as_bytes());
|
||||
|
||||
// Remove tokens
|
||||
if let Ok(old_token) = self.db.userdeviceid_token.qry(&userdeviceid).await {
|
||||
if let Ok(old_token) = self.db.userdeviceid_token.get(&userdeviceid).await {
|
||||
self.db.userdeviceid_token.remove(&userdeviceid);
|
||||
self.db.token_userdeviceid.remove(&old_token);
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ impl Service {
|
|||
pub async fn last_one_time_keys_update(&self, user_id: &UserId) -> u64 {
|
||||
self.db
|
||||
.userid_lastonetimekeyupdate
|
||||
.qry(user_id)
|
||||
.get(user_id)
|
||||
.await
|
||||
.deserialized()
|
||||
.unwrap_or(0)
|
||||
|
@ -664,7 +664,7 @@ impl Service {
|
|||
let key = self
|
||||
.db
|
||||
.keyid_key
|
||||
.qry(key_id)
|
||||
.get(key_id)
|
||||
.await
|
||||
.deserialized::<serde_json::Value>()?;
|
||||
|
||||
|
@ -679,7 +679,7 @@ impl Service {
|
|||
where
|
||||
F: Fn(&UserId) -> bool + Send + Sync,
|
||||
{
|
||||
let key_id = self.db.userid_masterkeyid.qry(user_id).await?;
|
||||
let key_id = self.db.userid_masterkeyid.get(user_id).await?;
|
||||
|
||||
self.get_key(&key_id, sender_user, user_id, allowed_signatures)
|
||||
.await
|
||||
|
@ -691,16 +691,16 @@ impl Service {
|
|||
where
|
||||
F: Fn(&UserId) -> bool + Send + Sync,
|
||||
{
|
||||
let key_id = self.db.userid_selfsigningkeyid.qry(user_id).await?;
|
||||
let key_id = self.db.userid_selfsigningkeyid.get(user_id).await?;
|
||||
|
||||
self.get_key(&key_id, sender_user, user_id, allowed_signatures)
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn get_user_signing_key(&self, user_id: &UserId) -> Result<Raw<CrossSigningKey>> {
|
||||
let key_id = self.db.userid_usersigningkeyid.qry(user_id).await?;
|
||||
let key_id = self.db.userid_usersigningkeyid.get(user_id).await?;
|
||||
|
||||
self.db.keyid_key.qry(&*key_id).await.deserialized()
|
||||
self.db.keyid_key.get(&*key_id).await.deserialized()
|
||||
}
|
||||
|
||||
pub async fn add_to_device_event(
|
||||
|
@ -797,7 +797,7 @@ impl Service {
|
|||
pub async fn get_devicelist_version(&self, user_id: &UserId) -> Result<u64> {
|
||||
self.db
|
||||
.userid_devicelistversion
|
||||
.qry(user_id)
|
||||
.get(user_id)
|
||||
.await
|
||||
.deserialized()
|
||||
}
|
||||
|
@ -853,7 +853,7 @@ impl Service {
|
|||
|
||||
/// Find out which user an OpenID access token belongs to.
|
||||
pub async fn find_from_openid_token(&self, token: &str) -> Result<OwnedUserId> {
|
||||
let Ok(value) = self.db.openidtoken_expiresatuserid.qry(token).await else {
|
||||
let Ok(value) = self.db.openidtoken_expiresatuserid.get(token).await else {
|
||||
return Err!(Request(Unauthorized("OpenID token is unrecognised")));
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue