From 11777a81620090187276ef1200fbaefa1eb89db2 Mon Sep 17 00:00:00 2001
From: Andrew4Coding <andrewdevitoaryo@gmail.com>
Date: Fri, 28 Mar 2025 12:20:53 +0800
Subject: [PATCH] Create Notification service struct skeleton

---
 src/controller/mod.rs          |  1 +
 src/controller/notification.rs |  6 ++++++
 src/model/subscriber.rs        |  2 +-
 src/service/mod.rs             |  1 +
 src/service/notification.rs    | 17 +++++++++++++++++
 5 files changed, 26 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 b511e77..002cadc 100644
--- a/src/controller/mod.rs
+++ b/src/controller/mod.rs
@@ -1,3 +1,4 @@
+pub mod notification;
 use rocket::fairing::AdHoc;
 
 pub fn route_stage() -> AdHoc {
diff --git a/src/controller/notification.rs b/src/controller/notification.rs
new file mode 100644
index 0000000..063a320
--- /dev/null
+++ b/src/controller/notification.rs
@@ -0,0 +1,6 @@
+use rocket::serde::json::Json;
+
+use bambangshop_receiver::Result;
+use crate::model::notification::Notification;
+use crate::model::subscriber::SubscriberRequest;
+use crate::service::notification::NotificationService;
\ No newline at end of file
diff --git a/src/model/subscriber.rs b/src/model/subscriber.rs
index 9e675a0..b5ced9e 100644
--- a/src/model/subscriber.rs
+++ b/src/model/subscriber.rs
@@ -2,7 +2,7 @@ use rocket::serde::{Deserialize, Serialize};
 
 #[derive(Debug, Clone, Deserialize, Serialize)]
 #[serde(crate = "rocket::serde")]
-pub struct Subscriber {
+pub struct SubscriberRequest {
     pub url: String,
     pub name: String,
 }
\ No newline at end of file
diff --git a/src/service/mod.rs b/src/service/mod.rs
index e69de29..392d39d 100644
--- a/src/service/mod.rs
+++ b/src/service/mod.rs
@@ -0,0 +1 @@
+pub mod notification;
\ No newline at end of file
diff --git a/src/service/notification.rs b/src/service/notification.rs
new file mode 100644
index 0000000..5a35cdb
--- /dev/null
+++ b/src/service/notification.rs
@@ -0,0 +1,17 @@
+use std::thread;
+
+use rocket::http::Status;
+use rocket::log;
+use rocket::serde::json::to_string;
+use rocket::tokio;
+
+use bambangshop_receiver::{APP_CONFIG, REQWEST_CLIENT, Result, compose_error_response};
+
+use crate::model::notification::Notification;
+use crate::model::subscriber::SubscriberRequest;
+use crate::repository::notification::NotificationRepository;
+
+pub struct NotificationService;
+
+impl NotificationService {
+}
\ No newline at end of file
-- 
GitLab