mirror of
https://github.com/zed-industries/zed.git
synced 2024-09-20 02:47:34 +03:00
WIP
This commit is contained in:
parent
51f9b915a0
commit
d1b7a249b4
@ -1,8 +1,8 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use super::db::{self, UserId};
|
||||
use crate::{AppState, Error};
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use crate::{AppState, Error, Result};
|
||||
use anyhow::{anyhow, Context};
|
||||
use axum::{
|
||||
http::{self, Request, StatusCode},
|
||||
middleware::Next,
|
||||
|
@ -1,4 +1,5 @@
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use crate::Result;
|
||||
use anyhow::{anyhow, Context};
|
||||
use async_trait::async_trait;
|
||||
use futures::StreamExt;
|
||||
use nanoid::nanoid;
|
||||
@ -395,7 +396,7 @@ impl Db for PostgresDb {
|
||||
if result.rows_affected() == 1 {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(anyhow!("contact already requested"))
|
||||
Err(anyhow!("contact already requested"))?
|
||||
}
|
||||
}
|
||||
|
||||
@ -418,7 +419,7 @@ impl Db for PostgresDb {
|
||||
if result.rows_affected() == 1 {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(anyhow!("no such contact"))
|
||||
Err(anyhow!("no such contact"))?
|
||||
}
|
||||
}
|
||||
|
||||
@ -496,7 +497,7 @@ impl Db for PostgresDb {
|
||||
if result.rows_affected() == 1 {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(anyhow!("no such contact request"))
|
||||
Err(anyhow!("no such contact request"))?
|
||||
}
|
||||
}
|
||||
|
||||
@ -1721,7 +1722,7 @@ pub mod tests {
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
Err(anyhow!("no such notification"))
|
||||
Err(anyhow!("no such notification"))?
|
||||
}
|
||||
|
||||
async fn respond_to_contact_request(
|
||||
@ -1734,7 +1735,7 @@ pub mod tests {
|
||||
for (ix, contact) in contacts.iter_mut().enumerate() {
|
||||
if contact.requester_id == requester_id && contact.responder_id == responder_id {
|
||||
if contact.accepted {
|
||||
return Err(anyhow!("contact already confirmed"));
|
||||
Err(anyhow!("contact already confirmed"))?;
|
||||
}
|
||||
if accept {
|
||||
contact.accepted = true;
|
||||
@ -1745,7 +1746,7 @@ pub mod tests {
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
Err(anyhow!("no such contact request"))
|
||||
Err(anyhow!("no such contact request"))?
|
||||
}
|
||||
|
||||
async fn create_access_token_hash(
|
||||
@ -1769,7 +1770,7 @@ pub mod tests {
|
||||
self.background.simulate_random_delay().await;
|
||||
let mut orgs = self.orgs.lock();
|
||||
if orgs.values().any(|org| org.slug == slug) {
|
||||
Err(anyhow!("org already exists"))
|
||||
Err(anyhow!("org already exists"))?
|
||||
} else {
|
||||
let org_id = OrgId(post_inc(&mut *self.next_org_id.lock()));
|
||||
orgs.insert(
|
||||
@ -1792,10 +1793,10 @@ pub mod tests {
|
||||
) -> Result<()> {
|
||||
self.background.simulate_random_delay().await;
|
||||
if !self.orgs.lock().contains_key(&org_id) {
|
||||
return Err(anyhow!("org does not exist"));
|
||||
Err(anyhow!("org does not exist"))?;
|
||||
}
|
||||
if !self.users.lock().contains_key(&user_id) {
|
||||
return Err(anyhow!("user does not exist"));
|
||||
Err(anyhow!("user does not exist"))?;
|
||||
}
|
||||
|
||||
self.org_memberships
|
||||
@ -1808,7 +1809,7 @@ pub mod tests {
|
||||
async fn create_org_channel(&self, org_id: OrgId, name: &str) -> Result<ChannelId> {
|
||||
self.background.simulate_random_delay().await;
|
||||
if !self.orgs.lock().contains_key(&org_id) {
|
||||
return Err(anyhow!("org does not exist"));
|
||||
Err(anyhow!("org does not exist"))?;
|
||||
}
|
||||
|
||||
let mut channels = self.channels.lock();
|
||||
@ -1867,10 +1868,10 @@ pub mod tests {
|
||||
) -> Result<()> {
|
||||
self.background.simulate_random_delay().await;
|
||||
if !self.channels.lock().contains_key(&channel_id) {
|
||||
return Err(anyhow!("channel does not exist"));
|
||||
Err(anyhow!("channel does not exist"))?;
|
||||
}
|
||||
if !self.users.lock().contains_key(&user_id) {
|
||||
return Err(anyhow!("user does not exist"));
|
||||
Err(anyhow!("user does not exist"))?;
|
||||
}
|
||||
|
||||
self.channel_memberships
|
||||
@ -1890,10 +1891,10 @@ pub mod tests {
|
||||
) -> Result<MessageId> {
|
||||
self.background.simulate_random_delay().await;
|
||||
if !self.channels.lock().contains_key(&channel_id) {
|
||||
return Err(anyhow!("channel does not exist"));
|
||||
Err(anyhow!("channel does not exist"))?;
|
||||
}
|
||||
if !self.users.lock().contains_key(&sender_id) {
|
||||
return Err(anyhow!("user does not exist"));
|
||||
Err(anyhow!("user does not exist"))?;
|
||||
}
|
||||
|
||||
let mut messages = self.channel_messages.lock();
|
||||
|
@ -76,11 +76,14 @@ pub enum Error {
|
||||
Internal(anyhow::Error),
|
||||
}
|
||||
|
||||
impl<E> From<E> for Error
|
||||
where
|
||||
E: Into<anyhow::Error>,
|
||||
{
|
||||
fn from(error: E) -> Self {
|
||||
impl From<anyhow::Error> for Error {
|
||||
fn from(error: anyhow::Error) -> Self {
|
||||
Self::Internal(error)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<sqlx::Error> for Error {
|
||||
fn from(error: sqlx::Error) -> Self {
|
||||
Self::Internal(error.into())
|
||||
}
|
||||
}
|
||||
@ -114,6 +117,8 @@ impl std::fmt::Display for Error {
|
||||
}
|
||||
}
|
||||
|
||||
impl std::error::Error for Error {}
|
||||
|
||||
pub fn init_tracing(config: &Config) -> Option<()> {
|
||||
use opentelemetry::KeyValue;
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
|
Loading…
Reference in New Issue
Block a user