import { supa } from './supabase' import { Pole, Profile, NotificationKind, memberPoles } from './types' /** * Crée une notification pour chaque membre du pôle destinataire * (sauf l'auteur de l'action). Utilisé lorsqu'une tâche ou un bug * est confié à un pôle. */ export async function notifyPole(opts: { projectId: string pole: Pole kind: NotificationKind title: string // ex : « Nouvelle tâche » body: string // titre de la tâche / du bug entityId: string actorId: string | null members: Profile[] }): Promise { const recipients = opts.members.filter( (m) => memberPoles(m).includes(opts.pole) && m.id !== opts.actorId ) if (recipients.length === 0) return const rows = recipients.map((m) => ({ user_id: m.id, project_id: opts.projectId, kind: opts.kind, title: opts.title, body: opts.body, entity_id: opts.entityId, pole: opts.pole })) await supa().from('notifications').insert(rows) }