class OrderService {
constructor(private readonly logger: AxiomLogger) {}
async createOrder(order: Order) {
try {
await this.logger.info(
"Tentative de création de commande",
"OrderService"
);
if (!order.items.length) {
await this.logger.error("Commande sans articles", "OrderService");
throw new DomainError("Une commande doit contenir au moins un article");
}
await this.logger.info("Commande créée avec succès", "OrderService");
} catch (error) {
await this.logger.error(
`Erreur lors de la création de la commande: ${error.message}`,
error.stack,
"OrderService"
);
throw error;
}
}
}