From f405e9c874486ccfb7dc97a71f0c98ad7bb4e343 Mon Sep 17 00:00:00 2001 From: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com> Date: Mon, 20 Dec 2021 14:09:12 +0100 Subject: [PATCH] notifications client (#949) --- .../medusa-js/src/resources/admin/index.ts | 2 ++ .../src/resources/admin/notifications.ts | 36 +++++++++++++++++++ .../api/routes/admin/notifications/index.ts | 5 ++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 packages/medusa-js/src/resources/admin/notifications.ts diff --git a/packages/medusa-js/src/resources/admin/index.ts b/packages/medusa-js/src/resources/admin/index.ts index 1704c59607..b3f794d1e6 100644 --- a/packages/medusa-js/src/resources/admin/index.ts +++ b/packages/medusa-js/src/resources/admin/index.ts @@ -18,6 +18,7 @@ import AdminShippingProfilesResource from "./shipping-profiles" import AdminStoresResource from "./store" import AdminShippingOptionsResource from "./shipping-options" import AdminRegionsResource from "./regions" +import AdminNotificationsResource from "./notifications" class Admin extends BaseResource { public auth = new AdminAuthResource(this.client) @@ -39,6 +40,7 @@ class Admin extends BaseResource { public store = new AdminStoresResource(this.client) public shippingOptions = new AdminShippingOptionsResource(this.client) public regions = new AdminRegionsResource(this.client) + public notifications = new AdminNotificationsResource(this.client) } export default Admin diff --git a/packages/medusa-js/src/resources/admin/notifications.ts b/packages/medusa-js/src/resources/admin/notifications.ts new file mode 100644 index 0000000000..9fbae515d2 --- /dev/null +++ b/packages/medusa-js/src/resources/admin/notifications.ts @@ -0,0 +1,36 @@ +import { + AdminGetNotificationsParams, + AdminNotificationsListRes, + AdminNotificationsRes, + AdminPostNotificationsNotificationResendReq, +} from "@medusajs/medusa" +import { ResponsePromise } from "../.." +import BaseResource from "../base" + +class AdminNotificationsResource extends BaseResource { + list( + query: AdminGetNotificationsParams + ): ResponsePromise { + let path = `/admin/notifications` + + if (query) { + const queryString = Object.entries(query).map(([key, value]) => { + return `${key}=${value}` + }) + + path = `/admin/notifications?${queryString.join("&")}` + } + + return this.client.request("GET", path) + } + + resend( + id: string, + payload: AdminPostNotificationsNotificationResendReq + ): ResponsePromise { + const path = `/admin/notifications/${id}/resend` + return this.client.request("POST", path, payload) + } +} + +export default AdminNotificationsResource diff --git a/packages/medusa/src/api/routes/admin/notifications/index.ts b/packages/medusa/src/api/routes/admin/notifications/index.ts index 91ae008031..2bb00f252f 100644 --- a/packages/medusa/src/api/routes/admin/notifications/index.ts +++ b/packages/medusa/src/api/routes/admin/notifications/index.ts @@ -53,6 +53,9 @@ export type AdminNotificationsListRes = { notifications: Notification[] } -export type AdminNotificationsRes = PaginatedResponse & { +export type AdminNotificationsRes = { notification: Notification } + +export * from "./list-notifications" +export * from "./resend-notification"