···11pub mod login_error;
12pub mod middleware_errors;
13pub mod profile_import_error;
014pub mod url_error;
15pub mod view_event_error;
16pub mod web_error;
···24pub(crate) use login_error::LoginError;
25pub(crate) use middleware_errors::WebSessionError;
26pub(crate) use profile_import_error::ProfileImportError;
027pub(crate) use url_error::UrlError;
28pub(crate) use view_event_error::ViewEventError;
29pub(crate) use web_error::WebError;
···11pub mod login_error;
12pub mod middleware_errors;
13pub mod profile_import_error;
14+pub mod share_bluesky_error;
15pub mod url_error;
16pub mod view_event_error;
17pub mod web_error;
···25pub(crate) use login_error::LoginError;
26pub(crate) use middleware_errors::WebSessionError;
27pub(crate) use profile_import_error::ProfileImportError;
28+pub(crate) use share_bluesky_error::ShareBlueskyError;
29pub(crate) use url_error::UrlError;
30pub(crate) use view_event_error::ViewEventError;
31pub(crate) use web_error::WebError;
+17
src/http/errors/share_bluesky_error.rs
···00000000000000000
···1+use thiserror::Error;
2+3+/// Represents errors that can occur when sharing an RSVP to Bluesky.
4+#[derive(Debug, Error)]
5+pub(crate) enum ShareBlueskyError {
6+ /// Error when the AT Protocol server returns an error response.
7+ #[error("error-smokesignal-share-bluesky-1 Failed to create post: {message}")]
8+ PostCreationFailed { message: String },
9+10+ /// Error when the event is not found.
11+ #[error("error-smokesignal-share-bluesky-2 Event not found: {aturi}")]
12+ EventNotFound { aturi: String },
13+14+ /// Error when the user does not have a "going" RSVP to the event.
15+ #[error("error-smokesignal-share-bluesky-3 No going RSVP found for event")]
16+ NoGoingRsvp,
17+}
+8
src/http/errors/web_error.rs
···20use super::lfg_error::LfgError;
21use super::login_error::LoginError;
22use super::middleware_errors::MiddlewareAuthError;
023use super::url_error::UrlError;
2425/// Represents all possible errors that can occur in the HTTP layer.
···158 /// such as creating, viewing, or deactivating LFG records.
159 #[error(transparent)]
160 LfgError(#[from] LfgError),
0000000161}
162163/// Implementation of Axum's `IntoResponse` trait for WebError.
···20use super::lfg_error::LfgError;
21use super::login_error::LoginError;
22use super::middleware_errors::MiddlewareAuthError;
23+use super::share_bluesky_error::ShareBlueskyError;
24use super::url_error::UrlError;
2526/// Represents all possible errors that can occur in the HTTP layer.
···159 /// such as creating, viewing, or deactivating LFG records.
160 #[error(transparent)]
161 LfgError(#[from] LfgError),
162+163+ /// Share to Bluesky errors.
164+ ///
165+ /// This error occurs when there are issues with sharing RSVP to Bluesky,
166+ /// such as post creation failures or event not found.
167+ #[error(transparent)]
168+ ShareBlueskyError(#[from] ShareBlueskyError),
169}
170171/// Implementation of Axum's `IntoResponse` trait for WebError.
···1617/// Cookie name for session storage.
18/// Updated version to force re-authentication when cookie format changes.
19-pub(crate) const AUTH_COOKIE_NAME: &str = "session20260118";
2021#[derive(Clone)]
22pub(crate) enum Auth {
···1617/// Cookie name for session storage.
18/// Updated version to force re-authentication when cookie format changes.
19+pub(crate) const AUTH_COOKIE_NAME: &str = "session20260122";
2021#[derive(Clone)]
22pub(crate) enum Auth {
+1
src/http/mod.rs
···62pub mod handle_search;
63pub mod handle_set_language;
64pub mod handle_settings;
065pub mod handle_unaccept_rsvp;
66pub mod handle_unsubscribe;
67pub mod handle_view_event;
···62pub mod handle_search;
63pub mod handle_set_language;
64pub mod handle_settings;
65+pub mod handle_share_rsvp_bluesky;
66pub mod handle_unaccept_rsvp;
67pub mod handle_unsubscribe;
68pub mod handle_view_event;