]> Untitled Git - lemmy.git/commitdiff
Some changes
authorDessalines <tyhou13@gmx.com>
Mon, 15 Mar 2021 18:02:27 +0000 (14:02 -0400)
committerDessalines <tyhou13@gmx.com>
Mon, 15 Mar 2021 18:02:27 +0000 (14:02 -0400)
- Changing claim name to local_user_id to facilitate logout.
- Changing AddAdmin back to using person_id

crates/api/src/lib.rs
crates/api/src/local_user.rs
crates/api_structs/src/person.rs
crates/db_queries/src/source/local_user.rs
crates/routes/src/feeds.rs
crates/utils/src/claims.rs

index 65d97c4a40d268fe179098b9d0f65cf5feebc05c..21afcee24901aeb62a3aec5f172f95a39a4b3211 100644 (file)
@@ -103,7 +103,7 @@ pub(crate) async fn get_local_user_view_from_jwt(
     Ok(claims) => claims.claims,
     Err(_e) => return Err(ApiError::err("not_logged_in").into()),
   };
-  let local_user_id = claims.id;
+  let local_user_id = claims.local_user_id;
   let local_user_view =
     blocking(pool, move |conn| LocalUserView::read(conn, local_user_id)).await??;
   // Check for a site ban
@@ -131,7 +131,7 @@ pub(crate) async fn get_local_user_settings_view_from_jwt(
     Ok(claims) => claims.claims,
     Err(_e) => return Err(ApiError::err("not_logged_in").into()),
   };
-  let local_user_id = claims.id;
+  let local_user_id = claims.local_user_id;
   let local_user_view = blocking(pool, move |conn| {
     LocalUserSettingsView::read(conn, local_user_id)
   })
index b3ec928251fc50f8c07badc393bd61cab3a2b0c6..50cc028bc91a41f70311e11699fcec6d3f5a57c5 100644 (file)
@@ -650,9 +650,9 @@ impl Perform for AddAdmin {
     is_admin(&local_user_view)?;
 
     let added = data.added;
-    let added_local_user_id = data.local_user_id;
+    let added_person_id = data.person_id;
     let added_admin = match blocking(context.pool(), move |conn| {
-      LocalUser::add_admin(conn, added_local_user_id, added)
+      LocalUser::add_admin(conn, added_person_id, added)
     })
     .await?
     {
index 53e6d9f8d82588b4ae0892e559b3aaaef2b25da7..5555bb4b5a8af0b00e7de86eeee83fb018c480a0 100644 (file)
@@ -107,7 +107,7 @@ pub struct MarkAllAsRead {
 
 #[derive(Deserialize)]
 pub struct AddAdmin {
-  pub local_user_id: i32,
+  pub person_id: i32,
   pub added: bool,
   pub auth: String,
 }
index 4ca557c59956c0368a0516713a36092654b1419a..a3d2b85b10d4337089baf8e06eb4d56741faf3ee 100644 (file)
@@ -69,7 +69,7 @@ pub trait LocalUser_ {
     local_user_id: i32,
     new_password: &str,
   ) -> Result<LocalUser, Error>;
-  fn add_admin(conn: &PgConnection, local_user_id: i32, added: bool) -> Result<LocalUser, Error>;
+  fn add_admin(conn: &PgConnection, person_id: i32, added: bool) -> Result<LocalUser, Error>;
 }
 
 impl LocalUser_ for LocalUser {
@@ -94,8 +94,8 @@ impl LocalUser_ for LocalUser {
       .get_result::<Self>(conn)
   }
 
-  fn add_admin(conn: &PgConnection, local_user_id: i32, added: bool) -> Result<Self, Error> {
-    diesel::update(local_user.find(local_user_id))
+  fn add_admin(conn: &PgConnection, for_person_id: i32, added: bool) -> Result<Self, Error> {
+    diesel::update(local_user.filter(person_id.eq(for_person_id)))
       .set(admin.eq(added))
       .get_result::<Self>(conn)
   }
index 568107984b54e5b5b9fbce29b8aa1aa81f7b90ef..30f5f96396cbe85145e951ea73c4d51ed2aafaa3 100644 (file)
@@ -5,10 +5,11 @@ use diesel::PgConnection;
 use lemmy_api_structs::blocking;
 use lemmy_db_queries::{
   source::{community::Community_, person::Person_},
+  Crud,
   ListingType,
   SortType,
 };
-use lemmy_db_schema::source::{community::Community, person::Person};
+use lemmy_db_schema::source::{community::Community, local_user::LocalUser, person::Person};
 use lemmy_db_views::{
   comment_view::{CommentQueryBuilder, CommentView},
   post_view::{PostQueryBuilder, PostView},
@@ -223,7 +224,8 @@ fn get_feed_front(
   jwt: String,
 ) -> Result<ChannelBuilder, LemmyError> {
   let site_view = SiteView::read(&conn)?;
-  let person_id = Claims::decode(&jwt)?.claims.id;
+  let local_user_id = Claims::decode(&jwt)?.claims.local_user_id;
+  let person_id = LocalUser::read(&conn, local_user_id)?.person_id;
 
   let posts = PostQueryBuilder::create(&conn)
     .listing_type(&ListingType::Subscribed)
@@ -249,7 +251,8 @@ fn get_feed_front(
 
 fn get_feed_inbox(conn: &PgConnection, jwt: String) -> Result<ChannelBuilder, LemmyError> {
   let site_view = SiteView::read(&conn)?;
-  let person_id = Claims::decode(&jwt)?.claims.id;
+  let local_user_id = Claims::decode(&jwt)?.claims.local_user_id;
+  let person_id = LocalUser::read(&conn, local_user_id)?.person_id;
 
   let sort = SortType::New;
 
index 3529f5f1928908fd68b11aeadc0f4d100df23b09..e84f34f910836a56e439cf257a2ec0f6205c540b 100644 (file)
@@ -6,7 +6,7 @@ type Jwt = String;
 
 #[derive(Debug, Serialize, Deserialize)]
 pub struct Claims {
-  pub id: i32,
+  pub local_user_id: i32,
   pub iss: String,
 }
 
@@ -25,7 +25,7 @@ impl Claims {
 
   pub fn jwt(local_user_id: i32, hostname: String) -> Result<Jwt, jsonwebtoken::errors::Error> {
     let my_claims = Claims {
-      id: local_user_id,
+      local_user_id,
       iss: hostname,
     };
     encode(