From 1bb7ff94a12d98599b1b8197d44bc4dc9ac98077 Mon Sep 17 00:00:00 2001 From: Christian Raphael Heryanto <christian.raphael@ui.ac.id> Date: Fri, 28 Mar 2025 11:40:10 +0800 Subject: [PATCH] Implement subscribe function in Notification controller. --- src/controller/mod.rs | 2 +- src/controller/notification.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/controller/mod.rs b/src/controller/mod.rs index fb4642d..5124c81 100644 --- a/src/controller/mod.rs +++ b/src/controller/mod.rs @@ -15,6 +15,6 @@ pub fn route_stage() -> AdHoc { product::delete ], ) - .mount("/notification", routes![]) + .mount("/notification", routes![notification::subscribe]) }); } diff --git a/src/controller/notification.rs b/src/controller/notification.rs index 17316a9..bc0ea02 100644 --- a/src/controller/notification.rs +++ b/src/controller/notification.rs @@ -4,3 +4,14 @@ use rocket::serde::json::Json; use crate::model::subscriber::Subscriber; use crate::service::notification::NotificationService; use bambangshop::Result; + +#[post("/subscribe/<product_type>", data = "<subscriber>")] +pub fn subscribe( + product_type: &str, + subscriber: Json<Subscriber>, +) -> Result<Created<Json<Subscriber>>> { + return match NotificationService::subscribe(product_type, subscriber.into_inner()) { + Ok(f) => Ok(Created::new("/").body(Json::from(f))), + Err(e) => Err(e), + }; +} -- GitLab