From 742009303abd86b96e37cc9648529d4b2e7a6558 Mon Sep 17 00:00:00 2001
From: Christian Raphael Heryanto <christian.raphael@ui.ac.id>
Date: Fri, 28 Mar 2025 03:20:26 +0800
Subject: [PATCH] Create Notification service struct skeleton.

---
 src/controller/mod.rs          | 12 +++++++++++-
 src/controller/notification.rs |  6 ++++++
 src/service/mod.rs             |  1 +
 src/service/notification.rs    | 12 ++++++++++++
 4 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 src/controller/notification.rs
 create mode 100644 src/service/notification.rs

diff --git a/src/controller/mod.rs b/src/controller/mod.rs
index 861f657..fb4642d 100644
--- a/src/controller/mod.rs
+++ b/src/controller/mod.rs
@@ -1,3 +1,4 @@
+pub mod notification;
 pub mod product;
 
 use rocket::fairing::AdHoc;
@@ -5,6 +6,15 @@ 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 0000000..17316a9
--- /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;
diff --git a/src/service/mod.rs b/src/service/mod.rs
index 68024e1..bb6ce6c 100644
--- a/src/service/mod.rs
+++ b/src/service/mod.rs
@@ -1 +1,2 @@
+pub mod notification;
 pub mod product;
diff --git a/src/service/notification.rs b/src/service/notification.rs
new file mode 100644
index 0000000..11fffa8
--- /dev/null
+++ b/src/service/notification.rs
@@ -0,0 +1,12 @@
+use std::thread;
+
+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;
+
+pub struct NotificationService;
+
+impl NotificationService {}
-- 
GitLab