/**
 * Helper pour la création d'événements ShopEvent lors de mutations métier
 *
 * Pattern recommandé :
 *
 * 1. Muter l'entité + incrémenter revision
 * 2. Créer l'événement ShopEvent de manière atomique
 * 3. Émettre l'événement via WebSocket
 *
 * Exemple :
 *
 * const order = await prisma.order.update({
 *   where: { id: orderId },
 *   data: {
 *     status: "PAID",
 *     revision: { increment: 1 }
 *   }
 * })
 *
 * const event = await shopEventService.createEvent(
 *   shopId,
 *   "order.status_changed",
 *   { orderId, status: order.status },
 *   {
 *     entity: "Order",
 *     entityId: orderId,
 *     revision: order.revision,
 *     actorUserId: userId
 *   }
 * )
 *
 * wsOrders.updateOrder(shopId, order)
 *
 * Notes importantes :
 * - La révision doit être incrémentée DANS LA MÊME UPDATE que la mutation
 * - L'événement est créé APRÈS la mutation (pour garantir la cohérence)
 * - Le WebSocket est émis APRÈS la création d'événement
 * - En cas d'erreur lors de la création d'événement, la mutation est restée
 *   (acceptable car event_log est complément d'audit, pas source de vérité)
 */

export const SHOP_EVENT_HELPER_DOC = "See comments above"

