Skip to content

Commit 61dfe02

Browse files
committed
models/user: Inline new() fn
1 parent d88935b commit 61dfe02

File tree

7 files changed

+40
-41
lines changed

7 files changed

+40
-41
lines changed

src/controllers/session.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ async fn save_user_to_database(
140140
emails: &Emails,
141141
conn: &mut AsyncPgConnection,
142142
) -> AppResult<User> {
143-
let new_user = NewUser::new(
144-
user.id,
145-
&user.login,
146-
user.name.as_deref(),
147-
user.avatar_url.as_deref(),
148-
access_token,
149-
);
143+
let new_user = NewUser::builder()
144+
.gh_id(user.id)
145+
.gh_login(&user.login)
146+
.maybe_name(user.name.as_deref())
147+
.maybe_gh_avatar(user.avatar_url.as_deref())
148+
.gh_access_token(access_token)
149+
.build();
150150

151151
match new_user
152152
.create_or_update(user.email.as_deref(), emails, conn)

src/models/user.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -118,22 +118,6 @@ pub struct NewUser<'a> {
118118
}
119119

120120
impl<'a> NewUser<'a> {
121-
pub fn new(
122-
gh_id: i32,
123-
gh_login: &'a str,
124-
name: Option<&'a str>,
125-
gh_avatar: Option<&'a str>,
126-
gh_access_token: &'a str,
127-
) -> Self {
128-
NewUser::builder()
129-
.gh_id(gh_id)
130-
.gh_login(gh_login)
131-
.maybe_name(name)
132-
.maybe_gh_avatar(gh_avatar)
133-
.gh_access_token(gh_access_token)
134-
.build()
135-
}
136-
137121
/// Inserts the user into the database, or updates an existing one.
138122
pub async fn create_or_update(
139123
&self,

src/tests/routes/users/read.rs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,19 @@ async fn show_latest_user_case_insensitively() {
3535
// crates.io/user/{username} pages, the best we can do is show the last crates.io account
3636
// created with that username.
3737

38-
let user1 = NewUser::new(
39-
1,
40-
"foobar",
41-
Some("I was first then deleted my github account"),
42-
None,
43-
"bar",
44-
);
38+
let user1 = NewUser::builder()
39+
.gh_id(1)
40+
.gh_login("foobar")
41+
.name("I was first then deleted my github account")
42+
.gh_access_token("bar")
43+
.build();
4544

46-
let user2 = NewUser::new(
47-
2,
48-
"FOOBAR",
49-
Some("I was second, I took the foobar username on github"),
50-
None,
51-
"bar",
52-
);
45+
let user2 = NewUser::builder()
46+
.gh_id(2)
47+
.gh_login("FOOBAR")
48+
.name("I was second, I took the foobar username on github")
49+
.gh_access_token("bar")
50+
.build();
5351

5452
assert_ok!(
5553
diesel::insert_into(users::table)

src/tests/user.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ async fn updating_existing_user_doesnt_change_api_token() -> anyhow::Result<()>
2626

2727
// Reuse gh_id but use new gh_login and gh_access_token
2828
assert_ok!(
29-
NewUser::new(gh_id, "bar", None, None, "bar_token")
29+
NewUser::builder()
30+
.gh_id(gh_id)
31+
.gh_login("bar")
32+
.gh_access_token("bar_token")
33+
.build()
3034
.create_or_update(None, &app.as_inner().emails, &mut conn)
3135
.await
3236
);

src/typosquat/test_util.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ pub mod faker {
4040
}
4141

4242
pub async fn user(conn: &mut AsyncPgConnection, login: &str) -> QueryResult<User> {
43-
let user = NewUser::new(next_gh_id(), login, None, None, "token");
43+
let user = NewUser::builder()
44+
.gh_id(next_gh_id())
45+
.gh_login(login)
46+
.gh_access_token("token")
47+
.build();
4448

4549
diesel::insert_into(users::table)
4650
.values(user)

src/worker/jobs/downloads/update_metadata.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,12 @@ mod tests {
111111
use diesel_async::AsyncConnection;
112112

113113
async fn user(conn: &mut AsyncPgConnection) -> User {
114-
let user = NewUser::new(2, "login", None, None, "access_token");
114+
let user = NewUser::builder()
115+
.gh_id(2)
116+
.gh_login("login")
117+
.gh_access_token("access_token")
118+
.build();
119+
115120
diesel::insert_into(users::table)
116121
.values(user)
117122
.get_result(conn)

src/worker/jobs/expiry_notification.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,11 @@ mod tests {
178178
let mut conn = test_db.async_connect().await;
179179

180180
// Set up a user and a token that is about to expire.
181-
let user = NewUser::new(0, "a", None, None, "token");
181+
let user = NewUser::builder()
182+
.gh_id(0)
183+
.gh_login("a")
184+
.gh_access_token("token")
185+
.build();
182186
let emails = Emails::new_in_memory();
183187
let user = user
184188
.create_or_update(Some("testuser@test.com"), &emails, &mut conn)

0 commit comments

Comments
 (0)