mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-25 19:29:49 +00:00
Implement db2::Database::get_user_metrics_id
This commit is contained in:
parent
2e24d128db
commit
04d553d4d3
2 changed files with 58 additions and 39 deletions
|
@ -178,6 +178,25 @@ impl Database {
|
|||
.await
|
||||
}
|
||||
|
||||
pub async fn get_user_metrics_id(&self, id: UserId) -> Result<String> {
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
enum QueryAs {
|
||||
MetricsId,
|
||||
}
|
||||
|
||||
self.transact(|tx| async move {
|
||||
let metrics_id: Uuid = user::Entity::find_by_id(id)
|
||||
.select_only()
|
||||
.column(user::Column::MetricsId)
|
||||
.into_values::<_, QueryAs>()
|
||||
.one(&tx)
|
||||
.await?
|
||||
.ok_or_else(|| anyhow!("could not find user"))?;
|
||||
Ok(metrics_id.to_string())
|
||||
})
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn share_project(
|
||||
&self,
|
||||
room_id: RoomId,
|
||||
|
|
|
@ -361,46 +361,46 @@ test_both_dbs!(
|
|||
// );
|
||||
// });
|
||||
|
||||
// test_both_dbs!(test_metrics_id_postgres, test_metrics_id_sqlite, db, {
|
||||
// let NewUserResult {
|
||||
// user_id: user1,
|
||||
// metrics_id: metrics_id1,
|
||||
// ..
|
||||
// } = db
|
||||
// .create_user(
|
||||
// "person1@example.com",
|
||||
// false,
|
||||
// NewUserParams {
|
||||
// github_login: "person1".into(),
|
||||
// github_user_id: 101,
|
||||
// invite_count: 5,
|
||||
// },
|
||||
// )
|
||||
// .await
|
||||
// .unwrap();
|
||||
// let NewUserResult {
|
||||
// user_id: user2,
|
||||
// metrics_id: metrics_id2,
|
||||
// ..
|
||||
// } = db
|
||||
// .create_user(
|
||||
// "person2@example.com",
|
||||
// false,
|
||||
// NewUserParams {
|
||||
// github_login: "person2".into(),
|
||||
// github_user_id: 102,
|
||||
// invite_count: 5,
|
||||
// },
|
||||
// )
|
||||
// .await
|
||||
// .unwrap();
|
||||
test_both_dbs!(test_metrics_id_postgres, test_metrics_id_sqlite, db, {
|
||||
let NewUserResult {
|
||||
user_id: user1,
|
||||
metrics_id: metrics_id1,
|
||||
..
|
||||
} = db
|
||||
.create_user(
|
||||
"person1@example.com",
|
||||
false,
|
||||
NewUserParams {
|
||||
github_login: "person1".into(),
|
||||
github_user_id: 101,
|
||||
invite_count: 5,
|
||||
},
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
let NewUserResult {
|
||||
user_id: user2,
|
||||
metrics_id: metrics_id2,
|
||||
..
|
||||
} = db
|
||||
.create_user(
|
||||
"person2@example.com",
|
||||
false,
|
||||
NewUserParams {
|
||||
github_login: "person2".into(),
|
||||
github_user_id: 102,
|
||||
invite_count: 5,
|
||||
},
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
// assert_eq!(db.get_user_metrics_id(user1).await.unwrap(), metrics_id1);
|
||||
// assert_eq!(db.get_user_metrics_id(user2).await.unwrap(), metrics_id2);
|
||||
// assert_eq!(metrics_id1.len(), 36);
|
||||
// assert_eq!(metrics_id2.len(), 36);
|
||||
// assert_ne!(metrics_id1, metrics_id2);
|
||||
// });
|
||||
assert_eq!(db.get_user_metrics_id(user1).await.unwrap(), metrics_id1);
|
||||
assert_eq!(db.get_user_metrics_id(user2).await.unwrap(), metrics_id2);
|
||||
assert_eq!(metrics_id1.len(), 36);
|
||||
assert_eq!(metrics_id2.len(), 36);
|
||||
assert_ne!(metrics_id1, metrics_id2);
|
||||
});
|
||||
|
||||
// #[test]
|
||||
// fn test_fuzzy_like_string() {
|
||||
|
|
Loading…
Reference in a new issue