Skip to content

Latest commit

 

History

History
139 lines (107 loc) · 3.55 KB

File metadata and controls

139 lines (107 loc) · 3.55 KB

npm version License: EUPL-1.2

@unchainedshop/core-orders

Order management module for the Unchained Engine. Handles the complete order lifecycle including positions, payments, deliveries, and discounts.

Installation

npm install @unchainedshop/core-orders

Usage

import { configureOrdersModule, OrderStatus } from '@unchainedshop/core-orders';

const ordersModule = await configureOrdersModule({ db });

// Create an order
const orderId = await ordersModule.create({
  userId: 'user-123',
  currency: 'CHF',
  countryCode: 'CH',
});

// Add position to order
await ordersModule.positions.create({
  orderId,
  productId: 'product-456',
  quantity: 2,
});

// Checkout order
await ordersModule.checkout(orderId, { paymentContext: {} });

API Overview

Module Configuration

Export Description
configureOrdersModule Configure and return the orders module

Queries

Method Description
findOrder Find order by ID or number
findOrders Find orders with filtering and pagination
count Count orders matching query
orderExists Check if order exists

Mutations

Method Description
create Create a new order
update Update order data
delete Delete an order
checkout Process order checkout
confirm Confirm an order
reject Reject an order
setPaymentProvider Set payment provider
setDeliveryProvider Set delivery provider

Submodules

Positions (orders.positions)

Method Description
findPositions Find order positions
create Add position to order
update Update position
delete Remove position

Payments (orders.payments)

Method Description
findPayment Find order payment
create Create payment for order
markPaid Mark payment as paid
charge Charge the payment

Deliveries (orders.deliveries)

Method Description
findDelivery Find order delivery
create Create delivery for order
markDelivered Mark as delivered
send Trigger delivery

Discounts (orders.discounts)

Method Description
findDiscounts Find order discounts
create Add discount to order
delete Remove discount

Constants

Export Description
OrderStatus Order status values (OPEN, PENDING, CONFIRMED, FULFILLED, REJECTED)

Settings

Export Description
ordersSettings Access order module settings

Types

Export Description
Order Order document type
OrderPosition Position document type
OrderPayment Payment document type
OrderDelivery Delivery document type
OrderDiscount Discount document type
OrdersModule Module interface type

Events

Event Description
ORDER_CREATE Order created
ORDER_UPDATE Order updated
ORDER_REMOVE Order deleted
ORDER_CHECKOUT Order checked out
ORDER_CONFIRMED Order confirmed
ORDER_REJECTED Order rejected
ORDER_FULFILLED Order fulfilled

License

EUPL-1.2