gitdataai/libs/api/auth/mod.rs
ZhenYi 14f6e1e500 feat(core): initialize project with access control and AI integration
- Add gitignore and prettier configuration files for project scaffolding
- Implement room access control service with project member verification
- Create user access key management with CRUD operations and activity logging
- Add accordion UI component for frontend expandable sections
- Implement room AI configuration with list, upsert, and delete operations
- Add AI event types for agent join/leave/status change tracking
- Create streaming AI processing services for mode and react patterns
- Build room AI service with model detection and idempotency handling
- Integrate chat service orchestration for AI message processing
- Add typing indicators and stream cancellation for AI interactions
- Implement mention parsing and context extraction for AI agents
2026-05-03 06:04:31 +08:00

61 lines
2.1 KiB
Rust

pub mod captcha;
pub mod email;
pub mod login;
pub mod logout;
pub mod me;
pub mod password;
pub mod register;
pub mod totp;
pub mod ws_token;
pub fn init_auth_routes(cfg: &mut actix_web::web::ServiceConfig) {
cfg.service(
actix_web::web::scope("/auth")
.route("/login", actix_web::web::post().to(login::api_auth_login))
.route(
"/register",
actix_web::web::post().to(register::api_auth_register),
)
.route(
"/logout",
actix_web::web::post().to(logout::api_auth_logout),
)
.route(
"/captcha",
actix_web::web::post().to(captcha::api_auth_captcha),
)
.route("/me", actix_web::web::post().to(me::api_auth_me))
.route(
"/password/change",
actix_web::web::post().to(password::api_user_change_password),
)
.route(
"/password/reset",
actix_web::web::post().to(password::api_user_request_password_reset),
)
.route(
"/password/confirm",
actix_web::web::post().to(password::api_user_confirm_password_reset),
)
.route("/2fa/enable", actix_web::web::post().to(totp::api_2fa_enable))
.route("/2fa/verify", actix_web::web::post().to(totp::api_2fa_verify))
.route("/2fa/disable", actix_web::web::post().to(totp::api_2fa_disable))
.route("/2fa/status", actix_web::web::post().to(totp::api_2fa_status))
.route("/email", actix_web::web::post().to(email::api_email_get))
.route(
"/email/change",
actix_web::web::post().to(email::api_email_change),
)
.route(
"/email/verify",
actix_web::web::post().to(email::api_email_verify),
),
);
// WebSocket token endpoint
cfg.route(
"/ws/token",
actix_web::web::post().to(ws_token::ws_token_generate),
);
}