fc-server: add user management REST API endpoints

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I25545df3273967086f8473d3f92c30736a6a6964
This commit is contained in:
raf 2026-02-02 22:38:49 +03:00
commit b6287a2030
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
3 changed files with 552 additions and 51 deletions

View file

@ -12,6 +12,7 @@ pub mod logs;
pub mod metrics;
pub mod projects;
pub mod search;
pub mod users;
pub mod webhooks;
use std::{net::IpAddr, sync::Arc, time::Instant};
@ -126,11 +127,24 @@ pub fn router(state: AppState, config: &ServerConfig) -> Router {
// Static assets
.route("/static/style.css", get(serve_style_css))
// Dashboard routes with session extraction middleware
.merge(
dashboard::router(state.clone()).route_layer(middleware::from_fn_with_state(
state.clone(),
extract_session,
)),
.nest(
"/api/v1",
Router::new()
.merge(projects::router())
.merge(jobsets::router())
.merge(evaluations::router())
.merge(builds::router())
.merge(logs::router())
.merge(auth::router())
.merge(users::router())
.merge(search::router())
.merge(badges::router())
.merge(channels::router())
.merge(admin::router())
.route_layer(middleware::from_fn_with_state(
state.clone(),
require_api_key,
)),
)
.merge(health::router())
.merge(cache::router())