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