import { defineEnum } from './define-enum';

// DB carrier enum (vendor outbound). NOTE: buyer return-shipping carriers
// (dhl/fedex/ups in TrackingEntryForm, israel-post/yamit in returns.ts) are a
// SEPARATE value space — do not fold them here; future: return-carrier.ts.
export const CARRIER = [
  'israel_post',
  'yedioth_couriers',
  'cheetah',
  'hfd',
  'baldar',
  'pickup',
  'other',
  'wolt_drive',
] as const;

export const carrier = defineEnum({
  name: 'carrier',
  values: CARRIER,
  labels: {
    israel_post: 'israel_post',
    yedioth_couriers: 'yedioth_couriers',
    cheetah: 'cheetah',
    hfd: 'hfd',
    baldar: 'baldar',
    pickup: 'pickup',
    other: 'other',
    wolt_drive: 'wolt_drive',
  },
});

export type Carrier = (typeof CARRIER)[number];

/** Manual carriers vendors pick in ShipModal (excludes pickup = no carrier, wolt_drive = auto-dispatched). */
export const MANUAL_CARRIER = [
  'israel_post',
  'yedioth_couriers',
  'cheetah',
  'hfd',
  'baldar',
  'other',
] as const;
