Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
75
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 93 lines 3.0 kB view raw
1use crate::ErrorResponseObject; 2use thiserror::Error; 3 4#[derive(Debug, Error)] 5pub enum ConsumerError { 6 #[error(transparent)] 7 JetstreamConnectionError(#[from] jetstream::error::ConnectionError), 8 #[error(transparent)] 9 JetstreamConfigValidationError(#[from] jetstream::error::ConfigValidationError), 10 #[error("jetstream ended")] 11 JetstreamEnded, 12 #[error("delay queue output dropped")] 13 DelayQueueOutputDropped, 14} 15 16#[derive(Debug, Error)] 17pub enum ServerError { 18 #[error("server build error: {0}")] 19 AcmeBuildError(std::io::Error), 20 #[error("server exited: {0}")] 21 ServerExited(std::io::Error), 22} 23 24#[derive(Debug, Error)] 25pub enum IdentityError { 26 #[error("whatever: {0}")] 27 WhateverError(String), 28 #[error("bad DID: {0}")] 29 BadDid(&'static str), 30 #[error("identity types got mixed up: {0}")] 31 IdentityValTypeMixup(String), 32 #[error("foyer error: {0}")] 33 FoyerError(#[from] foyer::Error), 34 35 #[error("failed to resolve: {0}")] 36 ResolutionFailed(#[from] atrium_identity::Error), 37 // #[error("identity resolved but no handle found for user")] 38 // NoHandle, 39 #[error("found handle {0:?} but it appears invalid: {1}")] 40 InvalidHandle(String, &'static str), 41 42 #[error("could not convert atrium did doc to partial mini doc: {0}")] 43 BadDidDoc(String), 44 45 #[error("wrong key for clearing refresh queue: {0}")] 46 RefreshQueueKeyError(&'static str), 47} 48 49#[derive(Debug, Error)] 50pub enum HealthCheckError { 51 #[error("failed to send checkin: {0}")] 52 HealthCheckError(#[from] reqwest::Error), 53} 54 55#[derive(Debug, Error)] 56pub enum MainTaskError { 57 #[error(transparent)] 58 ConsumerTaskError(#[from] ConsumerError), 59 #[error(transparent)] 60 ServerTaskError(#[from] ServerError), 61 #[error(transparent)] 62 IdentityTaskError(#[from] IdentityError), 63 #[error(transparent)] 64 HealthCheckError(#[from] HealthCheckError), 65 #[error("firehose cache failed to close: {0}")] 66 FirehoseCacheCloseError(foyer::Error), 67} 68 69#[derive(Debug, Error)] 70pub enum RecordError { 71 #[error("identity error: {0}")] 72 IdentityError(#[from] IdentityError), 73 #[error("repo could not be validated as either a DID or an atproto handle")] 74 BadRepo, 75 #[error("could not get record: {0}")] 76 NotFound(&'static str), 77 #[error("could nto parse pds url: {0}")] 78 UrlParseError(#[from] url::ParseError), 79 #[error("reqwest send failed: {0}")] 80 SendError(reqwest::Error), 81 #[error("reqwest raised for status: {0}")] 82 StatusError(reqwest::Error), 83 #[error("reqwest failed to parse json: {0}")] 84 ParseJsonError(reqwest::Error), 85 #[error("upstream getRecord did not include a CID")] 86 MissingUpstreamCid, 87 #[error("upstream CID was not valid: {0}")] 88 BadUpstreamCid(String), 89 #[error("upstream atproto-looking bad request")] 90 UpstreamBadRequest(ErrorResponseObject), 91 #[error("upstream non-atproto bad request")] 92 UpstreamBadBadNotGoodRequest(reqwest::Error), 93}