feat: add gacha and init cms

This commit is contained in:
Maulana Sodiqin
2025-05-20 10:45:01 +07:00
parent f4b0ed0a4a
commit e63658c082
35 changed files with 976 additions and 171 deletions
+1
View File
@@ -7,6 +7,7 @@ edition = "2024"
imphnen-iam = { version = "0.1.0", path = "../imphnen-iam" }
imphnen-libs = { version = "0.1.0", path = "../imphnen-libs" }
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" }
axum.workspace = true
+22 -1
View File
@@ -5,6 +5,7 @@ use utoipa::{
openapi::security::{Http, HttpAuthScheme, SecurityScheme},
Modify, OpenApi,
};
use imphnen_gacha::{gacha_claim, gacha_item, gacha_roll, GachaClaimItemDto, GachaClaimRequestDto, GachaItemDto, GachaItemRequestDto, GachaRollItemDto, GachaRollRequestDto};
#[derive(OpenApi)]
#[openapi(
@@ -33,7 +34,17 @@ use utoipa::{
permissions::permissions_controller::get_permission_by_id,
permissions::permissions_controller::post_create_permission,
permissions::permissions_controller::put_update_permission,
permissions::permissions_controller::delete_permission
permissions::permissions_controller::delete_permission,
gacha_claim::get_detail_gacha_claim,
gacha_claim::post_create_gacha_claim,
gacha_item::get_gacha_item_list,
gacha_item::get_gacha_item_by_id,
gacha_item::post_create_gacha_item,
gacha_item::put_update_gacha_item,
gacha_item::delete_gacha_item,
gacha_roll::get_detail_gacha_roll,
gacha_roll::post_create_gacha_roll,
gacha_roll::post_execute_gacha_roll,
),
components(
schemas(
@@ -56,6 +67,16 @@ use utoipa::{
UsersListItemDto,
UsersUpdateRequestDto,
UsersCreateRequestDto,
GachaClaimItemDto,
GachaClaimRequestDto,
GachaItemDto,
GachaItemRequestDto,
GachaRollItemDto,
GachaRollRequestDto,
ResponseListSuccessDto<Vec<GachaItemDto>>,
ResponseSuccessDto<GachaRollItemDto>,
ResponseSuccessDto<GachaItemDto>,
ResponseSuccessDto<GachaClaimItemDto>,
ResponseSuccessDto<AuthLoginResponsetDto>,
ResponseListSuccessDto<Vec<RolesListItemDto>>,
ResponseSuccessDto<RolesDetailItemDto>,
+7 -2
View File
@@ -2,6 +2,7 @@ use axum::{
Extension, Router, middleware::from_fn, response::Redirect, routing::get,
};
use imphnen_entities::{AppState, SurrealMemClient, SurrealWsClient};
use imphnen_gacha::gacha_router;
use imphnen_iam::{iam_protected_routes, iam_public_routes};
use imphnen_middleware::{auth_middleware, cors_middleware};
use utoipa_swagger_ui::SwaggerUi;
@@ -19,12 +20,16 @@ pub async fn gateway_service(
};
let public_routes = iam_public_routes();
let protected_routes = iam_protected_routes().layer(from_fn(auth_middleware));
let protected_routes = Router::new()
.merge(iam_protected_routes())
.merge(gacha_router())
.layer(from_fn(auth_middleware));
Router::new()
.route("/", get(Redirect::to("/docs")))
.nest("/v1", public_routes.merge(protected_routes))
.merge(SwaggerUi::new("/docs").url("/openapi.json", docs_router()))
.layer(cors_middleware())
.layer(Extension(state.clone()))
.layer(Extension(state))
}