Update names of collab auth functions to clarify behavior (#32648)

Michael Sloan created

Release Notes:

- N/A

Change summary

crates/collab/src/api.rs                       |  6 +++---
crates/collab/src/db/queries/contributors.rs   |  2 +-
crates/collab/src/db/queries/users.rs          |  6 +++---
crates/collab/src/db/tests/db_tests.rs         | 19 +++++++++++++------
crates/collab/src/seed.rs                      |  2 +-
crates/collab/src/tests/channel_guest_tests.rs |  2 +-
crates/collab/src/user_backfiller.rs           |  2 +-
7 files changed, 23 insertions(+), 16 deletions(-)

Detailed changes

crates/collab/src/api.rs 🔗

@@ -97,7 +97,7 @@ impl std::fmt::Display for SystemIdHeader {
 
 pub fn routes(rpc_server: Arc<rpc::Server>) -> Router<(), Body> {
     Router::new()
-        .route("/user", get(get_authenticated_user))
+        .route("/user", get(update_or_create_authenticated_user))
         .route("/users/look_up", get(look_up_user))
         .route("/users/:id/access_tokens", post(create_access_token))
         .route("/rpc_server_snapshot", get(get_rpc_server_snapshot))
@@ -157,7 +157,7 @@ struct AuthenticatedUserResponse {
     feature_flags: Vec<String>,
 }
 
-async fn get_authenticated_user(
+async fn update_or_create_authenticated_user(
     Query(params): Query<AuthenticatedUserParams>,
     Extension(app): Extension<Arc<AppState>>,
 ) -> Result<Json<AuthenticatedUserResponse>> {
@@ -165,7 +165,7 @@ async fn get_authenticated_user(
 
     let user = app
         .db
-        .get_or_create_user_by_github_account(
+        .update_or_create_user_by_github_account(
             &params.github_login,
             params.github_user_id,
             params.github_email.as_deref(),

crates/collab/src/db/queries/contributors.rs 🔗

@@ -71,7 +71,7 @@ impl Database {
     ) -> Result<()> {
         self.weak_transaction(|tx| async move {
             let user = self
-                .get_or_create_user_by_github_account_tx(
+                .update_or_create_user_by_github_account_tx(
                     github_login,
                     github_user_id,
                     github_email,

crates/collab/src/db/queries/users.rs 🔗

@@ -111,7 +111,7 @@ impl Database {
         .await
     }
 
-    pub async fn get_or_create_user_by_github_account(
+    pub async fn update_or_create_user_by_github_account(
         &self,
         github_login: &str,
         github_user_id: i32,
@@ -121,7 +121,7 @@ impl Database {
         initial_channel_id: Option<ChannelId>,
     ) -> Result<User> {
         self.transaction(|tx| async move {
-            self.get_or_create_user_by_github_account_tx(
+            self.update_or_create_user_by_github_account_tx(
                 github_login,
                 github_user_id,
                 github_email,
@@ -135,7 +135,7 @@ impl Database {
         .await
     }
 
-    pub async fn get_or_create_user_by_github_account_tx(
+    pub async fn update_or_create_user_by_github_account_tx(
         &self,
         github_login: &str,
         github_user_id: i32,

crates/collab/src/db/tests/db_tests.rs 🔗

@@ -72,12 +72,12 @@ async fn test_get_users(db: &Arc<Database>) {
 }
 
 test_both_dbs!(
-    test_get_or_create_user_by_github_account,
-    test_get_or_create_user_by_github_account_postgres,
-    test_get_or_create_user_by_github_account_sqlite
+    test_update_or_create_user_by_github_account,
+    test_update_or_create_user_by_github_account_postgres,
+    test_update_or_create_user_by_github_account_sqlite
 );
 
-async fn test_get_or_create_user_by_github_account(db: &Arc<Database>) {
+async fn test_update_or_create_user_by_github_account(db: &Arc<Database>) {
     db.create_user(
         "user1@example.com",
         None,
@@ -104,7 +104,14 @@ async fn test_get_or_create_user_by_github_account(db: &Arc<Database>) {
         .user_id;
 
     let user = db
-        .get_or_create_user_by_github_account("the-new-login2", 102, None, None, Utc::now(), None)
+        .update_or_create_user_by_github_account(
+            "the-new-login2",
+            102,
+            None,
+            None,
+            Utc::now(),
+            None,
+        )
         .await
         .unwrap();
     assert_eq!(user.id, user_id2);
@@ -112,7 +119,7 @@ async fn test_get_or_create_user_by_github_account(db: &Arc<Database>) {
     assert_eq!(user.github_user_id, 102);
 
     let user = db
-        .get_or_create_user_by_github_account(
+        .update_or_create_user_by_github_account(
             "login3",
             103,
             Some("user3@example.com"),

crates/collab/src/seed.rs 🔗

@@ -127,7 +127,7 @@ pub async fn seed(config: &Config, db: &Database, force: bool) -> anyhow::Result
         log::info!("Seeding {:?} from GitHub", github_user.login);
 
         let user = db
-            .get_or_create_user_by_github_account(
+            .update_or_create_user_by_github_account(
                 &github_user.login,
                 github_user.id,
                 github_user.email.as_deref(),

crates/collab/src/tests/channel_guest_tests.rs 🔗

@@ -180,7 +180,7 @@ async fn test_channel_requires_zed_cla(cx_a: &mut TestAppContext, cx_b: &mut Tes
     server
         .app_state
         .db
-        .get_or_create_user_by_github_account("user_b", 100, None, None, Utc::now(), None)
+        .update_or_create_user_by_github_account("user_b", 100, None, None, Utc::now(), None)
         .await
         .unwrap();
 

crates/collab/src/user_backfiller.rs 🔗

@@ -82,7 +82,7 @@ impl UserBackfiller {
             {
                 Ok(github_user) => {
                     self.db
-                        .get_or_create_user_by_github_account(
+                        .update_or_create_user_by_github_account(
                             &user.github_login,
                             github_user.id,
                             user.email_address.as_deref(),