import { OrderEventsEmailsEnum } from "@dashboard/graphql"; import { OrderEventFragment, OrderEventsEnum } from "@dashboard/orders/types"; import { IntlShape } from "react-intl"; const getUserOrApp = (event: OrderEventFragment) => { if (event.user) { return event.user.email; } if (event.app) { return event.app.name; } }; export const getEventMessage = ( event: OrderEventFragment, intl: IntlShape, ): string => { switch (event.type) { case OrderEventsEnum.CANCELED: return intl.formatMessage({ id: "zRrcOG", defaultMessage: "Order was cancelled", description: "order history message", }); case OrderEventsEnum.ADDED_PRODUCTS: return intl.formatMessage({ id: "U1eJIw", defaultMessage: "Products were added to an order", description: "order history message", }); case OrderEventsEnum.DRAFT_CREATED: return intl.formatMessage({ id: "hWO1SD", defaultMessage: "Draft order was created", description: "order history message", }); case OrderEventsEnum.REMOVED_PRODUCTS: return intl.formatMessage({ id: "fehqPs", defaultMessage: "Products were deleted from an order", description: "order history message", }); case OrderEventsEnum.EMAIL_SENT: switch (event.emailType) { case OrderEventsEmailsEnum.DIGITAL_LINKS: return intl.formatMessage({ id: "OzHN0Z", defaultMessage: "Links to the order's digital goods were sent", description: "order history message", }); case OrderEventsEmailsEnum.FULFILLMENT_CONFIRMATION: return intl.formatMessage({ id: "aq5ZiN", defaultMessage: "Fulfillment confirmation was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.CONFIRMED: return intl.formatMessage({ id: "cqZ5UH", defaultMessage: "Order confirmation was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.PAYMENT_CONFIRMATION: return intl.formatMessage({ id: "4Z6BtA", defaultMessage: "Payment confirmation was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.SHIPPING_CONFIRMATION: return intl.formatMessage({ id: "BCPrmK", defaultMessage: "Shipping details was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.TRACKING_UPDATED: return intl.formatMessage({ id: "j3yE7I", defaultMessage: "Shipping tracking number was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.ORDER_CANCEL: return intl.formatMessage({ id: "06bR4Z", defaultMessage: "Order cancel information was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.ORDER_CONFIRMATION: return intl.formatMessage({ id: "oQ27V4", defaultMessage: "Order placed information was sent to customer", description: "order history message", }); case OrderEventsEmailsEnum.ORDER_REFUND: return intl.formatMessage({ id: "9piUVz", defaultMessage: "Order refund information was sent to customer", description: "order history message", }); } case OrderEventsEnum.FULFILLMENT_CANCELED: return intl.formatMessage({ id: "GLy2UR", defaultMessage: "Fulfillment was cancelled", description: "order history message", }); case OrderEventsEnum.INVOICE_REQUESTED: return intl.formatMessage( { id: "chvryR", defaultMessage: "Invoice was requested by {requestedBy}", description: "order history message", }, { requestedBy: getUserOrApp(event), }, ); case OrderEventsEnum.INVOICE_GENERATED: return intl.formatMessage( { id: "pTpx0p", defaultMessage: "Invoice no. {invoiceNumber} was generated by {generatedBy}", description: "order history message", }, { generatedBy: getUserOrApp(event), invoiceNumber: event.invoiceNumber, }, ); case OrderEventsEnum.INVOICE_UPDATED: return intl.formatMessage( { id: "6RQKxH", defaultMessage: "Invoice no. {invoiceNumber} was updated", description: "order history message", }, { invoiceNumber: event.invoiceNumber, }, ); case OrderEventsEnum.INVOICE_SENT: return intl.formatMessage( { id: "qddy2Z", defaultMessage: "Invoice was sent to customer by {sentBy}", description: "order history message", }, { sentBy: getUserOrApp(event), }, ); case OrderEventsEnum.FULFILLMENT_AWAITS_APPROVAL: return intl.formatMessage({ id: "PcPMjC", defaultMessage: "Fulfillment awaits approval", description: "order history message", }); case OrderEventsEnum.FULFILLMENT_FULFILLED_ITEMS: return intl.formatMessage( { id: "nHmugP", defaultMessage: "Fulfilled {quantity} items", description: "order history message", }, { quantity: event.quantity, }, ); case OrderEventsEnum.FULFILLMENT_REFUNDED: return intl.formatMessage( { id: "D3WUc/", defaultMessage: "Order was refunded by {refundedBy}", description: "order history message", }, { refundedBy: getUserOrApp(event), }, ); case OrderEventsEnum.FULFILLMENT_RESTOCKED_ITEMS: return intl.formatMessage( { id: "wOeIR4", defaultMessage: "Restocked {quantity} items", description: "order history message", }, { quantity: event.quantity, }, ); case OrderEventsEnum.NOTE_ADDED: return intl.formatMessage({ id: "6WRFp2", defaultMessage: "Note was added to the order", description: "order history message", }); case OrderEventsEnum.ORDER_FULLY_PAID: return intl.formatMessage({ id: "P/EDn1", defaultMessage: "Order was fully paid", description: "order history message", }); case OrderEventsEnum.ORDER_MARKED_AS_PAID: return intl.formatMessage({ id: "fkplbE", defaultMessage: "Order was marked as paid", description: "order history message", }); case OrderEventsEnum.OTHER: return event.message; case OrderEventsEnum.OVERSOLD_ITEMS: return intl.formatMessage( { id: "Fl3ORD", defaultMessage: "Oversold {quantity} items", description: "order history message", }, { quantity: event.quantity, }, ); case OrderEventsEnum.PAYMENT_CAPTURED: return intl.formatMessage({ id: "2yV+s8", defaultMessage: "Payment was captured", description: "order history message", }); case OrderEventsEnum.PAYMENT_FAILED: return intl.formatMessage({ id: "TCR639", defaultMessage: "Payment failed", description: "order history message", }); case OrderEventsEnum.PAYMENT_REFUNDED: return intl.formatMessage({ id: "3fgyFh", defaultMessage: "Payment was refunded", description: "order history message", }); case OrderEventsEnum.PAYMENT_VOIDED: return intl.formatMessage({ id: "8RnPGF", defaultMessage: "Payment was voided", description: "order history message", }); case OrderEventsEnum.PLACED: return intl.formatMessage({ id: "GJAX0z", defaultMessage: "Order was placed", description: "order history message", }); case OrderEventsEnum.PLACED_FROM_DRAFT: return intl.formatMessage({ id: "OKGd/k", defaultMessage: "Order was created from draft", description: "order history message", }); case OrderEventsEnum.TRACKING_UPDATED: return intl.formatMessage({ id: "e92Uxp", defaultMessage: "Updated fulfillment group's tracking number", description: "order history message", }); case OrderEventsEnum.UPDATED_ADDRESS: return intl.formatMessage({ id: "RLTaAR", defaultMessage: "Order address was updated", description: "order history message", }); case OrderEventsEnum.PAYMENT_AUTHORIZED: return intl.formatMessage({ id: "GVM/fi", defaultMessage: "Payment was authorized", description: "order history message", }); case OrderEventsEnum.CONFIRMED: return intl.formatMessage({ id: "ubasgL", defaultMessage: "Order was confirmed", description: "order history message", }); case OrderEventsEnum.TRANSACTION_REFUND_REQUESTED: return intl.formatMessage({ id: "fqJXzO", defaultMessage: "Transaction refund requested", description: "order history message", }); case OrderEventsEnum.TRANSACTION_VOID_REQUESTED: return intl.formatMessage({ id: "ZKuzRy", defaultMessage: "Transaction void requested", description: "order history message", }); case OrderEventsEnum.TRANSACTION_CAPTURE_REQUESTED: return intl.formatMessage({ id: "DRwqnt", defaultMessage: "Transaction capture requested", description: "order history message", }); case OrderEventsEnum.TRANSACTION_CHARGE_REQUESTED: return intl.formatMessage({ id: "UxOcKE", defaultMessage: "Transaction charge requested", description: "order history message", }); case OrderEventsEnum.TRANSACTION_CANCEL_REQUESTED: return intl.formatMessage({ id: "f/Drvo", defaultMessage: "Transaction cancel requested", description: "order history message", }); case OrderEventsEnum.EXTERNAL_SERVICE_NOTIFICATION: return event.message; } };