diff --git a/crates/collab/src/api.rs b/crates/collab/src/api.rs index d2432d828df899ff9551f5a7da9c37ea4ade8346..e70bbe8fe875d479a7a65618d0a247b7804599fa 100644 --- a/crates/collab/src/api.rs +++ b/crates/collab/src/api.rs @@ -1,4 +1,3 @@ -pub mod contributors; pub mod events; pub mod extensions; @@ -91,7 +90,6 @@ pub fn routes(rpc_server: Arc) -> Router<(), Body> { Router::new() .route("/users/:id/access_tokens", post(create_access_token)) .route("/rpc_server_snapshot", get(get_rpc_server_snapshot)) - .merge(contributors::router()) .layer( ServiceBuilder::new() .layer(Extension(rpc_server)) diff --git a/crates/collab/src/api/contributors.rs b/crates/collab/src/api/contributors.rs deleted file mode 100644 index 3d41b4d08a7e75203ccb497e84d836a322286c8e..0000000000000000000000000000000000000000 --- a/crates/collab/src/api/contributors.rs +++ /dev/null @@ -1,44 +0,0 @@ -use std::sync::Arc; - -use axum::{ - Extension, Json, Router, - extract::{self}, - routing::get, -}; -use serde::Deserialize; - -use crate::{AppState, Result}; - -pub fn router() -> Router { - Router::new().route("/contributors", get(get_contributors).post(add_contributor)) -} - -async fn get_contributors(Extension(app): Extension>) -> Result>> { - Ok(Json(app.db.get_contributors().await?)) -} - -#[derive(Debug, Deserialize)] -struct AddContributorBody { - github_user_id: i32, - github_login: String, - github_email: Option, - github_name: Option, - github_user_created_at: chrono::DateTime, -} - -async fn add_contributor( - Extension(app): Extension>, - extract::Json(params): extract::Json, -) -> Result<()> { - let initial_channel_id = app.config.auto_join_channel_id; - app.db - .add_contributor( - ¶ms.github_login, - params.github_user_id, - params.github_email.as_deref(), - params.github_name.as_deref(), - params.github_user_created_at, - initial_channel_id, - ) - .await -} diff --git a/crates/collab/src/db/queries/contributors.rs b/crates/collab/src/db/queries/contributors.rs index a9831367366ba59c398b009b08e5868e3073b38a..ed20b05352b4a7afa20c56391ba8a3eb7b12ec32 100644 --- a/crates/collab/src/db/queries/contributors.rs +++ b/crates/collab/src/db/queries/contributors.rs @@ -1,27 +1,8 @@ use super::*; impl Database { - /// Retrieves the GitHub logins of all users who have signed the CLA. - pub async fn get_contributors(&self) -> Result> { - self.transaction(|tx| async move { - #[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)] - enum QueryGithubLogin { - GithubLogin, - } - - Ok(contributor::Entity::find() - .inner_join(user::Entity) - .order_by_asc(contributor::Column::SignedAt) - .select_only() - .column(user::Column::GithubLogin) - .into_values::<_, QueryGithubLogin>() - .all(&*tx) - .await?) - }) - .await - } - /// Records that a given user has signed the CLA. + #[cfg(test)] pub async fn add_contributor( &self, github_login: &str, diff --git a/crates/collab/src/db/tables/user.rs b/crates/collab/src/db/tables/user.rs index 1a5ddac8b7a4319b6f9c67b5ea119ab4a10b7073..d11a9ea3aea9c74ef924bb9657a6ce031cf7f92e 100644 --- a/crates/collab/src/db/tables/user.rs +++ b/crates/collab/src/db/tables/user.rs @@ -29,8 +29,6 @@ pub enum Relation { HostedProjects, #[sea_orm(has_many = "super::channel_member::Entity")] ChannelMemberships, - #[sea_orm(has_one = "super::contributor::Entity")] - Contributor, } impl Related for Entity { diff --git a/crates/collab/src/db/tests.rs b/crates/collab/src/db/tests.rs index 10a32691ed36b4db9502c63bd510df6ffe1fe5b6..30825d55baad9a287b1dd7c8822931f3428eb350 100644 --- a/crates/collab/src/db/tests.rs +++ b/crates/collab/src/db/tests.rs @@ -1,6 +1,5 @@ mod buffer_tests; mod channel_tests; -mod contributor_tests; mod db_tests; mod extension_tests; mod migrations; diff --git a/crates/collab/src/db/tests/contributor_tests.rs b/crates/collab/src/db/tests/contributor_tests.rs deleted file mode 100644 index d1ff516d1a011ab002ebb98c6b4f9a072fd148e4..0000000000000000000000000000000000000000 --- a/crates/collab/src/db/tests/contributor_tests.rs +++ /dev/null @@ -1,45 +0,0 @@ -use chrono::Utc; - -use super::Database; -use crate::{db::NewUserParams, test_both_dbs}; -use std::sync::Arc; - -test_both_dbs!( - test_contributors, - test_contributors_postgres, - test_contributors_sqlite -); - -async fn test_contributors(db: &Arc) { - db.create_user( - "user1@example.com", - None, - false, - NewUserParams { - github_login: "user1".to_string(), - github_user_id: 1, - }, - ) - .await - .unwrap(); - - assert_eq!(db.get_contributors().await.unwrap(), Vec::::new()); - - let user1_created_at = Utc::now(); - db.add_contributor("user1", 1, None, None, user1_created_at, None) - .await - .unwrap(); - assert_eq!( - db.get_contributors().await.unwrap(), - vec!["user1".to_string()] - ); - - let user2_created_at = Utc::now(); - db.add_contributor("user2", 2, None, None, user2_created_at, None) - .await - .unwrap(); - assert_eq!( - db.get_contributors().await.unwrap(), - vec!["user1".to_string(), "user2".to_string()] - ); -}