From ea0d6bdb918178f862925372b2d7da830c723ffb Mon Sep 17 00:00:00 2001 From: Kirill Date: Mon, 18 May 2026 11:47:31 +0500 Subject: [PATCH] feat: add notification API client functions --- .../notification/api/notifications-api.ts | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 client/src/entities/notification/api/notifications-api.ts diff --git a/client/src/entities/notification/api/notifications-api.ts b/client/src/entities/notification/api/notifications-api.ts new file mode 100644 index 0000000..7a3d35e --- /dev/null +++ b/client/src/entities/notification/api/notifications-api.ts @@ -0,0 +1,50 @@ +import { apiClient } from '@/shared/api/client' + +export interface UserNotificationSettings { + id: string + userId: string + globalEnabled: boolean + orderCreated: boolean + orderStatusChanged: boolean + orderMessageReceived: boolean + paymentStatusChanged: boolean + createdAt: string + updatedAt: string +} + +export interface AdminNotificationSettings { + id: string + emailEnabled: boolean + telegramEnabled: boolean + telegramChatId: string | null + newOrder: boolean + newOrderMessage: boolean + newReview: boolean + authCodeDuplicate: boolean + createdAt: string + updatedAt: string +} + +export async function fetchUserNotificationSettings(): Promise<{ settings: UserNotificationSettings }> { + const { data } = await apiClient.get<{ settings: UserNotificationSettings }>('me/notifications/settings') + return data +} + +export async function updateUserNotificationSettings( + settings: Partial, +): Promise<{ settings: UserNotificationSettings }> { + const { data } = await apiClient.put<{ settings: UserNotificationSettings }>('me/notifications/settings', settings) + return data +} + +export async function fetchAdminNotificationSettings(): Promise<{ settings: AdminNotificationSettings }> { + const { data } = await apiClient.get<{ settings: AdminNotificationSettings }>('admin/notifications/settings') + return data +} + +export async function updateAdminNotificationSettings( + settings: Partial, +): Promise<{ settings: AdminNotificationSettings }> { + const { data } = await apiClient.put<{ settings: AdminNotificationSettings }>('admin/notifications/settings', settings) + return data +}