diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index 8f0c0a656d963265caa6550c92c9b2a73934ddd7..070911305b690ee257148ae4065bd6a5442fe1c9 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -20,4 +20,13 @@ impl SubscriberRepository {
             .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