OrderCodeStrategy
OrderCodeStrategy
The OrderCodeStrategy determines how Order codes are generated. A custom strategy can be defined which e.g. integrates with an existing system to generate a code:
info
This is configured via the orderOptions.orderCodeStrategy property of
your VendureConfig.
Example
class MyOrderCodeStrategy implements OrderCodeStrategy {
  // Some imaginary service which calls out to an existing external
  // order management system.
  private mgmtService: ExternalOrderManagementService;
  init(injector: Injector) {
    this.mgmtService = injector.get(ExternalOrderManagementService);
  }
  async generate(ctx: RequestContext) {
    const result = await this.mgmtService.getAvailableOrderParams();
    return result.code;
  }
}
Signature
interface OrderCodeStrategy extends InjectableStrategy {
    generate(ctx: RequestContext): string | Promise<string>;
}
- Extends: InjectableStrategy
DefaultOrderCodeStrategy
The default OrderCodeStrategy generates a random string consisting of 16 uppercase letters and numbers.
Signature
class DefaultOrderCodeStrategy implements OrderCodeStrategy {
    generate(ctx: RequestContext) => string;
}
- Implements: OrderCodeStrategy
generate
method
(ctx: RequestContext) => string