diff --git a/src/controller/mod.rs b/src/controller/mod.rs index 861f657d127990136aaeda07c46f9cb78a73ac78..38cfed4c6ed776280131deda1dce1d2483b72908 100644 --- a/src/controller/mod.rs +++ b/src/controller/mod.rs @@ -1,10 +1,20 @@ pub mod product; +pub mod notification; use rocket::fairing::AdHoc; pub fn route_stage() -> AdHoc { return AdHoc::on_ignite("Initializing controller routes...", |rocket| async { rocket - .mount("/product", routes![product::create, product::list, product::read, product::delete]) + .mount( + "/product", + routes![ + product::create, + product::list, + product::read, + product::delete + ], + ) + .mount("/notification", routes![]) }); } diff --git a/src/controller/notification.rs b/src/controller/notification.rs new file mode 100644 index 0000000000000000000000000000000000000000..b411b3cefb403502578c302f8c9b751ca1e26300 --- /dev/null +++ b/src/controller/notification.rs @@ -0,0 +1,6 @@ +use rocket::response::status::Created; +use rocket::serde::json::Json; + +use crate::model::subscriber::Subscriber; +use crate::service::notification::NotificationService; +use bambangshop::Result; \ No newline at end of file diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index 6b9e92cf15447ee8172e90d603a5530a61d8db1f..9e78e8690eb0f9452dd9408c702b7f4dc1eae194 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -7,9 +7,9 @@ lazy_static!{ static ref SUBSCRIBERS: DashMap<String, DashMap<String, Subscriber>> = DashMap::new(); } -pub struct SubscirberRepository; +pub struct SubscriberRepository; -impl SubscirberRepository{ +impl SubscriberRepository{ pub fn add(product_type: &str, subscriber: Subscriber) -> Subscriber { let subscriber_value = subscriber.clone(); if SUBSCRIBERS.get(product_type).is_none() { diff --git a/src/service/mod.rs b/src/service/mod.rs index 68024e148492337f0e30a98004247f4755ad48b6..0d6deb1bc85cd988a0b7651f10aff3561f6e0b3c 100644 --- a/src/service/mod.rs +++ b/src/service/mod.rs @@ -1 +1,2 @@ pub mod product; +pub mod notification; diff --git a/src/service/notification.rs b/src/service/notification.rs new file mode 100644 index 0000000000000000000000000000000000000000..dce5cbe374f638cbf07bbced0039db071daa2ac4 --- /dev/null +++ b/src/service/notification.rs @@ -0,0 +1,11 @@ +use crate::model::notification::Notification; +use crate::model::product::Product; +use crate::model::subscriber::Subscriber; +use crate::repository::subscriber::SubscriberRepository; +use bambangshop::{compose_error_response, Result}; +use rocket::http::Status; +use std::thread; + +pub struct NotificationService; + +impl NotificationService {} \ No newline at end of file