feat: cms event

This commit is contained in:
0x6d696b7566616e
2025-05-26 14:11:17 +07:00
parent 36c12110c2
commit 89cc631fb0
18 changed files with 711 additions and 2 deletions
+1
View File
@@ -10,6 +10,7 @@ imphnen-utils = { version = "0.1.0", path = "../imphnen-utils" }
imphnen-gacha = { version = "0.1.0", path = "../imphnen-gacha" }
imphnen-entities = { version = "0.1.0", path = "../imphnen-entities" }
imphnen-middleware = { version = "0.1.0", path = "../imphnen-middleware" }
imphnen-cms = { version = "0.1.0", path = "../imphnen-cms" }
axum.workspace = true
serde.workspace = true
serde_json.workspace = true
+13 -1
View File
@@ -6,6 +6,8 @@ use utoipa::{
Modify, OpenApi,
};
use imphnen_gacha::{gacha_claims, gacha_items, gacha_rolls, GachaClaimItemDto, GachaClaimRequestDto, GachaItemDto, GachaItemRequestDto, GachaRollItemDto, GachaRollRequestDto};
use imphnen_cms::v1::landing::events::{events_controller, events_dto::{EventsDetailItemDto, EventsListItemDto}};
#[derive(OpenApi)]
#[openapi(
@@ -45,6 +47,11 @@ use imphnen_gacha::{gacha_claims, gacha_items, gacha_rolls, GachaClaimItemDto, G
gacha_rolls::get_detail_gacha_roll,
gacha_rolls::post_create_gacha_roll,
gacha_rolls::post_execute_gacha_roll,
events_controller::get_event_list,
events_controller::get_event_by_id,
events_controller::post_create_event,
events_controller::patch_update_event,
events_controller::delete_event,
),
components(
schemas(
@@ -83,7 +90,12 @@ use imphnen_gacha::{gacha_claims, gacha_items, gacha_rolls, GachaClaimItemDto, G
ResponseListSuccessDto<Vec<UsersListItemDto>>,
ResponseSuccessDto<UsersDetailItemDto>,
ResponseListSuccessDto<Vec<PermissionsItemDto>>,
ResponseSuccessDto<PermissionsItemDto>
ResponseSuccessDto<PermissionsItemDto>,
ResponseListSuccessDto<Vec<EventsListItemDto>>,
ResponseSuccessDto<EventsDetailItemDto>,
MessageResponseDto,
MessageResponseDto,
MessageResponseDto,
)
),
info(
+3 -1
View File
@@ -1,6 +1,7 @@
use axum::{
Extension, Router, middleware::from_fn, response::Redirect, routing::get,
};
use imphnen_cms::v1::landing::events::events_public_routes;
use imphnen_entities::{AppState, SurrealMemClient, SurrealWsClient};
use imphnen_gacha::gacha_router;
use imphnen_iam::{iam_protected_routes, iam_public_routes};
@@ -20,6 +21,7 @@ pub async fn gateway_service(
};
let public_routes = iam_public_routes();
let events_public_routes = events_public_routes();
let protected_routes = Router::new()
.merge(iam_protected_routes())
@@ -28,7 +30,7 @@ pub async fn gateway_service(
Router::new()
.route("/", get(Redirect::to("/docs")))
.nest("/v1", public_routes.merge(protected_routes))
.nest("/v1", public_routes.merge(protected_routes).merge(events_public_routes))
.merge(SwaggerUi::new("/docs").url("/openapi.json", docs_router()))
.layer(cors_middleware())
.layer(Extension(state))