diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index ec84ddec9f505f9c9b67bbbb6ceb6a03551bb693..666f7b0530c1bda256620c074a77d71134220b9c 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -21,4 +21,16 @@ impl SubscirberRepository{
             .insert(subscriber_value.url.clone(), subscriber_value);
         return subscriber;
     }
+
+    pub fn list_all(product_type: &str) -> Vec<Subscriber> {
+        if SUBSCRIBERS.get(product_type).is_none() {
+            SUBSCRIBERS.insert(String::from(product_type), DashMap::new());
+        }
+        return SUBSCRIBERS
+            .get(product_type)
+            .unwrap()
+            .iter()
+            .map(|f| f.value().clone())
+            .collect();
+    }
 }
\ No newline at end of file