From 049c2d9303a8b23d710501e0dfac0f426c563ee2 Mon Sep 17 00:00:00 2001 From: rafliesa <rflisaa@gmail.com> Date: Fri, 28 Mar 2025 09:26:19 +0700 Subject: [PATCH] refactor: subscribers -> subscriber --- src/repository/mod.rs | 2 +- src/repository/{subscribers.rs => subscriber.rs} | 0 src/service/notification.rs | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) rename src/repository/{subscribers.rs => subscriber.rs} (100%) diff --git a/src/repository/mod.rs b/src/repository/mod.rs index 9df928f..e4371e0 100644 --- a/src/repository/mod.rs +++ b/src/repository/mod.rs @@ -1,2 +1,2 @@ pub mod product; -pub mod subscribers; \ No newline at end of file +pub mod subscriber; \ No newline at end of file diff --git a/src/repository/subscribers.rs b/src/repository/subscriber.rs similarity index 100% rename from src/repository/subscribers.rs rename to src/repository/subscriber.rs diff --git a/src/service/notification.rs b/src/service/notification.rs index 53fa057..5af4f3f 100644 --- a/src/service/notification.rs +++ b/src/service/notification.rs @@ -3,3 +3,17 @@ use std::thread; use bambangshop::{Result, compose_error_response}; use rocket::http::Status; use crate::model::notification::Notification; +use crate::model::product::Product; +use crate::model::subscriber::{self, Subscriber}; +use crate::repository::subscriber::SubscriberRepository; + +pub struct NotificationService; + +impl NotificationService { + pub fn subscribe(product_type: &str, subscriber: Subscriber) -> Result<Subscriber> { + let product_type_upper: String = product_type.to_uppercase(); + let product_type_str: &str = product_type_upper.as_str(); + let subscriber_result: Subscriber = SubscriberRepository::add(product_type_str, subscriber); + return Ok(subscriber_result) + } +} -- GitLab