feat: add module prefixes to all routes and load all modules in swagger
Route structure: /v1/iam/auth/* (was /v1/auth/*) /v1/iam/users/* (was /v1/users/*) /v1/iam/roles/* (was /v1/roles/*) /v1/iam/permissions/* (was /v1/permissions/*) /v1/landing/cms/events/* (was /v1/cms/landing/events/*) /v1/landing/cms/testimonials/* (was /v1/cms/landing/testimonials/*) /v1/dimentorin/mentors/* (was /v1/mentors/*) /v1/dimentorin/sessions/* (was /v1/sessions/*) /v1/gacha/* (unchanged) /v1/hackathon/* (unchanged) /v1/qr/* (unchanged) Swagger: add gacha_credits endpoints which were missing from OpenAPI spec. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
c38b718eb4
commit
76201d8d3e
+33
-23
@@ -45,40 +45,50 @@ pub async fn gateway_service(postgres_clients: PostgresClients) -> Router {
|
||||
.await
|
||||
.expect("Failed to create MinIO service"),
|
||||
);
|
||||
let public_routes = Router::new()
|
||||
|
||||
let iam_routes = Router::new()
|
||||
.merge(
|
||||
auth_public_routes(db.clone(), Arc::clone(&state_arc))
|
||||
.layer(from_fn(rate_limiting_middleware)),
|
||||
)
|
||||
.merge(
|
||||
Router::new()
|
||||
.merge(users_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(roles_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(permissions_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.layer(from_fn(auth_middleware)),
|
||||
);
|
||||
|
||||
let cms_routes = Router::new()
|
||||
.merge(testimonials_public_routes(db.clone()))
|
||||
.merge(events_public_routes(db.clone()))
|
||||
.merge(mentors_public_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(sessions_public_routes(db.clone()));
|
||||
.merge(
|
||||
Router::new()
|
||||
.merge(events_protected_routes(db.clone()))
|
||||
.merge(testimonials_protected_routes(db.clone()))
|
||||
.layer(from_fn(auth_middleware)),
|
||||
);
|
||||
|
||||
let protected_routes = Router::new()
|
||||
.merge(users_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(roles_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(permissions_protected_routes(
|
||||
db.clone(),
|
||||
Arc::clone(&state_arc),
|
||||
))
|
||||
.merge(events_protected_routes(db.clone()))
|
||||
.merge(testimonials_protected_routes(db.clone()))
|
||||
.merge(mentors_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(sessions_protected_routes(
|
||||
db.clone(),
|
||||
Arc::clone(&state_arc),
|
||||
))
|
||||
.nest("/gacha", gacha_router(db.clone(), Arc::clone(&state_arc)))
|
||||
let dimentorin_routes = Router::new()
|
||||
.merge(mentors_public_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(sessions_public_routes(db.clone()))
|
||||
.merge(
|
||||
Router::new()
|
||||
.merge(mentors_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.merge(sessions_protected_routes(db.clone(), Arc::clone(&state_arc)))
|
||||
.layer(from_fn(auth_middleware)),
|
||||
);
|
||||
|
||||
let gacha_routes = gacha_router(db.clone(), Arc::clone(&state_arc))
|
||||
.layer(from_fn(auth_middleware));
|
||||
|
||||
Router::new()
|
||||
.route("/", get(Redirect::to("/docs")))
|
||||
.nest("/v1", public_routes.merge(protected_routes))
|
||||
.nest(
|
||||
"/v1/hackathon",
|
||||
hackathon_router(db.clone(), minio),
|
||||
)
|
||||
.nest("/v1/iam", iam_routes)
|
||||
.nest("/v1/landing/cms", cms_routes)
|
||||
.nest("/v1/dimentorin", dimentorin_routes)
|
||||
.nest("/v1/gacha", gacha_routes)
|
||||
.nest("/v1/hackathon", hackathon_router(db.clone(), minio))
|
||||
.nest("/v1/qr", qr_router(db.clone()))
|
||||
.merge(SwaggerUi::new("/docs").url("/openapi.json", docs_router()))
|
||||
.layer(cors_middleware())
|
||||
|
||||
Reference in New Issue
Block a user