Skip to content

Commit f3d3bf0

Browse files
authored
database: Remove obsolete users.gh_access_token column (#11789)
1 parent f55bb61 commit f3d3bf0

File tree

18 files changed

+16
-52
lines changed

18 files changed

+16
-52
lines changed

crates/crates_io_database/src/models/user.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use diesel::prelude::*;
55
use diesel::sql_types::Integer;
66
use diesel::upsert::excluded;
77
use diesel_async::{AsyncPgConnection, RunQueryDsl};
8-
use secrecy::SecretString;
98
use serde::Serialize;
109

1110
use crate::models::{Crate, CrateOwner, Email, Owner, OwnerKind};
@@ -20,9 +19,6 @@ pub struct User {
2019
pub gh_id: i32,
2120
pub gh_login: String,
2221
pub gh_avatar: Option<String>,
23-
#[diesel(deserialize_as = String)]
24-
#[serde(skip)]
25-
pub gh_access_token: SecretString,
2622
#[serde(skip)]
2723
pub gh_encrypted_token: Vec<u8>,
2824
pub account_lock_reason: Option<String>,
@@ -95,7 +91,6 @@ pub struct NewUser<'a> {
9591
pub gh_login: &'a str,
9692
pub name: Option<&'a str>,
9793
pub gh_avatar: Option<&'a str>,
98-
pub gh_access_token: &'a str,
9994
pub gh_encrypted_token: &'a [u8],
10095
}
10196

@@ -127,7 +122,6 @@ impl NewUser<'_> {
127122
users::gh_login.eq(excluded(users::gh_login)),
128123
users::name.eq(excluded(users::name)),
129124
users::gh_avatar.eq(excluded(users::gh_avatar)),
130-
users::gh_access_token.eq(excluded(users::gh_access_token)),
131125
users::gh_encrypted_token.eq(excluded(users::gh_encrypted_token)),
132126
))
133127
.returning(User::as_returning())

crates/crates_io_database/src/schema.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -842,12 +842,6 @@ diesel::table! {
842842
///
843843
/// (Automatically generated by Diesel.)
844844
id -> Int4,
845-
/// The `gh_access_token` column of the `users` table.
846-
///
847-
/// Its SQL type is `Varchar`.
848-
///
849-
/// (Automatically generated by Diesel.)
850-
gh_access_token -> Varchar,
851845
/// The `gh_login` column of the `users` table.
852846
///
853847
/// Its SQL type is `Varchar`.

crates/crates_io_database_dump/src/dump-db.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ id in (
228228
)"""
229229
[users.columns]
230230
id = "public"
231-
gh_access_token = "private"
232231
gh_login = "public"
233232
name = "public"
234233
gh_avatar = "public"
@@ -239,7 +238,6 @@ is_admin = "private"
239238
publish_notifications = "private"
240239
gh_encrypted_token = "private"
241240
[users.column_defaults]
242-
gh_access_token = "''"
243241
gh_encrypted_token = "''"
244242

245243
[version_downloads]

crates/crates_io_database_dump/src/snapshots/[email protected]

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ BEGIN;
2323

2424
-- Set defaults for non-nullable columns not included in the dump.
2525

26-
ALTER TABLE "users" ALTER COLUMN "gh_access_token" SET DEFAULT '';
2726
ALTER TABLE "users" ALTER COLUMN "gh_encrypted_token" SET DEFAULT '';
2827

2928
-- Truncate all tables.
@@ -67,7 +66,6 @@ BEGIN;
6766

6867
-- Drop the defaults again.
6968

70-
ALTER TABLE "users" ALTER COLUMN "gh_access_token" DROP DEFAULT;
7169
ALTER TABLE "users" ALTER COLUMN "gh_encrypted_token" DROP DEFAULT;
7270

7371
-- Reenable triggers on each table.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE users ADD COLUMN gh_access_token VARCHAR NOT NULL DEFAULT '';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE users DROP COLUMN gh_access_token;

src/controllers/session.rs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,7 @@ pub async fn authorize_session(
125125
let ghuser = app.github.current_user(token).await?;
126126

127127
let mut conn = app.db_write().await?;
128-
let user = save_user_to_database(
129-
&ghuser,
130-
token.secret(),
131-
&encrypted_token,
132-
&app.emails,
133-
&mut conn,
134-
)
135-
.await?;
128+
let user = save_user_to_database(&ghuser, &encrypted_token, &app.emails, &mut conn).await?;
136129

137130
// Log in by setting a cookie and the middleware authentication
138131
session.insert("user_id".to_string(), user.id.to_string());
@@ -142,7 +135,6 @@ pub async fn authorize_session(
142135

143136
pub async fn save_user_to_database(
144137
user: &GitHubUser,
145-
access_token: &str,
146138
encrypted_token: &[u8],
147139
emails: &Emails,
148140
conn: &mut AsyncPgConnection,
@@ -152,7 +144,6 @@ pub async fn save_user_to_database(
152144
.gh_login(&user.login)
153145
.maybe_name(user.name.as_deref())
154146
.maybe_gh_avatar(user.avatar_url.as_deref())
155-
.gh_access_token(access_token)
156147
.gh_encrypted_token(encrypted_token)
157148
.build();
158149

@@ -259,8 +250,7 @@ mod tests {
259250
avatar_url: None,
260251
};
261252

262-
let result =
263-
save_user_to_database(&gh_user, "arbitrary_token", &[], &emails, &mut conn).await;
253+
let result = save_user_to_database(&gh_user, &[], &emails, &mut conn).await;
264254

265255
assert!(
266256
result.is_ok(),

src/controllers/version/docs.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ mod tests {
107107
let other_user = NewUser::builder()
108108
.gh_id(111)
109109
.gh_login("other_user")
110-
.gh_access_token("token")
111110
.gh_encrypted_token(&[])
112111
.build()
113112
.insert(&mut conn)

src/index.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ mod tests {
156156
users::name.eq("user1"),
157157
users::gh_login.eq("user1"),
158158
users::gh_id.eq(42),
159-
users::gh_access_token.eq("some random token"),
160159
users::gh_encrypted_token.eq(&[]),
161160
))
162161
.returning(users::id)

src/rate_limiter.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,6 @@ mod tests {
706706
NewUser::builder()
707707
.gh_id(0)
708708
.gh_login(gh_login)
709-
.gh_access_token("some random token")
710709
.gh_encrypted_token(&[])
711710
.build()
712711
.insert(conn)

0 commit comments

Comments
 (0)