You've already forked pages
forked from didirus/AstralRinth
* WIP end-of-day push * Authorize endpoint, accept endpoints, DB stuff for oauth clients, their redirects, and client authorizations * OAuth Client create route * Get user clients * Client delete * Edit oauth client * Include redirects in edit client route * Database stuff for tokens * Reorg oauth stuff out of auth/flows and into its own module * Impl OAuth get access token endpoint * Accept oauth access tokens as auth and update through AuthQueue * User OAuth authorization management routes * Forgot to actually add the routes lol * Bit o cleanup * Happy path test for OAuth and minor fixes for things it found * Add dummy data oauth client (and detect/handle dummy data version changes) * More tests * Another test * More tests and reject endpoint * Test oauth client and authorization management routes * cargo sqlx prepare * dead code warning * Auto clippy fixes * Uri refactoring * minor name improvement * Don't compile-time check the test sqlx queries * Trying to fix db concurrency problem to get tests to pass * Try fix from test PR * Fixes for updated sqlx * Prevent restricted scopes from being requested or issued * Get OAuth client(s) * Remove joined oauth client info from authorization returns * Add default conversion to OAuthError::error so we can use ? * Rework routes * Consolidate scopes into SESSION_ACCESS * Cargo sqlx prepare * Parse to OAuthClientId automatically through serde and actix * Cargo clippy * Remove validation requiring 1 redirect URI on oauth client creation * Use serde(flatten) on OAuthClientCreationResult
47 lines
1.3 KiB
Rust
47 lines
1.3 KiB
Rust
use thiserror::Error;
|
|
|
|
pub mod categories;
|
|
pub mod collection_item;
|
|
pub mod flow_item;
|
|
pub mod ids;
|
|
pub mod image_item;
|
|
pub mod notification_item;
|
|
pub mod oauth_client_authorization_item;
|
|
pub mod oauth_client_item;
|
|
pub mod oauth_token_item;
|
|
pub mod organization_item;
|
|
pub mod pat_item;
|
|
pub mod project_item;
|
|
pub mod report_item;
|
|
pub mod session_item;
|
|
pub mod team_item;
|
|
pub mod thread_item;
|
|
pub mod user_item;
|
|
pub mod version_item;
|
|
|
|
pub use collection_item::Collection;
|
|
pub use ids::*;
|
|
pub use image_item::Image;
|
|
pub use oauth_client_item::OAuthClient;
|
|
pub use organization_item::Organization;
|
|
pub use project_item::Project;
|
|
pub use team_item::Team;
|
|
pub use team_item::TeamMember;
|
|
pub use thread_item::{Thread, ThreadMessage};
|
|
pub use user_item::User;
|
|
pub use version_item::Version;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum DatabaseError {
|
|
#[error("Error while interacting with the database: {0}")]
|
|
Database(#[from] sqlx::Error),
|
|
#[error("Error while trying to generate random ID")]
|
|
RandomId,
|
|
#[error("Error while interacting with the cache: {0}")]
|
|
CacheError(#[from] redis::RedisError),
|
|
#[error("Redis Pool Error: {0}")]
|
|
RedisPool(#[from] deadpool_redis::PoolError),
|
|
#[error("Error while serializing with the cache: {0}")]
|
|
SerdeCacheError(#[from] serde_json::Error),
|
|
}
|