import apiClient from './client' import type { NotificationConfig, NotificationConfigCreate, NotificationConfigUpdate, AppNotification, UnreadCount, } from '@/types/notification' export const notificationsApi = { async listConfigs(): Promise { const response = await apiClient.get('/notifications/configs') return response.data }, async createConfig(data: NotificationConfigCreate): Promise { const response = await apiClient.post('/notifications/configs', data) return response.data }, async updateConfig(id: string, data: NotificationConfigUpdate): Promise { const response = await apiClient.patch(`/notifications/configs/${id}`, data) return response.data }, async deleteConfig(id: string): Promise { await apiClient.delete(`/notifications/configs/${id}`) }, async testConfig(configId: string): Promise<{ success: boolean; message: string }> { const response = await apiClient.post<{ success: boolean; message: string }>( '/notifications/configs/test', { config_id: configId } ) return response.data }, async list(params?: { skip?: number; limit?: number }): Promise { const response = await apiClient.get('/notifications', { params }) return response.data }, async unreadCount(): Promise { const response = await apiClient.get('/notifications/unread-count') return response.data.count }, async markRead(id: string): Promise { await apiClient.patch(`/notifications/${id}/read`) }, async markAllRead(): Promise { await apiClient.post('/notifications/mark-all-read') }, } export default notificationsApi