fix: landing
This commit is contained in:
@@ -4,6 +4,7 @@ RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
build-essential \
|
||||
libssl-dev \
|
||||
libssl1.1 \
|
||||
pkg-config \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
+1
-15
@@ -1,16 +1,2 @@
|
||||
pub mod v1;
|
||||
|
||||
pub fn add(left: u64, right: u64) -> u64 {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
||||
pub use v1::*;
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
use super::{
|
||||
events_dto::{EventsCreateRequestDto, EventsDetailItemDto, EventsListItemDto, EventsUpdateRequestDto},
|
||||
events_dto::{
|
||||
EventsCreateRequestDto, EventsDetailItemDto, EventsListItemDto,
|
||||
EventsUpdateRequestDto,
|
||||
},
|
||||
events_service::EventsService,
|
||||
};
|
||||
use imphnen_libs::{AppState, MetaRequestDto, ResponseListSuccessDto, ResponseSuccessDto, MessageResponseDto};
|
||||
use axum::extract::{Path, Query};
|
||||
use axum::response::IntoResponse;
|
||||
use axum::{Extension, Json};
|
||||
use imphnen_libs::{
|
||||
AppState, MessageResponseDto, MetaRequestDto, ResponseListSuccessDto,
|
||||
ResponseSuccessDto,
|
||||
};
|
||||
|
||||
#[utoipa::path(
|
||||
get,
|
||||
security(
|
||||
("Bearer" = [])
|
||||
),
|
||||
path = "/v1/events",
|
||||
path = "/v1/cms/landing/events",
|
||||
params(
|
||||
("page" = Option<i64>, Query, description = "Page number"),
|
||||
("per_page" = Option<i64>, Query, description = "Items per page"),
|
||||
@@ -36,10 +39,7 @@ pub async fn get_event_list(
|
||||
|
||||
#[utoipa::path(
|
||||
get,
|
||||
security(
|
||||
("Bearer" = [])
|
||||
),
|
||||
path = "/v1/events/detail/{id}",
|
||||
path = "/v1/cms/landing/events/detail/{id}",
|
||||
params(
|
||||
("id" = String, Path, description = "Event ID")
|
||||
),
|
||||
@@ -60,7 +60,7 @@ pub async fn get_event_by_id(
|
||||
security(
|
||||
("Bearer" = [])
|
||||
),
|
||||
path = "/v1/events/create",
|
||||
path = "/v1/cms/landing/events/create",
|
||||
request_body = EventsCreateRequestDto,
|
||||
responses(
|
||||
(status = 201, description = "Create new event", body = MessageResponseDto)
|
||||
@@ -79,7 +79,7 @@ pub async fn post_create_event(
|
||||
security(
|
||||
("Bearer" = [])
|
||||
),
|
||||
path = "/v1/events/update/{id}",
|
||||
path = "/v1/cms/landing/events/update/{id}",
|
||||
params(
|
||||
("id" = String, Path, description = "Event ID")
|
||||
),
|
||||
@@ -102,7 +102,7 @@ pub async fn patch_update_event(
|
||||
security(
|
||||
("Bearer" = [])
|
||||
),
|
||||
path = "/v1/events/delete/{id}",
|
||||
path = "/v1/cms/landing/events/delete/{id}",
|
||||
params(
|
||||
("id" = String, Path, description = "Event ID")
|
||||
),
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
use super::{events_dto::EventsQueryDto, events_schema::EventsSchema};
|
||||
use anyhow::{Result, bail};
|
||||
use imphnen_libs::{AppState, MetaRequestDto, ResourceEnum, ResponseListSuccessDto};
|
||||
use imphnen_utils::{DetailQueryBuilder, ListQueryBuilder, get_id, get_iso_date};
|
||||
|
||||
use super::{events_dto::EventsQueryDto, events_schema::EventsSchema};
|
||||
|
||||
pub struct EventsRepository<'a> {
|
||||
state: &'a AppState,
|
||||
}
|
||||
@@ -13,7 +12,6 @@ impl<'a> EventsRepository<'a> {
|
||||
Self { state }
|
||||
}
|
||||
|
||||
// Get list of events with pagination and sorting by newest
|
||||
pub async fn query_event_list(
|
||||
&self,
|
||||
meta: MetaRequestDto,
|
||||
|
||||
@@ -1,17 +1,44 @@
|
||||
use axum::{
|
||||
Router,
|
||||
routing::{delete, get, patch, post},
|
||||
};
|
||||
|
||||
pub mod events_controller;
|
||||
pub mod events_dto;
|
||||
pub mod events_repository;
|
||||
pub mod events_schema;
|
||||
pub mod events_repository;
|
||||
pub mod events_service;
|
||||
pub mod events_controller;
|
||||
|
||||
use axum::{routing::{delete, get, patch, post}, Router};
|
||||
pub use events_controller::*;
|
||||
pub use events_dto::*;
|
||||
pub use events_repository::*;
|
||||
pub use events_schema::*;
|
||||
pub use events_service::*;
|
||||
|
||||
pub fn events_public_routes() -> Router {
|
||||
Router::new()
|
||||
.route("/events", get(events_controller::get_event_list))
|
||||
.route("/events/detail/{id}", get(events_controller::get_event_by_id))
|
||||
.route("/events/create", post(events_controller::post_create_event))
|
||||
.route("/events/update/{id}", patch(events_controller::patch_update_event))
|
||||
.route("/events/delete/{id}", delete(events_controller::delete_event))
|
||||
.route(
|
||||
"/cms/landing/events",
|
||||
get(events_controller::get_event_list),
|
||||
)
|
||||
.route(
|
||||
"/cms/landing/events/detail/{id}",
|
||||
get(events_controller::get_event_by_id),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn events_protected_routes() -> Router {
|
||||
Router::new()
|
||||
.route(
|
||||
"/cms/landing/events/create",
|
||||
post(events_controller::post_create_event),
|
||||
)
|
||||
.route(
|
||||
"/cms/landing/events/update/{id}",
|
||||
patch(events_controller::patch_update_event),
|
||||
)
|
||||
.route(
|
||||
"/cms/landing/events/delete/{id}",
|
||||
delete(events_controller::delete_event),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
pub mod events;
|
||||
|
||||
pub use events::*;
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
pub mod landing;
|
||||
|
||||
pub use landing::*;
|
||||
|
||||
@@ -6,7 +6,7 @@ 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}};
|
||||
use imphnen_cms::{events_controller, events_dto::{EventsDetailItemDto, EventsListItemDto}};
|
||||
|
||||
|
||||
#[derive(OpenApi)]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use axum::{
|
||||
Extension, Router, middleware::from_fn, response::Redirect, routing::get,
|
||||
};
|
||||
use imphnen_cms::v1::landing::events::events_public_routes;
|
||||
use imphnen_cms::{events_protected_routes, events_public_routes};
|
||||
use imphnen_entities::{AppState, SurrealMemClient, SurrealWsClient};
|
||||
use imphnen_gacha::gacha_router;
|
||||
use imphnen_iam::{iam_protected_routes, iam_public_routes};
|
||||
@@ -20,17 +20,21 @@ pub async fn gateway_service(
|
||||
surrealdb_mem,
|
||||
};
|
||||
|
||||
let public_routes = iam_public_routes();
|
||||
let events_public_routes = events_public_routes();
|
||||
let public_routes = Router::new()
|
||||
.merge(iam_public_routes())
|
||||
.merge(events_public_routes());
|
||||
|
||||
let protected_routes = Router::new()
|
||||
.merge(iam_protected_routes())
|
||||
.merge(events_protected_routes())
|
||||
.merge(gacha_router())
|
||||
.layer(from_fn(auth_middleware));
|
||||
|
||||
let routes = public_routes.merge(protected_routes);
|
||||
|
||||
Router::new()
|
||||
.route("/", get(Redirect::to("/docs")))
|
||||
.nest("/v1", public_routes.merge(protected_routes).merge(events_public_routes))
|
||||
.nest("/v1", routes)
|
||||
.merge(SwaggerUi::new("/docs").url("/openapi.json", docs_router()))
|
||||
.layer(cors_middleware())
|
||||
.layer(Extension(state))
|
||||
|
||||
Reference in New Issue
Block a user