From 91955a18ff50be9d3699bcabdb4603f3a434eb45 Mon Sep 17 00:00:00 2001
From: rafliesa <rflisaa@gmail.com>
Date: Thu, 27 Mar 2025 22:37:32 +0700
Subject: [PATCH] Implement add function in Subscriber repository.

---
 src/repository/subscribers.rs | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/repository/subscribers.rs b/src/repository/subscribers.rs
index dd242d4..201ba13 100644
--- a/src/repository/subscribers.rs
+++ b/src/repository/subscribers.rs
@@ -1,6 +1,8 @@
 use dashmap::DashMap;
 use lazy_static::lazy_static;
-use crate::model::subscriber::Subscriber;
+use crate::model::subscriber::{self, Subscriber};
+
+use super::product;
 
 lazy_static! {
     static ref SUBSCRIBERS: DashMap<String, DashMap<String, Subscriber>> = DashMap :: new();
@@ -9,4 +11,14 @@ lazy_static! {
 pub struct SubscriberRepository;
 
 impl SubscriberRepository {
+    pub fn add(product_type: &str, subscriber: Subscriber) -> Subscriber {
+        let subscriber_value = subscriber.clone();
+        if SUBSCRIBERS.get(product_type).is_none() {
+            SUBSCRIBERS.insert(String::from(product_type), DashMap::new());
+        };
+
+        SUBSCRIBERS.get(product_type).unwrap()
+            .insert(subscriber_value.url.clone(), subscriber_value);
+        return  subscriber;
+    }
 }
\ No newline at end of file
-- 
GitLab