fix(server_edit): use new style throws

This commit is contained in:
Paul Makles
2022-02-24 00:07:31 +00:00
parent 3df869c21d
commit 8d8bcff31f

View File

@@ -38,10 +38,8 @@ pub async fn req(db: &Db, user: User, target: Ref, data: Json<Data>) -> Result<J
.map_err(|error| Error::FailedValidation { error })?;
let mut server = target.as_server(db).await?;
let permissions = perms(&user).server(&server).calc(db).await?;
if !permissions.can_view_channel() {
return Err(Error::NotFound);
}
let mut permissions = perms(&user).server(&server);
permissions.calc(db).await?;
// Check permissions
if data.name.is_none()
@@ -55,19 +53,24 @@ pub async fn req(db: &Db, user: User, target: Ref, data: Json<Data>) -> Result<J
&& data.remove.is_none()
{
return Ok(Json(server));
} else if (data.name.is_some()
} else if data.name.is_some()
|| data.description.is_some()
|| data.icon.is_some()
|| data.banner.is_some()
|| data.system_messages.is_some()
|| data.nsfw.is_some()
|| data.analytics.is_some()
|| data.remove.is_some())
&& !permissions.can_manage_server()
|| data.remove.is_some()
{
return Error::from_permission(Permission::ManageServer);
} else if (data.categories.is_some()) && !permissions.can_manage_channel() {
return Error::from_permission(Permission::ManageChannel);
permissions
.throw_permission(db, Permission::ManageServer)
.await?;
}
if data.categories.is_some() {
permissions
.throw_permission(db, Permission::ManageChannel)
.await?;
}
let Data {