interface NotificationPayload { title: string; message: string; type?: "info" | "success" | "warning" | "error"; target_user?: number; source?: string; payload?: Record; } interface NotificationEntity { id: number; title: string; message: string; type: string; target_user?: number; source?: string; payload?: Record; read: boolean; createdAt: string; updatedAt: string; } /** * notification service */ import { factories } from "@strapi/strapi"; export default factories.createCoreService( "api::notification.notification", ({ strapi }: { strapi }) => ({ //Custom service for add notification. async createNotification({ title, message, type = "info", target_user, source, payload, }: NotificationPayload): Promise { const data = { title, message, type, target_user, source, payload }; const notification = await strapi.entityService.create( "api::notification.notification", { data } ); strapi.log.info(`🔔 Notification créée: ${title}`); return notification; }, }) );