import { httpGetRequest, httpPutRequest, APIUrlGenerator } from "@/utils/baseHttpService"; import { API_ROUTES } from "@/constant/routes"; import { AdminNotificationsResponse, AdminNotificationsUnreadResponse, AdminNotificationsCountResponse, MarkNotificationReadResponse, AdminNotificationsFilters, } from "./_models"; export const getAdminNotifications = async ( filters?: AdminNotificationsFilters ): Promise => { const queryParams: Record = {}; if (filters?.offset !== undefined) queryParams.offset = filters.offset; if (filters?.limit !== undefined) queryParams.limit = filters.limit; const response = await httpGetRequest( APIUrlGenerator(API_ROUTES.GET_ADMIN_NOTIFICATIONS, queryParams) ); return response.data; }; export const getAdminNotificationsUnread = async ( limit?: number ): Promise => { const queryParams: Record = {}; if (limit !== undefined) queryParams.limit = limit; const response = await httpGetRequest( APIUrlGenerator(API_ROUTES.GET_ADMIN_NOTIFICATIONS_UNREAD, queryParams) ); return response.data; }; export const getAdminNotificationsCount = async (): Promise => { const response = await httpGetRequest( APIUrlGenerator(API_ROUTES.GET_ADMIN_NOTIFICATIONS_COUNT) ); return response.data; }; export const markNotificationRead = async ( notificationId: number ): Promise => { const response = await httpPutRequest( APIUrlGenerator(API_ROUTES.MARK_NOTIFICATION_READ(notificationId.toString())) ); return response.data; }; export const markAllNotificationsRead = async (): Promise => { const response = await httpPutRequest( APIUrlGenerator(API_ROUTES.MARK_ALL_NOTIFICATIONS_READ) ); return response.data; };