]> Untitled Git - lemmy.git/commitdiff
Merge branch 'fix/add-check-to-create-site-endpoint' of https://github.com/eiknat...
authorDessalines <tyhou13@gmx.com>
Wed, 16 Sep 2020 13:13:19 +0000 (08:13 -0500)
committerDessalines <tyhou13@gmx.com>
Wed, 16 Sep 2020 13:13:19 +0000 (08:13 -0500)
1  2 
src/api/site.rs

diff --combined src/api/site.rs
index e0e2b6ff8565709f5ee2341945ddc0cbb0428bdf,1d17822e2f36f525e004a116c2ccf668d141a5ed..285c575690b6a29e2289d347df17bb6e63260f31
@@@ -2,16 -2,15 +2,16 @@@ use crate::
    api::{get_user_from_jwt, get_user_from_jwt_opt, is_admin, Perform},
    apub::fetcher::search_by_apub_id,
    version,
 -  websocket::{
 -    messages::{GetUsersOnline, SendAllMessage},
 -    UserOperation,
 -  },
    LemmyContext,
  };
  use actix_web::web::Data;
  use anyhow::Context;
 -use lemmy_api_structs::{blocking, site::*, user::Register};
 +use lemmy_structs::{
 +  blocking,
 +  site::*,
 +  user::Register,
 +  websocket::{GetUsersOnline, SendAllMessage, UserOperation},
 +};
  use lemmy_db::{
    category::*,
    comment_view::*,
@@@ -142,6 -141,12 +142,12 @@@ impl Perform for CreateSite 
    ) -> Result<SiteResponse, LemmyError> {
      let data: &CreateSite = &self;
  
+     match blocking(context.pool(), move |conn| { Site::read(conn, 1)}).await?
+     {
+       Ok(_site) => return Err(APIError::err("site_already_exists").into()),
+       Err(_e) => (),
+     };
      let user = get_user_from_jwt(&data.auth, context.pool()).await?;
  
      check_slurs(&data.name)?;
@@@ -490,6 -495,8 +496,8 @@@ impl Perform for TransferSite 
      let data: &TransferSite = &self;
      let mut user = get_user_from_jwt(&data.auth, context.pool()).await?;
  
+     is_admin(context.pool(), user.id).await?;
      // TODO add a User_::read_safe() for this.
      user.password_encrypted = "".to_string();
      user.private_key = None;