I wrote a subscriber to send messages when placing an order, but it is not triggered. I removed all the code from my email client and left only the logs, but it still doesn’t work.
event-bus-redis works, new events are created in my redis.
import {
Logger,
OrderService,
SubscriberArgs,
SubscriberConfig,
} from "@medusajs/medusa";
type OrderPlacedEvent = {
id: string;
no_notification: boolean;
};
export default async function orderPlacedHandler({data, eventName, container}: SubscriberArgs<OrderPlacedEvent>) {
const logger = container.resolve<Logger>("logger")
console.log("Order placed event received")
console.log(data)
console.log(eventName)
logger.log("Order placed event received")
const orderService: OrderService = container.resolve('orderService');
const order = await orderService.retrieve(data.id, {
relations: ["items", "items.variant", "items.variant.product"],
});
// Do something with the order
}
export const config: SubscriberConfig = {
event: OrderService.Events.PLACED,
context: {
subscriberId: "order-place-handler",
},
};