This page is generated from the public TypeScript entrypoints in the workspace. Run pnpm docs:build after changing an exported contract.
@adocommercekit/core
ADMIN_LIST_DEFAULT_LIMIT
Value
25ADMIN_LIST_MAX_LIMIT
Value
100ADMIN_TOTAL_CEILING
Value
Row ceiling for the total probe. Beyond it an admin list reports total: null and the UI renders “1–25 of many” — an exact count past a thousand rows
is not information a human acts on, and an unbounded COUNT(*) over the 100k
rehearsal dataset blows the §3.3 budget.
1000AdminCursor
Interface
The decoded keyset position: the sort key of the last row of the previous page plus its id, which breaks ties deterministically.
AdminCursorPublic members
key:stringid:string
AdminKeysetWindow
Interface
AdminKeysetWindowPublic members
column:stringvalue:string | number | bigintidColumn:stringid:stringdirection:AdminSortDirection
AdminListPage
Interface
One page of an admin list query (ASPEC §3.3).
nextCursor is null on the last page. total is null whenever the
filtered count is not obtainable from a single indexed COUNT(*); the UI
renders “1–25 of many” in that case.
AdminListPage<T>Public members
items:T[]nextCursor:string | nulltotal:number | null
AdminSortDirection
Type
AdminSortDirectionboundedAdminTotal
Function
Turns a bounded primary-key probe into a total. Callers select at most
ADMIN_TOTAL_CEILING + 1 keys; overflowing the ceiling means “many”.
(probe: readonly unknown[]) => number | nullCartNotActiveException
Class
CartNotActiveExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CartPricesChangedException
Class
CartPricesChangedExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
clampAdminLimit
Function
Clamps a caller-supplied page size into [1, 100], defaulting to 25.
(limit?: number) => numberCOMMERCE_CAPABILITIES
Value
{ readonly deferredPayments: "payments.deferred.v1"; readonly cashOnDelivery: "payments.cod.v1"; readonly dynamicShippingQuotes: "shipping.dynamic_quotes.v1"; readonly fulfillmentProviders: "fulfillment.providers.v1"; }COMMERCE_ERROR_STATUSES
Value
Readonly<Partial<Record<CommerceErrorCode, number | "varies">>>CommerceCapability
Type
CommerceCapabilityCommerceCapabilityRegistry
Class
Runtime capability lookup for independently installed commerce packages.
CommerceCapabilityRegistryPublic members
#capabilities:ReadonlySet<string>supports:(capability: string) => booleanrequire:(capability: string) => voidlist:() => readonly string[]
CommerceConfigException
Class
CommerceConfigExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CommerceConfigInput
Interface
CommerceConfigInputPublic members
tablePrefix:string | undefinedchannels:{ default: string; }currencies:{ supported: CurrencyCode[]; default: CurrencyCode; exponents?: Partial<Record<CurrencyCode, 0 | 2 | 3>>; rounding?: Rounding; }customers:{ userModel: LazyImport<unknown> | null; userForeignKey?: string; }carts:{ tokenStrategy?: DriverFactory; abandonedAfterMinutes?: number; guardMaxLineQuantity?: number; }pricing:{ resolver?: DriverFactory; taxInclusivePricing?: boolean; }images:{ storage?: DriverFactory<ProductImageStorage>; maxBytes?: number; maxPerProduct?: number; } | undefinedinventory:{ reservationTtlMinutes?: number; backorderPolicy?: "deny" | "allow" | "per_item"; allocation?: DriverFactory; }payments:{ default: string; methods: Record<string, DriverFactory>; captureMode?: "automatic" | "manual"; deferred?: { inventoryPolicy?: "reserve" | "commit"; }; codFee?: { amount: bigint | number | string; currency: string; label?: string; }; }shipping:{ calculators: Record<string, DriverFactory>; eligibility?: DriverFactory; quoteProviders?: Record<string, DriverFactory>; selectionSecret?: string; }fulfillment:{ providers?: Record<string, DriverFactory>; } | undefinedtaxes:{ calculator?: DriverFactory; addressResolver?: DriverFactory; }orders:{ numberGenerator?: DriverFactory; autoConfirm?: boolean; }models:Partial<ModelRegistryOverrides> | undefinedevents:{ outbox?: { enabled: boolean; drainBatchSize?: number; }; } | undefinedjobs:{ dispatcher?: "queue" | "inline"; } | undefined
CommerceErrorCode
Type
CommerceErrorCodeCommerceErrorDetails
Type
Readonly<Record<string, unknown>>CommerceException
Class
CommerceExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CommerceForbiddenException
Class
Raised at the HTTP/Inertia boundary when the actor lacks the ability an admin endpoint declares. The ability name travels in the payload on purpose: it is frozen catalog vocabulary (ASPEC §3.2), not a secret, and the panel needs it to explain the denial.
CommerceForbiddenExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CommerceManager
Class
CommerceManagerPublic members
#factoryCache:WeakMap<DriverFactory, Promise<unknown>>#drivers:ResolvedCommerceDrivers | undefined#bootPromise:Promise<ResolvedCommerceDrivers> | undefinedcapabilities:CommerceCapabilityRegistryapp:ApplicationServiceconfig:ResolvedCommerceConfigisBooted:booleandrivers:ResolvedCommerceDrivers#resolve:(factory: DriverFactory) => Promise<unknown>boot:(options: { queueAvailable: boolean; }) => Promise<ResolvedCommerceDrivers>#resolveAll:(options: { queueAvailable: boolean; }) => Promise<ResolvedCommerceDrivers>shutdown:() => Promise<void>
CompensationError
Interface
CompensationErrorPublic members
step:stringerror:unknown
configure
Function
(command: Configure) => Promise<void>configureMoney
Function
(options: { exponents?: Readonly<Partial<Record<string, 0 | 2 | 3>>>; rounding?: Rounding; }) => voidCurrencyCode
Type
stringcurrencyExponent
Function
(currency: CurrencyCode) => 0 | 2 | 3CurrencyMismatchException
Class
CurrencyMismatchExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
decodeAdminCursor
Function
(cursor: string | undefined | null) => AdminCursor | nulldefineConfig
Function
Normalize configuration without resolving imports or driver factories.
(input: CommerceConfigInput) => ResolvedCommerceConfigdefineStateMachine
Function
<S extends string, T extends string>(definition: { name: string; states: readonly S[]; initial: S; transitions: Record<T, { from: S | S[]; to: S; }>; }) => StateMachineDefinition<S, T>DriverFactory
Type
DriverFactory<T>encodeAdminCursor
Function
(cursor: AdminCursor) => stringIdempotencyConflictException
Class
IdempotencyConflictExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
InsufficientStockException
Class
InsufficientStockExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
keysetWindow
Function
Builds the WHERE fragment that resumes a keyset scan after window.
(sort, id) > (value, id) is expanded to sort > value OR (sort = value AND id > id) so the composite index on (sort, id) is usable on every dialect —
row-value comparison is PostgreSQL-only.
(window: AdminKeysetWindow) => (builder: ChainableContract) => voidLineQuantityException
Class
LineQuantityExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
LucidStateMachinePersistence
Class
LucidStateMachinePersistence<S, T, Trx>Public members
#stateColumn:string#auditTable:string#subjectType:stringdatabase:StateMachineDatabase<Trx>subjectTable:stringbuffer:(name: string, payload: Readonly<Record<string, unknown>>, trx: Trx) => void | Promise<void>transaction:<R>(callback: (trx: Trx) => Promise<R>) => Promise<R>conditionalUpdate:(subjectId: string, from: S, to: S, trx: Trx) => Promise<boolean>insertAudit:(audit: StateTransitionAudit<S, T>, trx: Trx) => Promise<void>bufferEvent:(name: string, payload: Readonly<Record<string, unknown>>, trx: Trx) => void | Promise<void>
ModelRegistryOverrides
Interface
ModelRegistryOverridesPublic members
channel:LazyImport<unknown>product:LazyImport<unknown>productImage:LazyImport<unknown>productOption:LazyImport<unknown>productOptionValue:LazyImport<unknown>productVariant:LazyImport<unknown>category:LazyImport<unknown>priceList:LazyImport<unknown>price:LazyImport<unknown>customerGroup:LazyImport<unknown>customer:LazyImport<unknown>address:LazyImport<unknown>cart:LazyImport<unknown>cartLine:LazyImport<unknown>cartAdjustment:LazyImport<unknown>shippingMethod:LazyImport<unknown>taxZone:LazyImport<unknown>taxRate:LazyImport<unknown>taxCategory:LazyImport<unknown>order:LazyImport<unknown>orderLine:LazyImport<unknown>paymentIntent:LazyImport<unknown>payment:LazyImport<unknown>paymentInstruction:LazyImport<unknown>shipment:LazyImport<unknown>stockLocation:LazyImport<unknown>inventoryItem:LazyImport<unknown>inventoryLevel:LazyImport<unknown>reservation:LazyImport<unknown>orderAdjustment:LazyImport<unknown>shipmentLine:LazyImport<unknown>refund:LazyImport<unknown>webhookEvent:LazyImport<unknown>idempotencyKey:LazyImport<unknown>eventOutbox:LazyImport<unknown>
Money
Class
MoneyPublic members
amount:bigintcurrency:stringassertCurrency:(other: Money) => voidadd:(other: Money) => Moneysubtract:(other: Money) => Moneymultiply:(factor: number | bigint, rounding?: Rounding) => Moneypercentage:(basisPoints: number, rounding?: Rounding) => Moneynegate:() => Moneyallocate:(ratios: number[]) => Money[]split:(parts: number) => Money[]isZero:() => booleanisNegative:() => booleanequals:(other: Money) => booleancompare:(other: Money) => -1 | 0 | 1toDecimal:() => stringtoJSON:() => { amount: string; currency: CurrencyCode; }
moneyColumn
Function
Maps one Money property to a <prefix>_amount BIGINT and
<prefix>_currency CHAR(3) column pair.
(options?: { columnPrefix?: string; }) => PropertyDecoratorpaginateAdminRows
Function
Slices one extra row off the end of an over-fetched result set and turns it
into the next cursor. Callers request limit + 1 rows.
<T>(rows: T[], limit: number, cursorOf: (row: T) => AdminCursor) => { items: T[]; nextCursor: string | null; }PaymentDeclineCode
Type
PaymentDeclineCodePaymentDeclinedException
Class
PaymentDeclinedExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
PaymentProviderException
Class
PaymentProviderExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
PriceNotFoundException
Class
PriceNotFoundExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
ProductInUseException
Class
ProductInUseExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
renderCommerceException
Function
(error: CommerceException) => { error: { details?: Readonly<Record<string, unknown>> | undefined; code: CommerceErrorCode; message: string; }; }ResolvedCommerceConfig
Interface
ResolvedCommerceConfigPublic members
tablePrefix:stringchannels:{ default: string; }currencies:{ supported: CurrencyCode[]; default: CurrencyCode; exponents: Readonly<Partial<Record<CurrencyCode, 0 | 2 | 3>>>; rounding: Rounding; }customers:{ userModel: LazyImport<unknown> | null; userForeignKey: string; }carts:{ tokenStrategy: DriverFactory; abandonedAfterMinutes: number; guardMaxLineQuantity: number; }pricing:{ resolver: DriverFactory; taxInclusivePricing: boolean; }images:{ storage?: DriverFactory<ProductImageStorage>; maxBytes: number; maxPerProduct: number; }inventory:{ reservationTtlMinutes: number; backorderPolicy: "deny" | "allow" | "per_item"; allocation?: DriverFactory; }payments:{ default: string; methods: Readonly<Record<string, DriverFactory>>; captureMode: "automatic" | "manual"; deferred: { inventoryPolicy: "reserve" | "commit"; }; codFee?: { amount: bigint | number | string; currency: string; label: string; }; }shipping:{ calculators: Readonly<Record<string, DriverFactory>>; eligibility?: DriverFactory; quoteProviders: Readonly<Record<string, DriverFactory>>; selectionSecret?: string; }fulfillment:{ providers: Readonly<Record<string, DriverFactory>>; }taxes:{ calculator: DriverFactory; addressResolver?: DriverFactory; }orders:{ numberGenerator?: DriverFactory; autoConfirm: boolean; }models:Readonly<Partial<ModelRegistryOverrides>>events:{ outbox: { enabled: boolean; drainBatchSize: number; }; }jobs:{ dispatcher: "queue" | "inline"; automatic: boolean; }
Rounding
Type
RoundingShippingNotEligibleException
Class
ShippingNotEligibleExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
sqlDateTime
Function
(value: DateTime) => stringStateMachineRunner
Class
StateMachineRunner<S, T, Trx>Public members
#guards:Map<T, TransitionGuard<S, T, Trx>[]>#beforeHooks:Map<T, TransitionHook<S, T, Trx>[]>#afterHooks:Map<T, TransitionHook<S, T, Trx>[]>definition:StateMachineDefinition<S, T>persistence:StateMachinePersistence<S, T, Trx>can:(subject: Stateful<S>, transition: T) => booleanregisterGuard:(transition: T, guard: TransitionGuard<S, T, Trx>) => voidregisterHook:(transition: T, hook: "before" | "after", handler: TransitionHook<S, T, Trx>) => voidapply:(subject: Stateful<S>, transition: T, context?: TransitionContext, options?: { trx?: Trx; actor?: string | undefined; }) => Promise<void>
StateTransitionException
Class
StateTransitionExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
stubsRoot
Value
Path to the root directory where the stubs are stored. We use this path within commands and the configure hook
stringvalidateCommerceConfig
Function
(config: ResolvedCommerceConfig, options: { queueAvailable: boolean; }) => voidWebhookSignatureException
Class
WebhookSignatureExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
Workflow
Class
Workflow<C>Public members
#steps:WorkflowStep<C>[]name:stringtransactionRunner:WorkflowTransactionRunner<C> | undefinedlogger:WorkflowLoggersteps:readonly WorkflowStep<C>[]insertBefore:(step: string, newStep: WorkflowStep<C>) => Workflow<C>insertAfter:(step: string, newStep: WorkflowStep<C>) => Workflow<C>replace:(step: string, newStep: WorkflowStep<C>) => Workflow<C>remove:(step: string) => Workflow<C>run:(context: C) => Promise<void>#contextRunner:(context: C) => WorkflowTransactionRunner<C>#index:(name: string) => number#assertUniqueNames:() => void
WorkflowFailedException
Class
WorkflowFailedExceptionPublic members
compensationErrors:readonly CompensationError[]code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
@adocommercekit/core/services/main
AdminCheckoutFunnelStage
Type
AdminCheckoutFunnelStageAdminCheckoutStage
Type
AdminCheckoutStageAdminCustomerFilter
Interface
AdminCustomerFilterPublic members
search:string | undefinedgroupId:string | undefinedsort:AdminCustomerSort | undefineddirection:AdminSortDirection | undefinedcursor:string | undefinedlimit:number | undefined
AdminCustomerSort
Type
AdminCustomerSortAdminInventoryLevelFilter
Interface
AdminInventoryLevelFilterPublic members
locationId:string | undefinedbelowReorderPoint:boolean | undefinedsort:AdminInventoryLevelSort | undefineddirection:AdminSortDirection | undefinedcursor:string | undefinedlimit:number | undefined
AdminInventoryLevelSort
Type
AdminInventoryLevelSortAdminLowStockLevel
Type
AdminLowStockLevelAdminMetricsInterval
Type
AdminMetricsIntervalAdminMetricsPeriod
Type
The dashboard result shapes are declared as type aliases rather than interfaces
on purpose. TypeScript gives an object type alias an implicit index signature
but never an interface, so only an alias is assignable to the JSON-serializable
constraint inertia.defer() places on a deferred prop. These values are pure
JSON by construction, and the declaration should say so.
AdminMetricsPeriodAdminMetricsRange
Interface
AdminMetricsRangePublic members
channelId:string | undefinedcurrency:stringfrom:DateTime<boolean>to:DateTime<boolean>
AdminMetricsService
Class
Read-only dashboard aggregates (ASPEC §3.4).
Every method is scoped to exactly one currency: the dashboard renders one currency at a time and there is no cross-currency aggregation, mirroring the ledger’s integrity rule. Money crosses the wire as stringified minor units so no precision is lost.
Revenue is derived from the payment ledger (captures minus succeeded refunds), never from order totals, so the dashboard reconciles with the ledger exports to the cent.
AdminMetricsServicePublic members
db:Databaseconfig:ResolvedCommerceConfigdialect:"postgres" | "mysql" | "sqlite"table:(suffix: string) => stringbucketSql:(column: string, interval: AdminMetricsInterval) => stringbucketKeys:(range: AdminMetricsRange, interval: AdminMetricsInterval) => string[]capturedPayments:(range: AdminMetricsRange) => DatabaseQueryBuilderContract<any>succeededRefunds:(range: AdminMetricsRange) => DatabaseQueryBuilderContract<any>placedOrders:(range: AdminMetricsRange) => DatabaseQueryBuilderContract<any>summary:(range: AdminMetricsRange) => Promise<AdminMetricsSummary>period:(ordersPlaced: number, grossRevenue: string, refundTotal: string, activeCarts: number) => AdminMetricsPeriodrevenueSeries:(interval: AdminMetricsInterval, range: AdminMetricsRange) => Promise<AdminRevenueBucket[]>ordersByStatus:(range: AdminMetricsRange) => Promise<AdminOrdersByStatus[]>topProducts:(range: AdminMetricsRange, limit?: number) => Promise<AdminTopProduct[]>paymentMethodMix:(range: AdminMetricsRange) => Promise<AdminPaymentMethodSlice[]>checkoutFunnel:(range: AdminMetricsRange) => Promise<AdminCheckoutFunnelStage[]>lowStock:(range: AdminMetricsRange, limit?: number) => Promise<AdminLowStockLevel[]>
AdminMetricsSummary
Type
AdminMetricsSummaryAdminOrderFilter
Interface
AdminOrderFilterPublic members
status:OrderState[] | undefinedchannelId:string | undefinedcustomerId:string | undefinednumberPrefix:string | undefinedemail:string | undefinedplacedAfter:DateTime<boolean> | undefinedplacedBefore:DateTime<boolean> | undefinedsort:AdminOrderSort | undefineddirection:AdminSortDirection | undefinedcursor:string | undefinedlimit:number | undefined
AdminOrdersByStatus
Type
AdminOrdersByStatusAdminOrderSort
Type
AdminOrderSortAdminPaymentFilter
Interface
AdminPaymentFilterPublic members
state:PaymentState[] | undefinedprovider:string | undefinedorderId:string | undefinedsort:AdminPaymentSort | undefineddirection:AdminSortDirection | undefinedcursor:string | undefinedlimit:number | undefined
AdminPaymentMethodSlice
Type
AdminPaymentMethodSliceAdminPaymentSort
Type
AdminPaymentSortAdminProductFilter
Interface
AdminProductFilterPublic members
status:ProductStatus[] | undefinedcategoryId:string | undefinedsearch:string | undefinedsort:AdminProductSort | undefineddirection:AdminSortDirection | undefinedcursor:string | undefinedlimit:number | undefined
AdminProductSort
Type
AdminProductSortAdminRevenueBucket
Type
AdminRevenueBucketAdminTopProduct
Type
AdminTopProductcartesianProduct
Function
<T>(axes: readonly (readonly T[])[]) => T[][]CartService
Class
CartServicePublic members
#processors:CartProcessor[]db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigtokenStrategy:CartTokenStrategypriceResolver:PriceResolverevents:TransactionalEventEmitter | undefinedregisterProcessor:(processor: CartProcessor) => voidfindOrCreateFromContext:(ctx: HttpContext) => Promise<Cart>create:(input: { channelId: string; currency: string; token?: string; }, options?: MutationOptions) => Promise<Cart>findByToken:(token: string) => Promise<Cart | null>addLine:(cart: Cart, input: { variantId: string; quantity: number; }, options?: MutationOptions) => Promise<Cart>updateLineQuantity:(cart: Cart, lineId: string, quantity: number, options?: MutationOptions) => Promise<Cart>removeLine:(cart: Cart, lineId: string, options?: MutationOptions) => Promise<Cart>setEmail:(cart: Cart, email: string, options?: MutationOptions) => Promise<Cart>setAddresses:(cart: Cart, input: { shipping?: AddressInput; billing?: AddressInput; }, options?: MutationOptions) => Promise<Cart>setShippingMethod:(cart: Cart, methodId: string, options?: MutationOptions) => Promise<Cart>assignCustomer:(cart: Cart, customerId: string, options?: MutationOptions) => Promise<Cart>mergeCarts:(target: Cart, source: Cart, options?: MutationOptions) => Promise<Cart>recalculate:(cart: Cart, options?: MutationOptions) => Promise<Cart>totals:(cart: Cart) => CartTotalsupdateCart:(cart: Cart, values: Partial<Cart>, options?: MutationOptions) => Promise<Cart>lockActiveCart:(id: string, trx: TransactionClientContract) => Promise<Cart>channelContext:(cart: Cart, trx: TransactionClientContract) => Promise<ChannelContext>load:(id: string, trx?: TransactionClientContract) => Promise<Cart>assertQuantity:(quantity: number) => void
cartSnapshot
Function
(cart: Parameters<CartProcessor["process"]>[0], ctx: RecalculationContext) => CartSnapshotCatalogService
Class
CatalogServicePublic members
db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigproductImages:ProductImageServiceevents:TransactionalEventEmitter | undefinedlistProducts:(filter?: AdminProductFilter) => Promise<AdminListPage<Product>>createProduct:(data: CreateProductInput, options?: MutationOptions) => Promise<Product>updateProduct:(id: string, data: UpdateProductInput, options?: MutationOptions) => Promise<Product>archiveProduct:(id: string, options?: MutationOptions) => Promise<Product>deleteProduct:(id: string, options?: MutationOptions) => Promise<void>addOption:(productId: string, input: { name: string; values: string[]; }, options?: MutationOptions) => Promise<ProductOption>generateVariants:(productId: string, options?: MutationOptions) => Promise<ProductVariant[]>createCategory:(data: { name: string; slug: string; parentId?: string | null; position?: number; }, options?: MutationOptions) => Promise<Category>categoryDescendants:(categoryId: string) => Promise<Category[]>listCategories:() => Promise<Category[]>updateCategory:(id: string, data: { name?: string; slug?: string; parentId?: string | null; position?: number; }, options?: MutationOptions) => Promise<Category>deleteCategory:(id: string, options?: MutationOptions) => Promise<void>syncProductCategories:(productId: string, categoryIds: readonly string[], options?: MutationOptions) => Promise<void>assignCategory:(productId: string, categoryId: string, options?: MutationOptions) => Promise<void>findBySlug:(slug: string, ctx: ChannelContext) => Promise<Product | null>
ChannelService
Class
ChannelServicePublic members
db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigevents:TransactionalEventEmitter | undefinedcreate:(data: CreateChannelInput, options?: MutationOptions) => Promise<Channel>findByCode:(code: string) => Promise<Channel | null>list:() => Promise<Channel[]>resolve:(channelCode?: string, currency?: string) => Promise<ChannelContext>bootstrapDefault:(options?: MutationOptions) => Promise<Channel>
chargeableWeight
Function
(parcel: Parcel, volumetricDivisor?: number) => numberCheckoutService
Class
CheckoutServicePublic members
registry:ModelRegistryworkflow:PlaceOrderWorkflowidempotency:IdempotencyServiceinventory:InventoryServicepayments:PaymentServiceplace:(cart: Cart, input: PlaceOrderInput) => Promise<Order>reconcileStuck:(before?: DateTime<true>) => Promise<number>loadOrder:(id: string) => Promise<Order>
CommerceManager
Class
CommerceManagerPublic members
#factoryCache:WeakMap<DriverFactory, Promise<unknown>>#drivers:ResolvedCommerceDrivers | undefined#bootPromise:Promise<ResolvedCommerceDrivers> | undefinedcapabilities:CommerceCapabilityRegistryapp:ApplicationServiceconfig:ResolvedCommerceConfigisBooted:booleandrivers:ResolvedCommerceDrivers#resolve:(factory: DriverFactory) => Promise<unknown>boot:(options: { queueAvailable: boolean; }) => Promise<ResolvedCommerceDrivers>#resolveAll:(options: { queueAvailable: boolean; }) => Promise<ResolvedCommerceDrivers>shutdown:() => Promise<void>
CreateChannelInput
Interface
CreateChannelInputPublic members
code:stringname:stringdefaultCurrency:stringsupportedCurrencies:string[]isDefault:boolean | undefinedmetadata:Record<string, unknown> | undefined
CreateCustomerInput
Interface
CreateCustomerInputPublic members
email:string | null | undefinedfirstName:string | undefinedlastName:string | undefinedphone:string | undefineduserId:string | undefinedgroupId:string | undefinedmetadata:Record<string, unknown> | undefined
CustomerExportAuthorizationError
Class
CustomerExportAuthorizationErrorPublic members
code:"CUSTOMER_EXPORT_UNAUTHORIZED"name:stringmessage:stringstack:string | undefinedcause:unknown
CustomerPortabilityExport
Interface
CustomerPortabilityExportPublic members
schemaVersion:"commerce.customer-export.v1"exportedAt:stringcustomer:{ id: string; email: string | null; firstName: string | null; lastName: string | null; phone: string | null; metadata: Record<string, unknown> | null; createdAt: string; }addresses:{ firstName: string; lastName: string; company: string | null; line1: string; line2: string | null; city: string; region: string | null; postalCode: string | null; countryCode: string; phone: string | null; metadata: Record<string, unknown> | null; }[]orders:{ number: string; state: string; currency: string; email: string; shippingAddress: AddressInput; billingAddress: AddressInput; totals: { subtotal: string; shipping: string; tax: string; discount: string; grand: string; }; placedAt: string; lines: Array<{ productName: string; variantName: string | null; sku: string | null; quantity: number; unitPrice: string; fulfilledQuantity: number; refundedQuantity: number; }>; adjustments: Array<{ sourceType: string; label: string; amount: string; included: boolean; metadata: Record<string, unknown> | null; }>; shipments: Array<{ state: string; carrier: string | null; trackingNumber: string | null; }>; }[]
CustomerService
Class
CustomerServicePublic members
db:Databaseregistry:ModelRegistryevents:TransactionalEventEmitter | undefinedlist:(filter?: AdminCustomerFilter) => Promise<AdminListPage<Customer>>create:(data: CreateCustomerInput, options?: MutationOptions) => Promise<Customer>createGroup:(data: { code: string; name: string; }, options?: MutationOptions) => Promise<CustomerGroup>addAddress:(customerId: string, data: AddressInput & { isDefaultShipping?: boolean; isDefaultBilling?: boolean; }, options?: MutationOptions) => Promise<Address>findByUserId:(userId: string) => Promise<Customer | null>export:(customerId: string, authorize: (customer: Customer) => boolean | Promise<boolean>) => Promise<CustomerPortabilityExport>anonymize:(customerId: string, options?: MutationOptions) => Promise<Customer>
EncryptionPort
Interface
EncryptionPortPublic members
encrypt:(value: unknown) => string | Promise<string>decrypt:((value: string) => unknown | Promise<unknown>) | undefined
EventOutboxService
Class
EventOutboxServicePublic members
#consumers:Set<OutboxConsumer>db:Databasetable:stringbatchSize:numberregisterConsumer:(consumer: OutboxConsumer) => () => voidwrite:(name: string, payload: unknown, transaction: TransactionHookClient) => Promise<void>drain:(now?: DateTime<true>) => Promise<{ sent: number; failed: number; }>
FulfillmentService
Class
FulfillmentServicePublic members
db:Databaseregistry:ModelRegistryproviders:Readonly<Record<string, FulfillmentProvider>>inventory:InventoryServiceorders:OrderServiceevents:TransactionalEventEmitter | undefinedcreate:(order: Order, lines: Array<{ orderLineId: string; quantity: number; }>, options?: MutationOptions) => Promise<Shipment>prepare:(shipment: Shipment, providerCode: string, input?: { service?: string; insurance?: { amount: Money; }; idempotencyKey?: string; }) => Promise<Shipment>handoff:(shipment: Shipment, options?: MutationOptions) => Promise<Shipment>recordStatus:(shipment: Shipment, state: "delivered" | "delivery_failed" | "returned", input?: { occurredAt?: DateTime; eventId?: string; }, options?: MutationOptions) => Promise<Shipment>preparationInput:(shipment: Shipment) => Promise<{ order: Order; parcels: Parcel[]; }>
IdempotencyService
Class
IdempotencyServicePublic members
db:Databaseregistry:ModelRegistryhash:(request: unknown) => stringclaim:(scope: string, key: string, request: unknown) => Promise<IdempotencyClaim>complete:(record: IdempotencyKey, response: unknown, options?: MutationOptions) => Promise<void>abandon:(record: IdempotencyKey) => Promise<void>purgeExpired:(now?: DateTime<true>) => Promise<number>canonicalJson:(value: unknown) => stringnormalize:(value: unknown) => unknownisUniqueViolation:(error: unknown) => boolean
InventoryService
Class
InventoryServicePublic members
db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigallocation:StockAllocationStrategyevents:TransactionalEventEmitter | undefinedlistLevels:(filter?: AdminInventoryLevelFilter) => Promise<AdminListPage<InventoryLevel>>createLocation:(input: { code: string; name: string; address?: AddressInput; isDefault?: boolean; }, options?: MutationOptions) => Promise<StockLocation>createItem:(input: { variantId: string; tracked?: boolean; backorderable?: boolean; }, options?: MutationOptions) => Promise<InventoryItem>setLevel:(itemId: string, locationId: string, onHand: number, options?: MutationOptions) => Promise<InventoryLevel>availability:(variantId: string, locationId?: string) => Promise<{ onHand: number; reserved: number; available: number; }>adjustOnHand:(itemId: string, locationId: string, delta: number, reason: string, options?: MutationOptions) => Promise<InventoryLevel>reserveForCart:(cart: Cart, options?: MutationOptions) => Promise<Reservation[]>releaseCartReservations:(cart: Cart, options?: MutationOptions) => Promise<void>consumeReservations:(cart: Cart, _order: unknown, options?: MutationOptions) => Promise<void>bindReservationExpiry:(cart: Cart, expiresAt: DateTime, options?: MutationOptions) => Promise<void>compensateDeferred:(cart: Cart, policy: "reserve" | "commit", options?: MutationOptions) => Promise<void>settleDeferred:(cart: Cart, order: unknown, policy: "reserve" | "commit", options?: MutationOptions) => Promise<void>restockReturnedShipment:(shipment: Shipment, options?: MutationOptions) => Promise<void>expireStale:(now?: DateTime<true>) => Promise<number>auditReservedTotals:() => Promise<Array<{ levelId: string; stored: number; actual: number; }>>releaseReservation:(reservation: Reservation, trx: TransactionClientContract) => Promise<void>
OrderService
Class
OrderServicePublic members
machine:StateMachineRunner<OrderState, OrderTransition, TransactionClientContract>db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfiginventory:InventoryServicenumberGenerator:OrderNumberGenerator | undefinedevents:TransactionalEventEmitter | undefinedfindByNumber:(number: string) => Promise<Order | null>list:(filter?: AdminOrderFilter) => Promise<AdminListPage<Order>>createFromCart:(cart: Cart, options?: MutationOptions) => Promise<Order>transition:(order: Order, transition: OrderTransition, context?: TransitionContext, options?: MutationOptions) => Promise<Order>cancel:(order: Order, reason: string, options?: MutationOptions) => Promise<Order>addAdjustment:(order: Order, draft: AdjustmentDraft, options?: MutationOptions) => Promise<Order>recomputeTotals:(orderId: string, trx: TransactionClientContract) => Promise<void>nextSequentialNumber:(trx: TransactionClientContract) => Promise<string>transitionEvent:(order: Order, transition: OrderTransition, context: Readonly<Record<string, unknown>>) => OrderConfirmed | OrderCanceled | OrderFulfilled | OrderCompleted | undefinedload:(id: string, trx?: TransactionClientContract) => Promise<Order>
OutboxConsumer
Type
OutboxConsumerPaymentService
Class
PaymentServicePublic members
machine:StateMachineRunner<PaymentIntentState, "authorize" | "require_action" | "pend" | "capture" | "fail" | "settle" | "void" | "refund_partial" | "refund" | "expire" | "review", TransactionClientContract>db:Databaseregistry:ModelRegistryproviders:Readonly<Record<string, PaymentProvider>>encryption:EncryptionPortconfig:ResolvedCommerceConfiginventory:InventoryServiceorders:OrderServiceevents:TransactionalEventEmitter | undefinedprovider:(code: string) => PaymentProviderpaymentMethodCodes:(providerCode: string) => string[]listPayments:(filter?: AdminPaymentFilter) => Promise<AdminListPage<Payment>>createIntent:(subject: Cart | Order, method: string, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<PaymentIntent>confirm:(intent: PaymentIntent, input: { token?: string; }, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<PaymentIntent>paymentForIntent:(intentId: string, trx?: TransactionClientContract) => Promise<Payment | null>settle:(intent: PaymentIntent, input: { amount: Money; reference?: string; occurredAt?: DateTime; providerStatus?: string; raw?: unknown; }, options?: MutationOptions) => Promise<PaymentIntent>settleCod:(order: Order, amount: Money, reference: string, options?: MutationOptions) => Promise<PaymentIntent>rejectDeferred:(intent: PaymentIntent, reason: string, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<PaymentIntent>expirePending:(now?: DateTime<true>) => Promise<number>expireOne:(intentId: string, now: DateTime, providerStatus: string, occurredAt?: DateTime) => Promise<void>markReview:(intent: PaymentIntent, order: Order | null, reason: string, trx: TransactionClientContract) => Promise<PaymentIntent>capture:(payment: Payment, amount?: Money, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<Payment>refund:(payment: Payment, input: { amount?: Money; reason?: string; }, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<Refund>void:(intent: PaymentIntent, options?: MutationOptions & { idempotencyKey?: string; }) => Promise<PaymentIntent>ingestWebhook:(providerCode: string, raw: RawWebhookRequest) => Promise<WebhookIngestResult>applyWebhookEvent:(providerCode: string, event: NormalizedPaymentEvent, trx: TransactionClientContract) => Promise<void>ensureAuthorizedPayment:(intent: PaymentIntent, raw: unknown, trx: TransactionClientContract) => Promise<Payment>normalizedWebhookPayload:(event: NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }) => Record<string, unknown>intent:(id: string, trx?: TransactionClientContract) => Promise<PaymentIntent>isUniqueViolation:(error: unknown) => boolean
PlaceOrderContext
Interface
PlaceOrderContextPublic members
cart:Cartinput:PlaceOrderInputidempotency:IdempotencyKeytrx:TransactionClientContract | undefinedorder:Order | undefinedintent:PaymentIntent | undefinedpayment:Payment | undefinedtransaction:(callback: (context: PlaceOrderContext) => Promise<void>) => Promise<void>
PlaceOrderWorkflow
Class
PlaceOrderWorkflowPublic members
#workflow:Workflow<PlaceOrderContext>db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigcarts:CartServiceinventory:InventoryServiceorders:OrderServicepayments:PaymentServiceshipping:ShippingServiceidempotency:IdempotencyServiceevents:TransactionalEventEmittersteps:readonly WorkflowStep<PlaceOrderContext>[]insertBefore:(step: string, newStep: WorkflowStep<PlaceOrderContext>) => PlaceOrderWorkflowinsertAfter:(step: string, newStep: WorkflowStep<PlaceOrderContext>) => PlaceOrderWorkflowreplace:(step: string, newStep: WorkflowStep<PlaceOrderContext>) => PlaceOrderWorkflowremove:(step: string) => PlaceOrderWorkflowrun:(context: PlaceOrderContext) => Promise<void>finalizeExisting:(cart: Cart, order: Order, intent: PaymentIntent) => Promise<Order>releaseCartReservations:(cart: Cart) => Promise<void>defaultSteps:() => WorkflowStep<PlaceOrderContext>[]validateCart:(context: PlaceOrderContext) => Promise<void>lockCart:(context: PlaceOrderContext) => Promise<void>createPayment:(context: PlaceOrderContext) => Promise<void>finalize:(context: PlaceOrderContext, completeIdempotency: boolean) => Promise<void>emit:(context: PlaceOrderContext) => Promise<void>context:(cart: Cart, input: PlaceOrderInput, idempotency: IdempotencyKey) => PlaceOrderContext
PricingService
Class
PricingServicePublic members
db:Databaseregistry:ModelRegistrycreatePriceList:(data: { name: string; channelId?: string | null; customerGroupId?: string | null; priority?: number; startsAt?: DateTime | null; endsAt?: DateTime | null; isDefault?: boolean; }, options?: MutationOptions) => Promise<PriceList>createPrice:(data: { priceListId: string; variantId: string; unitPrice: Money; minQuantity?: number; }, options?: MutationOptions) => Promise<Price>
ProductImageService
Class
ProductImageServicePublic members
db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigstorage:ProductImageStorage | undefinedevents:TransactionalEventEmitter | undefinedupload:(productId: string, input: ProductImageUpload, options?: MutationOptions) => Promise<ProductImage>update:(productId: string, imageId: string, input: UpdateProductImageInput, options?: MutationOptions) => Promise<ProductImage>reorder:(productId: string, imageIds: string[], options?: MutationOptions) => Promise<ProductImage[]>remove:(productId: string, imageId: string, options?: MutationOptions) => Promise<void>scheduleProductDeletion:(productId: string, trx: TransactionClientContract) => Promise<void>inspect:(input: ProductImageUpload) => { extension: "jpg" | "png" | "webp"; mimeType: "image/jpeg" | "image/png" | "image/webp"; width: number; height: number; }requireStorage:() => ProductImageStoragefind:(productId: string, imageId: string, trx: TransactionClientContract) => Promise<ProductImage>assertVariants:(productId: string, input: string[], trx: TransactionClientContract) => Promise<string[]>scheduleStorageDeletion:(image: Pick<ProductImage, "disk" | "key">, trx: TransactionClientContract) => voidnormalizePositions:(productId: string, trx: TransactionClientContract) => Promise<void>
ProductImageUpload
Interface
ProductImageUploadPublic members
contents:Uint8Array<ArrayBufferLike>clientName:stringcontentType:string | undefined
ResolvedCommerceDrivers
Interface
ResolvedCommerceDriversPublic members
cartTokenStrategy:CartTokenStrategypriceResolver:PriceResolverproductImageStorage:ProductImageStorage | undefinedpaymentMethods:Readonly<Record<string, PaymentProvider>>shippingCalculators:Readonly<Record<string, ShippingCalculator>>shippingQuoteProviders:Readonly<Record<string, DynamicShippingQuoteProvider>>fulfillmentProviders:Readonly<Record<string, FulfillmentProvider>>inventoryAllocation:StockAllocationStrategy | undefinedshippingEligibility:ShippingEligibility | undefinedtaxCalculator:TaxCalculatortaxAddressResolver:unknownorderNumberGenerator:OrderNumberGenerator | undefined
ShippingCartProcessor
Class
ShippingCartProcessorPublic members
name:"shipping"position:500shipping:ShippingServiceprocess:(cart: Parameters<CartProcessor["process"]>[0], ctx: RecalculationContext) => Promise<AdjustmentDraft[]>
ShippingService
Class
ShippingServicePublic members
db:Databaseregistry:ModelRegistrycalculators:Readonly<Record<string, ShippingCalculator>>eligibility:ShippingEligibilityquoteProviders:Readonly<Record<string, DynamicShippingQuoteProvider>>selectionSecret:string | undefinedcreateMethod:(data: { code: string; name: string; calculator: string; calculatorConfig: Record<string, unknown>; channelId?: string | null; position?: number; enabled?: boolean; }, options?: MutationOptions) => Promise<ShippingMethod>eligibleMethods:(snapshot: CartSnapshot, channelId: string, trx?: TransactionClientContract) => Promise<ShippingMethod[]>calculator:(code: string) => ShippingCalculatorquote:(cart: Cart, providerCode: string, options?: { cod?: { amount: Money; }; insurance?: { amount: Money; }; }) => Promise<ShippingQuote[]>selectQuote:(cart: Cart, selectionToken: string, options?: MutationOptions) => Promise<Cart>assertSelectedQuote:(cart: Cart, suppliedToken?: string, trx?: TransactionClientContract) => Promise<QuoteSelectionPayload | null>verifySelection:(cart: Cart, token: string, trx?: TransactionClientContract) => Promise<QuoteSelectionPayload>quoteRequest:(cart: Cart, options: { cod?: { amount: Money; }; insurance?: { amount: Money; }; }, trx?: TransactionClientContract) => Promise<ShippingQuoteRequest>signSelection:(payload: QuoteSelectionPayload) => stringdecodeSelection:(token: string) => QuoteSelectionPayload
TaxCartProcessor
Class
TaxCartProcessorPublic members
name:"tax"position:1000config:ResolvedCommerceConfigcalculator:TaxCalculatorprocess:(cart: Parameters<CartProcessor["process"]>[0], ctx: RecalculationContext) => Promise<AdjustmentDraft[]>
TaxService
Class
TaxServicePublic members
db:Databaseregistry:ModelRegistrycreateCategory:(data: { code: string; name: string; }, options?: MutationOptions) => Promise<TaxCategory>createZone:(data: { name: string; countryCodes: string[]; regionPattern?: string | null; postalPattern?: string | null; }, options?: MutationOptions) => Promise<TaxZone>createRate:(data: { zoneId: string; taxCategoryId?: string | null; name: string; rateBp: number; }, options?: MutationOptions) => Promise<TaxRate>
UpdateProductImageInput
Interface
UpdateProductImageInputPublic members
altText:string | null | undefinedvariantIds:string[] | undefined
@adocommercekit/core/models
Address
Class
AddressPublic members
customerId:string | nullfirstName:stringlastName:stringcompany:string | nullline1:stringline2:string | nullcity:stringregion:string | nullpostalCode:string | nullcountryCode:stringphone:string | nullisDefaultShipping:booleanisDefaultBilling:booleancustomer:BelongsTo<typeof Customer>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => AddressuseConnection:(connection: string) => Address$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Address>>, allowExtraProperties?: boolean) => Addressmerge:(value: Partial<ModelAttributes<Address>>, allowExtraProperties?: boolean) => AddressisDirty:(fields?: "createdAt" | "updatedAt" | "customerId" | "firstName" | "lastName" | "company" | "line1" | "line2" | "city" | "region" | "postalCode" | "countryCode" | "phone" | "isDefaultShipping" | "isDefaultBilling" | "id" | "metadata" | ("createdAt" | "updatedAt" | "customerId" | "firstName" | "lastName" | "company" | "line1" | "line2" | "city" | "region" | "postalCode" | "countryCode" | "phone" | "isDefaultShipping" | "isDefaultBilling" | "id" | "metadata" | undefined)[] | undefined) => booleanenableForceUpdate:() => Addresssave:() => Promise<Address>saveQuietly:() => Promise<Address>lockForUpdate:<T>(callback: (user: Address) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Address>load:LucidRowPreload<Address>loadOnce:LucidRowPreloadOnce<Address>preload:LucidRowPreload<Address>loadAggregate:<Self extends Address, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Address, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Address>>(relation: Name) => NonNullable<Address[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Address[Name] & {})["client"] : never
BaseCommerceModel
Class
BaseCommerceModelPublic members
id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => BaseCommerceModeluseConnection:(connection: string) => BaseCommerceModel$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<BaseCommerceModel>>, allowExtraProperties?: boolean) => BaseCommerceModelmerge:(value: Partial<ModelAttributes<BaseCommerceModel>>, allowExtraProperties?: boolean) => BaseCommerceModelisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | ("createdAt" | "updatedAt" | "id" | "metadata" | undefined)[] | undefined) => booleanenableForceUpdate:() => BaseCommerceModelsave:() => Promise<BaseCommerceModel>saveQuietly:() => Promise<BaseCommerceModel>lockForUpdate:<T>(callback: (user: BaseCommerceModel) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<BaseCommerceModel>load:LucidRowPreload<BaseCommerceModel>loadOnce:LucidRowPreloadOnce<BaseCommerceModel>preload:LucidRowPreload<BaseCommerceModel>loadAggregate:<Self extends BaseCommerceModel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends BaseCommerceModel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<BaseCommerceModel[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & BaseCommerceModel[Name] & {})["client"] : never
Cart
Class
CartPublic members
token:stringchannelId:stringcurrency:stringcustomerId:string | nullemail:string | nullstatus:CartStatusshippingAddress:AddressInput | nullbillingAddress:AddressInput | nullshippingMethodId:string | nullcompletedOrderId:string | nullshippingQuoteToken:string | nullshippingQuoteExpiresAt:DateTime<boolean> | nullsubtotalAmount:bigintshippingTotalAmount:biginttaxTotalAmount:bigintdiscountTotalAmount:bigintgrandTotalAmount:bigintlastActivityAt:DateTime<boolean>channel:BelongsTo<typeof Channel>customer:BelongsTo<typeof Customer>shippingMethod:BelongsTo<typeof ShippingMethod>lines:HasMany<typeof CartLine>adjustments:HasMany<typeof CartAdjustment>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CartuseConnection:(connection: string) => Cart$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Cart>>, allowExtraProperties?: boolean) => Cartmerge:(value: Partial<ModelAttributes<Cart>>, allowExtraProperties?: boolean) => CartisDirty:(fields?: "createdAt" | "email" | "updatedAt" | "customerId" | "id" | "metadata" | "token" | "channelId" | "currency" | "status" | "shippingAddress" | "billingAddress" | "shippingMethodId" | "completedOrderId" | "shippingQuoteToken" | "shippingQuoteExpiresAt" | "subtotalAmount" | "shippingTotalAmount" | "taxTotalAmount" | "discountTotalAmount" | "grandTotalAmount" | "lastActivityAt" | ("createdAt" | "email" | "updatedAt" | "customerId" | "id" | "metadata" | "token" | "channelId" | "currency" | "status" | "shippingAddress" | "billingAddress" | "shippingMethodId" | "completedOrderId" | "shippingQuoteToken" | "shippingQuoteExpiresAt" | "subtotalAmount" | "shippingTotalAmount" | "taxTotalAmount" | "discountTotalAmount" | "grandTotalAmount" | "lastActivityAt" | undefined)[] | undefined) => booleanenableForceUpdate:() => Cartsave:() => Promise<Cart>saveQuietly:() => Promise<Cart>lockForUpdate:<T>(callback: (user: Cart) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Cart>load:LucidRowPreload<Cart>loadOnce:LucidRowPreloadOnce<Cart>preload:LucidRowPreload<Cart>loadAggregate:<Self extends Cart, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Cart, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Cart>>(relation: Name) => NonNullable<Cart[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Cart[Name] & {})["client"] : never
CartAdjustment
Class
CartAdjustmentPublic members
cartId:stringcartLineId:string | nullsourceType:stringsourceId:string | nulllabel:stringamount:MoneyamountAmount:bigintamountCurrency:stringincluded:booleaneligible:booleanposition:numberid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CartAdjustmentuseConnection:(connection: string) => CartAdjustment$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<CartAdjustment>>, allowExtraProperties?: boolean) => CartAdjustmentmerge:(value: Partial<ModelAttributes<CartAdjustment>>, allowExtraProperties?: boolean) => CartAdjustmentisDirty:(fields?: "createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "position" | "cartId" | "cartLineId" | "sourceType" | "sourceId" | "label" | "amountAmount" | "amountCurrency" | "included" | "eligible" | ("createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "position" | "cartId" | "cartLineId" | "sourceType" | "sourceId" | "label" | "amountAmount" | "amountCurrency" | "included" | "eligible" | undefined)[] | undefined) => booleanenableForceUpdate:() => CartAdjustmentsave:() => Promise<CartAdjustment>saveQuietly:() => Promise<CartAdjustment>lockForUpdate:<T>(callback: (user: CartAdjustment) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<CartAdjustment>load:LucidRowPreload<CartAdjustment>loadOnce:LucidRowPreloadOnce<CartAdjustment>preload:LucidRowPreload<CartAdjustment>loadAggregate:<Self extends CartAdjustment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends CartAdjustment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<CartAdjustment[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & CartAdjustment[Name] & {})["client"] : never
CartLine
Class
CartLinePublic members
cartId:stringvariantId:stringquantity:numberunitPrice:MoneyunitPriceAmount:bigintunitPriceCurrency:stringcart:BelongsTo<typeof Cart>variant:BelongsTo<typeof ProductVariant>adjustments:HasMany<typeof CartAdjustment>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CartLineuseConnection:(connection: string) => CartLine$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<CartLine>>, allowExtraProperties?: boolean) => CartLinemerge:(value: Partial<ModelAttributes<CartLine>>, allowExtraProperties?: boolean) => CartLineisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "cartId" | "variantId" | "quantity" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | ("createdAt" | "updatedAt" | "id" | "metadata" | "cartId" | "variantId" | "quantity" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | undefined)[] | undefined) => booleanenableForceUpdate:() => CartLinesave:() => Promise<CartLine>saveQuietly:() => Promise<CartLine>lockForUpdate:<T>(callback: (user: CartLine) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<CartLine>load:LucidRowPreload<CartLine>loadOnce:LucidRowPreloadOnce<CartLine>preload:LucidRowPreload<CartLine>loadAggregate:<Self extends CartLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends CartLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<CartLine>>(relation: Name) => NonNullable<CartLine[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & CartLine[Name] & {})["client"] : never
CartStatus
Type
CartStatusCategory
Class
CategoryPublic members
parentId:string | nullname:stringslug:stringpath:stringposition:numberparent:BelongsTo<typeof Category>children:HasMany<typeof Category>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CategoryuseConnection:(connection: string) => Category$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Category>>, allowExtraProperties?: boolean) => Categorymerge:(value: Partial<ModelAttributes<Category>>, allowExtraProperties?: boolean) => CategoryisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "position" | "parentId" | "slug" | "path" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "position" | "parentId" | "slug" | "path" | undefined)[] | undefined) => booleanenableForceUpdate:() => Categorysave:() => Promise<Category>saveQuietly:() => Promise<Category>lockForUpdate:<T>(callback: (user: Category) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Category>load:LucidRowPreload<Category>loadOnce:LucidRowPreloadOnce<Category>preload:LucidRowPreload<Category>loadAggregate:<Self extends Category, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Category, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Category>>(relation: Name) => NonNullable<Category[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Category[Name] & {})["client"] : never
Channel
Class
ChannelPublic members
code:stringname:stringdefaultCurrency:stringsupportedCurrencies:string[]isDefault:booleanid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ChanneluseConnection:(connection: string) => Channel$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Channel>>, allowExtraProperties?: boolean) => Channelmerge:(value: Partial<ModelAttributes<Channel>>, allowExtraProperties?: boolean) => ChannelisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | "defaultCurrency" | "supportedCurrencies" | "isDefault" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | "defaultCurrency" | "supportedCurrencies" | "isDefault" | undefined)[] | undefined) => booleanenableForceUpdate:() => Channelsave:() => Promise<Channel>saveQuietly:() => Promise<Channel>lockForUpdate:<T>(callback: (user: Channel) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Channel>load:LucidRowPreload<Channel>loadOnce:LucidRowPreloadOnce<Channel>preload:LucidRowPreload<Channel>loadAggregate:<Self extends Channel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Channel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<Channel[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Channel[Name] & {})["client"] : never
configureBaseCommerceModel
Function
(config: Pick<ResolvedCommerceConfig, "tablePrefix">) => voidCustomer
Class
CustomerPublic members
email:string | nullfirstName:string | nulllastName:string | nullphone:string | nulluserId:string | nullgroupId:string | nullgroup:BelongsTo<typeof CustomerGroup>addresses:HasMany<typeof Address>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CustomeruseConnection:(connection: string) => Customer$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Customer>>, allowExtraProperties?: boolean) => Customermerge:(value: Partial<ModelAttributes<Customer>>, allowExtraProperties?: boolean) => CustomerisDirty:(fields?: "createdAt" | "email" | "updatedAt" | "firstName" | "lastName" | "phone" | "id" | "metadata" | "userId" | "groupId" | ("createdAt" | "email" | "updatedAt" | "firstName" | "lastName" | "phone" | "id" | "metadata" | "userId" | "groupId" | undefined)[] | undefined) => booleanenableForceUpdate:() => Customersave:() => Promise<Customer>saveQuietly:() => Promise<Customer>lockForUpdate:<T>(callback: (user: Customer) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Customer>load:LucidRowPreload<Customer>loadOnce:LucidRowPreloadOnce<Customer>preload:LucidRowPreload<Customer>loadAggregate:<Self extends Customer, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Customer, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Customer>>(relation: Name) => NonNullable<Customer[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Customer[Name] & {})["client"] : never
CustomerGroup
Class
CustomerGroupPublic members
code:stringname:stringcustomers:HasMany<typeof Customer>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => CustomerGroupuseConnection:(connection: string) => CustomerGroup$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<CustomerGroup>>, allowExtraProperties?: boolean) => CustomerGroupmerge:(value: Partial<ModelAttributes<CustomerGroup>>, allowExtraProperties?: boolean) => CustomerGroupisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | undefined)[] | undefined) => booleanenableForceUpdate:() => CustomerGroupsave:() => Promise<CustomerGroup>saveQuietly:() => Promise<CustomerGroup>lockForUpdate:<T>(callback: (user: CustomerGroup) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<CustomerGroup>load:LucidRowPreload<CustomerGroup>loadOnce:LucidRowPreloadOnce<CustomerGroup>preload:LucidRowPreload<CustomerGroup>loadAggregate:<Self extends CustomerGroup, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends CustomerGroup, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<CustomerGroup>>(relation: Name) => NonNullable<CustomerGroup[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & CustomerGroup[Name] & {})["client"] : never
EventOutbox
Class
EventOutboxPublic members
id:stringeventName:stringpayload:unknownstatus:OutboxStatusattempts:numberavailableAt:DateTime<boolean>createdAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => EventOutboxuseConnection:(connection: string) => EventOutbox$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<EventOutbox>>, allowExtraProperties?: boolean) => EventOutboxmerge:(value: Partial<ModelAttributes<EventOutbox>>, allowExtraProperties?: boolean) => EventOutboxisDirty:(fields?: "createdAt" | "id" | "status" | "eventName" | "payload" | "attempts" | "availableAt" | ("createdAt" | "id" | "status" | "eventName" | "payload" | "attempts" | "availableAt" | undefined)[] | undefined) => booleanenableForceUpdate:() => EventOutboxsave:() => Promise<EventOutbox>saveQuietly:() => Promise<EventOutbox>lockForUpdate:<T>(callback: (user: EventOutbox) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<EventOutbox>load:LucidRowPreload<EventOutbox>loadOnce:LucidRowPreloadOnce<EventOutbox>preload:LucidRowPreload<EventOutbox>loadAggregate:<Self extends EventOutbox, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends EventOutbox, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<EventOutbox[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & EventOutbox[Name] & {})["client"] : never
getModelRegistry
Function
() => ModelRegistryIdempotencyKey
Class
IdempotencyKeyPublic members
key:stringscope:stringrequestHash:stringstatus:IdempotencyStatusresponse:unknownexpiresAt:DateTime<boolean>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => IdempotencyKeyuseConnection:(connection: string) => IdempotencyKey$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<IdempotencyKey>>, allowExtraProperties?: boolean) => IdempotencyKeymerge:(value: Partial<ModelAttributes<IdempotencyKey>>, allowExtraProperties?: boolean) => IdempotencyKeyisDirty:(fields?: "createdAt" | "updatedAt" | "key" | "id" | "metadata" | "status" | "scope" | "requestHash" | "response" | "expiresAt" | ("createdAt" | "updatedAt" | "key" | "id" | "metadata" | "status" | "scope" | "requestHash" | "response" | "expiresAt" | undefined)[] | undefined) => booleanenableForceUpdate:() => IdempotencyKeysave:() => Promise<IdempotencyKey>saveQuietly:() => Promise<IdempotencyKey>lockForUpdate:<T>(callback: (user: IdempotencyKey) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<IdempotencyKey>load:LucidRowPreload<IdempotencyKey>loadOnce:LucidRowPreloadOnce<IdempotencyKey>preload:LucidRowPreload<IdempotencyKey>loadAggregate:<Self extends IdempotencyKey, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends IdempotencyKey, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<IdempotencyKey[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & IdempotencyKey[Name] & {})["client"] : never
IdempotencyStatus
Type
IdempotencyStatusInventoryItem
Class
InventoryItemPublic members
variantId:stringtracked:booleanbackorderable:booleanvariant:BelongsTo<typeof ProductVariant>levels:HasMany<typeof InventoryLevel>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => InventoryItemuseConnection:(connection: string) => InventoryItem$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<InventoryItem>>, allowExtraProperties?: boolean) => InventoryItemmerge:(value: Partial<ModelAttributes<InventoryItem>>, allowExtraProperties?: boolean) => InventoryItemisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "tracked" | "backorderable" | ("createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "tracked" | "backorderable" | undefined)[] | undefined) => booleanenableForceUpdate:() => InventoryItemsave:() => Promise<InventoryItem>saveQuietly:() => Promise<InventoryItem>lockForUpdate:<T>(callback: (user: InventoryItem) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<InventoryItem>load:LucidRowPreload<InventoryItem>loadOnce:LucidRowPreloadOnce<InventoryItem>preload:LucidRowPreload<InventoryItem>loadAggregate:<Self extends InventoryItem, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends InventoryItem, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<InventoryItem>>(relation: Name) => NonNullable<InventoryItem[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & InventoryItem[Name] & {})["client"] : never
InventoryLevel
Class
InventoryLevelPublic members
itemId:stringlocationId:stringonHand:numberreserved:numberreorderPoint:number | nullitem:BelongsTo<typeof InventoryItem>location:BelongsTo<typeof StockLocation>reservations:HasMany<typeof Reservation>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => InventoryLeveluseConnection:(connection: string) => InventoryLevel$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<InventoryLevel>>, allowExtraProperties?: boolean) => InventoryLevelmerge:(value: Partial<ModelAttributes<InventoryLevel>>, allowExtraProperties?: boolean) => InventoryLevelisDirty:(fields?: "createdAt" | "onHand" | "updatedAt" | "id" | "metadata" | "itemId" | "locationId" | "reserved" | "reorderPoint" | ("createdAt" | "onHand" | "updatedAt" | "id" | "metadata" | "itemId" | "locationId" | "reserved" | "reorderPoint" | undefined)[] | undefined) => booleanenableForceUpdate:() => InventoryLevelsave:() => Promise<InventoryLevel>saveQuietly:() => Promise<InventoryLevel>lockForUpdate:<T>(callback: (user: InventoryLevel) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<InventoryLevel>load:LucidRowPreload<InventoryLevel>loadOnce:LucidRowPreloadOnce<InventoryLevel>preload:LucidRowPreload<InventoryLevel>loadAggregate:<Self extends InventoryLevel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends InventoryLevel, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<InventoryLevel>>(relation: Name) => NonNullable<InventoryLevel[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & InventoryLevel[Name] & {})["client"] : never
ModelImport
Type
ModelImportModelRegistry
Class
ModelRegistryPublic members
#resolved:Map<keyof ModelRegistryOverrides, LucidModel>#loaders:Readonly<Partial<Record<keyof ModelRegistryOverrides, ModelImport>>>get:(key: ModelRegistryKey) => Promise<LucidModel>boot:() => Promise<void>require:(key: ModelRegistryKey) => LucidModelrelatedModel:(key: ModelRegistryKey) => () => LucidModel
ModelRegistryKey
Type
keyof ModelRegistryOverridesmoneyColumn
Function
Maps one Money property to a <prefix>_amount BIGINT and
<prefix>_currency CHAR(3) column pair.
(options?: { columnPrefix?: string; }) => PropertyDecoratorOrder
Class
OrderPublic members
number:stringchannelId:stringcurrency:stringcustomerId:string | nullemail:stringstate:OrderStateshippingAddress:AddressInputbillingAddress:AddressInputsubtotalAmount:bigintshippingTotalAmount:biginttaxTotalAmount:bigintdiscountTotalAmount:bigintgrandTotalAmount:bigintplacedAt:DateTime<boolean>cartId:string | nullchannel:BelongsTo<typeof Channel>customer:BelongsTo<typeof Customer>cart:BelongsTo<typeof Cart>lines:HasMany<typeof OrderLine>adjustments:HasMany<typeof OrderAdjustment>shipments:HasMany<typeof Shipment>payments:HasMany<typeof Payment>paymentInstructions:HasMany<typeof PaymentInstruction>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => OrderuseConnection:(connection: string) => Order$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Order>>, allowExtraProperties?: boolean) => Ordermerge:(value: Partial<ModelAttributes<Order>>, allowExtraProperties?: boolean) => OrderisDirty:(fields?: "number" | "createdAt" | "email" | "updatedAt" | "placedAt" | "customerId" | "id" | "metadata" | "channelId" | "currency" | "shippingAddress" | "billingAddress" | "subtotalAmount" | "shippingTotalAmount" | "taxTotalAmount" | "discountTotalAmount" | "grandTotalAmount" | "cartId" | "state" | ("number" | "createdAt" | "email" | "updatedAt" | "placedAt" | "customerId" | "id" | "metadata" | "channelId" | "currency" | "shippingAddress" | "billingAddress" | "subtotalAmount" | "shippingTotalAmount" | "taxTotalAmount" | "discountTotalAmount" | "grandTotalAmount" | "cartId" | "state" | undefined)[] | undefined) => booleanenableForceUpdate:() => Ordersave:() => Promise<Order>saveQuietly:() => Promise<Order>lockForUpdate:<T>(callback: (user: Order) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Order>load:LucidRowPreload<Order>loadOnce:LucidRowPreloadOnce<Order>preload:LucidRowPreload<Order>loadAggregate:<Self extends Order, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Order, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Order>>(relation: Name) => NonNullable<Order[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Order[Name] & {})["client"] : never
OrderAdjustment
Class
OrderAdjustmentPublic members
orderId:stringorderLineId:string | nullsourceType:stringsourceId:string | nulllabel:stringamount:MoneyamountAmount:bigintamountCurrency:stringincluded:booleaneligible:booleanposition:numberid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => OrderAdjustmentuseConnection:(connection: string) => OrderAdjustment$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<OrderAdjustment>>, allowExtraProperties?: boolean) => OrderAdjustmentmerge:(value: Partial<ModelAttributes<OrderAdjustment>>, allowExtraProperties?: boolean) => OrderAdjustmentisDirty:(fields?: "createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "position" | "sourceType" | "sourceId" | "label" | "amountAmount" | "amountCurrency" | "included" | "eligible" | "orderId" | "orderLineId" | ("createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "position" | "sourceType" | "sourceId" | "label" | "amountAmount" | "amountCurrency" | "included" | "eligible" | "orderId" | "orderLineId" | undefined)[] | undefined) => booleanenableForceUpdate:() => OrderAdjustmentsave:() => Promise<OrderAdjustment>saveQuietly:() => Promise<OrderAdjustment>lockForUpdate:<T>(callback: (user: OrderAdjustment) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<OrderAdjustment>load:LucidRowPreload<OrderAdjustment>loadOnce:LucidRowPreloadOnce<OrderAdjustment>preload:LucidRowPreload<OrderAdjustment>loadAggregate:<Self extends OrderAdjustment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends OrderAdjustment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<OrderAdjustment[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & OrderAdjustment[Name] & {})["client"] : never
OrderLine
Class
OrderLinePublic members
orderId:stringvariantId:string | nullcartLineId:string | nullproductName:stringvariantName:string | nullsku:string | nullquantity:numberunitPrice:MoneyunitPriceAmount:bigintunitPriceCurrency:stringfulfilledQuantity:numberrefundedQuantity:numberorder:BelongsTo<typeof Order>variant:BelongsTo<typeof ProductVariant>adjustments:HasMany<typeof OrderAdjustment>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => OrderLineuseConnection:(connection: string) => OrderLine$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<OrderLine>>, allowExtraProperties?: boolean) => OrderLinemerge:(value: Partial<ModelAttributes<OrderLine>>, allowExtraProperties?: boolean) => OrderLineisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "quantity" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | "cartLineId" | "sku" | "orderId" | "productName" | "variantName" | "fulfilledQuantity" | "refundedQuantity" | ("createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "quantity" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | "cartLineId" | "sku" | "orderId" | "productName" | "variantName" | "fulfilledQuantity" | "refundedQuantity" | undefined)[] | undefined) => booleanenableForceUpdate:() => OrderLinesave:() => Promise<OrderLine>saveQuietly:() => Promise<OrderLine>lockForUpdate:<T>(callback: (user: OrderLine) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<OrderLine>load:LucidRowPreload<OrderLine>loadOnce:LucidRowPreloadOnce<OrderLine>preload:LucidRowPreload<OrderLine>loadAggregate:<Self extends OrderLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends OrderLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<OrderLine>>(relation: Name) => NonNullable<OrderLine[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & OrderLine[Name] & {})["client"] : never
OrderState
Type
OrderStateOrderTransition
Type
OrderTransitionOutboxStatus
Type
OutboxStatusPayment
Class
PaymentPublic members
intentId:stringorderId:stringstate:PaymentStateamount:MoneyamountAmount:bigintamountCurrency:stringproviderChargeId:string | nullrawPayload:unknownintent:BelongsTo<typeof PaymentIntent>order:BelongsTo<typeof Order>refunds:HasMany<typeof Refund>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => PaymentuseConnection:(connection: string) => Payment$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Payment>>, allowExtraProperties?: boolean) => Paymentmerge:(value: Partial<ModelAttributes<Payment>>, allowExtraProperties?: boolean) => PaymentisDirty:(fields?: "createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "amountAmount" | "amountCurrency" | "state" | "intentId" | "orderId" | "providerChargeId" | "rawPayload" | ("createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "amountAmount" | "amountCurrency" | "state" | "intentId" | "orderId" | "providerChargeId" | "rawPayload" | undefined)[] | undefined) => booleanenableForceUpdate:() => Paymentsave:() => Promise<Payment>saveQuietly:() => Promise<Payment>lockForUpdate:<T>(callback: (user: Payment) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Payment>load:LucidRowPreload<Payment>loadOnce:LucidRowPreloadOnce<Payment>preload:LucidRowPreload<Payment>loadAggregate:<Self extends Payment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Payment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Payment>>(relation: Name) => NonNullable<Payment[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Payment[Name] & {})["client"] : never
PaymentInstruction
Class
PaymentInstructionPublic members
intentId:stringorderId:stringtype:"virtual_account" | "qr_code" | "redirect" | "retail_outlet" | "bank_transfer"details:Record<string, unknown>expiresAt:DateTime<boolean>intent:BelongsTo<typeof PaymentIntent>order:BelongsTo<typeof Order>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => PaymentInstructionuseConnection:(connection: string) => PaymentInstruction$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<PaymentInstruction>>, allowExtraProperties?: boolean) => PaymentInstructionmerge:(value: Partial<ModelAttributes<PaymentInstruction>>, allowExtraProperties?: boolean) => PaymentInstructionisDirty:(fields?: "details" | "createdAt" | "updatedAt" | "id" | "metadata" | "expiresAt" | "intentId" | "orderId" | "type" | ("details" | "createdAt" | "updatedAt" | "id" | "metadata" | "expiresAt" | "intentId" | "orderId" | "type" | undefined)[] | undefined) => booleanenableForceUpdate:() => PaymentInstructionsave:() => Promise<PaymentInstruction>saveQuietly:() => Promise<PaymentInstruction>lockForUpdate:<T>(callback: (user: PaymentInstruction) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<PaymentInstruction>load:LucidRowPreload<PaymentInstruction>loadOnce:LucidRowPreloadOnce<PaymentInstruction>preload:LucidRowPreload<PaymentInstruction>loadAggregate:<Self extends PaymentInstruction, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends PaymentInstruction, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<PaymentInstruction>>(relation: Name) => NonNullable<PaymentInstruction[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & PaymentInstruction[Name] & {})["client"] : never
PaymentIntent
Class
PaymentIntentPublic members
orderId:string | nullcartId:string | nullprovider:stringstate:PaymentIntentStateflow:"authorize_capture" | "deferred"inventoryPolicy:"reserve" | "commit" | nullamount:MoneyamountAmount:bigintamountCurrency:stringproviderIntentId:string | nullclientSecretEnc:string | nulllastError:Record<string, unknown> | nullexpiresAt:DateTime<boolean> | nullreviewReason:string | nullproviderEventTime:DateTime<boolean> | nullcurrentProviderStatus:string | nullorder:BelongsTo<typeof Order>cart:BelongsTo<typeof Cart>payments:HasMany<typeof Payment>instructions:HasMany<typeof PaymentInstruction>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => PaymentIntentuseConnection:(connection: string) => PaymentIntent$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<PaymentIntent>>, allowExtraProperties?: boolean) => PaymentIntentmerge:(value: Partial<ModelAttributes<PaymentIntent>>, allowExtraProperties?: boolean) => PaymentIntentisDirty:(fields?: "createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "cartId" | "amountAmount" | "amountCurrency" | "expiresAt" | "state" | "orderId" | "provider" | "flow" | "inventoryPolicy" | "providerIntentId" | "clientSecretEnc" | "lastError" | "reviewReason" | "providerEventTime" | "currentProviderStatus" | ("createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "cartId" | "amountAmount" | "amountCurrency" | "expiresAt" | "state" | "orderId" | "provider" | "flow" | "inventoryPolicy" | "providerIntentId" | "clientSecretEnc" | "lastError" | "reviewReason" | "providerEventTime" | "currentProviderStatus" | undefined)[] | undefined) => booleanenableForceUpdate:() => PaymentIntentsave:() => Promise<PaymentIntent>saveQuietly:() => Promise<PaymentIntent>lockForUpdate:<T>(callback: (user: PaymentIntent) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<PaymentIntent>load:LucidRowPreload<PaymentIntent>loadOnce:LucidRowPreloadOnce<PaymentIntent>preload:LucidRowPreload<PaymentIntent>loadAggregate:<Self extends PaymentIntent, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends PaymentIntent, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<PaymentIntent>>(relation: Name) => NonNullable<PaymentIntent[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & PaymentIntent[Name] & {})["client"] : never
PaymentIntentState
Type
PaymentIntentStatePaymentState
Type
PaymentStatePrice
Class
PricePublic members
priceListId:stringvariantId:stringunitPrice:MoneyunitPriceAmount:bigintunitPriceCurrency:stringminQuantity:numberpriceList:BelongsTo<typeof PriceList>variant:BelongsTo<typeof ProductVariant>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => PriceuseConnection:(connection: string) => Price$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Price>>, allowExtraProperties?: boolean) => Pricemerge:(value: Partial<ModelAttributes<Price>>, allowExtraProperties?: boolean) => PriceisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | "priceListId" | "minQuantity" | ("createdAt" | "updatedAt" | "id" | "metadata" | "variantId" | "unitPrice" | "unitPriceAmount" | "unitPriceCurrency" | "priceListId" | "minQuantity" | undefined)[] | undefined) => booleanenableForceUpdate:() => Pricesave:() => Promise<Price>saveQuietly:() => Promise<Price>lockForUpdate:<T>(callback: (user: Price) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Price>load:LucidRowPreload<Price>loadOnce:LucidRowPreloadOnce<Price>preload:LucidRowPreload<Price>loadAggregate:<Self extends Price, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Price, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Price>>(relation: Name) => NonNullable<Price[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Price[Name] & {})["client"] : never
PriceList
Class
PriceListPublic members
name:stringchannelId:string | nullcustomerGroupId:string | nullpriority:numberstartsAt:DateTime<boolean> | nullendsAt:DateTime<boolean> | nullisDefault:booleanchannel:BelongsTo<typeof Channel>customerGroup:BelongsTo<typeof CustomerGroup>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => PriceListuseConnection:(connection: string) => PriceList$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<PriceList>>, allowExtraProperties?: boolean) => PriceListmerge:(value: Partial<ModelAttributes<PriceList>>, allowExtraProperties?: boolean) => PriceListisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "channelId" | "isDefault" | "customerGroupId" | "priority" | "startsAt" | "endsAt" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "channelId" | "isDefault" | "customerGroupId" | "priority" | "startsAt" | "endsAt" | undefined)[] | undefined) => booleanenableForceUpdate:() => PriceListsave:() => Promise<PriceList>saveQuietly:() => Promise<PriceList>lockForUpdate:<T>(callback: (user: PriceList) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<PriceList>load:LucidRowPreload<PriceList>loadOnce:LucidRowPreloadOnce<PriceList>preload:LucidRowPreload<PriceList>loadAggregate:<Self extends PriceList, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends PriceList, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<PriceList>>(relation: Name) => NonNullable<PriceList[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & PriceList[Name] & {})["client"] : never
Product
Class
ProductPublic members
status:ProductStatusname:stringslug:stringdescription:string | nullimages:HasMany<typeof ProductImage>options:HasMany<typeof ProductOption>variants:HasMany<typeof ProductVariant>categories:ManyToMany<typeof Category>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ProductuseConnection:(connection: string) => Product$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Product>>, allowExtraProperties?: boolean) => Productmerge:(value: Partial<ModelAttributes<Product>>, allowExtraProperties?: boolean) => ProductisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "status" | "slug" | "description" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "status" | "slug" | "description" | undefined)[] | undefined) => booleanenableForceUpdate:() => Productsave:() => Promise<Product>saveQuietly:() => Promise<Product>lockForUpdate:<T>(callback: (user: Product) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Product>load:LucidRowPreload<Product>loadOnce:LucidRowPreloadOnce<Product>preload:LucidRowPreload<Product>loadAggregate:<Self extends Product, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Product, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Product>>(relation: Name) => NonNullable<Product[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Product[Name] & {})["client"] : never
ProductImage
Class
ProductImagePublic members
productId:stringurl:stringdisk:string | nullkey:string | nullaltText:string | nullposition:numbermimeType:stringsizeBytes:numberwidth:numberheight:numberproduct:BelongsTo<typeof Product>variants:ManyToMany<typeof ProductVariant>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ProductImageuseConnection:(connection: string) => ProductImage$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ProductImage>>, allowExtraProperties?: boolean) => ProductImagemerge:(value: Partial<ModelAttributes<ProductImage>>, allowExtraProperties?: boolean) => ProductImageisDirty:(fields?: "createdAt" | "updatedAt" | "disk" | "key" | "id" | "metadata" | "position" | "productId" | "url" | "altText" | "mimeType" | "sizeBytes" | "width" | "height" | ("createdAt" | "updatedAt" | "disk" | "key" | "id" | "metadata" | "position" | "productId" | "url" | "altText" | "mimeType" | "sizeBytes" | "width" | "height" | undefined)[] | undefined) => booleanenableForceUpdate:() => ProductImagesave:() => Promise<ProductImage>saveQuietly:() => Promise<ProductImage>lockForUpdate:<T>(callback: (user: ProductImage) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ProductImage>load:LucidRowPreload<ProductImage>loadOnce:LucidRowPreloadOnce<ProductImage>preload:LucidRowPreload<ProductImage>loadAggregate:<Self extends ProductImage, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ProductImage, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<ProductImage>>(relation: Name) => NonNullable<ProductImage[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ProductImage[Name] & {})["client"] : never
ProductOption
Class
ProductOptionPublic members
productId:stringname:stringposition:numberproduct:BelongsTo<typeof Product>values:HasMany<typeof ProductOptionValue>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ProductOptionuseConnection:(connection: string) => ProductOption$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ProductOption>>, allowExtraProperties?: boolean) => ProductOptionmerge:(value: Partial<ModelAttributes<ProductOption>>, allowExtraProperties?: boolean) => ProductOptionisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "position" | "productId" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "position" | "productId" | undefined)[] | undefined) => booleanenableForceUpdate:() => ProductOptionsave:() => Promise<ProductOption>saveQuietly:() => Promise<ProductOption>lockForUpdate:<T>(callback: (user: ProductOption) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ProductOption>load:LucidRowPreload<ProductOption>loadOnce:LucidRowPreloadOnce<ProductOption>preload:LucidRowPreload<ProductOption>loadAggregate:<Self extends ProductOption, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ProductOption, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<ProductOption>>(relation: Name) => NonNullable<ProductOption[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ProductOption[Name] & {})["client"] : never
ProductOptionValue
Class
ProductOptionValuePublic members
optionId:stringvalue:stringposition:numberoption:BelongsTo<typeof ProductOption>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ProductOptionValueuseConnection:(connection: string) => ProductOptionValue$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ProductOptionValue>>, allowExtraProperties?: boolean) => ProductOptionValuemerge:(value: Partial<ModelAttributes<ProductOptionValue>>, allowExtraProperties?: boolean) => ProductOptionValueisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "position" | "optionId" | "value" | ("createdAt" | "updatedAt" | "id" | "metadata" | "position" | "optionId" | "value" | undefined)[] | undefined) => booleanenableForceUpdate:() => ProductOptionValuesave:() => Promise<ProductOptionValue>saveQuietly:() => Promise<ProductOptionValue>lockForUpdate:<T>(callback: (user: ProductOptionValue) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ProductOptionValue>load:LucidRowPreload<ProductOptionValue>loadOnce:LucidRowPreloadOnce<ProductOptionValue>preload:LucidRowPreload<ProductOptionValue>loadAggregate:<Self extends ProductOptionValue, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ProductOptionValue, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<ProductOptionValue>>(relation: Name) => NonNullable<ProductOptionValue[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ProductOptionValue[Name] & {})["client"] : never
ProductStatus
Type
ProductStatusProductVariant
Class
ProductVariantPublic members
productId:stringtaxCategoryId:string | nullsku:string | nullname:string | nullposition:numberisDefault:booleanweightGrams:number | nulllengthMm:number | nullwidthMm:number | nullheightMm:number | nullimages:ManyToMany<typeof ProductImage>product:BelongsTo<typeof Product>optionValues:ManyToMany<typeof ProductOptionValue>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ProductVariantuseConnection:(connection: string) => ProductVariant$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ProductVariant>>, allowExtraProperties?: boolean) => ProductVariantmerge:(value: Partial<ModelAttributes<ProductVariant>>, allowExtraProperties?: boolean) => ProductVariantisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "isDefault" | "position" | "productId" | "taxCategoryId" | "sku" | "weightGrams" | "lengthMm" | "widthMm" | "heightMm" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "isDefault" | "position" | "productId" | "taxCategoryId" | "sku" | "weightGrams" | "lengthMm" | "widthMm" | "heightMm" | undefined)[] | undefined) => booleanenableForceUpdate:() => ProductVariantsave:() => Promise<ProductVariant>saveQuietly:() => Promise<ProductVariant>lockForUpdate:<T>(callback: (user: ProductVariant) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ProductVariant>load:LucidRowPreload<ProductVariant>loadOnce:LucidRowPreloadOnce<ProductVariant>preload:LucidRowPreload<ProductVariant>loadAggregate:<Self extends ProductVariant, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ProductVariant, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<ProductVariant>>(relation: Name) => NonNullable<ProductVariant[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ProductVariant[Name] & {})["client"] : never
Refund
Class
RefundPublic members
paymentId:stringstate:RefundStatereason:string | nullamount:MoneyamountAmount:bigintamountCurrency:stringproviderRefundId:string | nullrawPayload:unknownpayment:BelongsTo<typeof Payment>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => RefunduseConnection:(connection: string) => Refund$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Refund>>, allowExtraProperties?: boolean) => Refundmerge:(value: Partial<ModelAttributes<Refund>>, allowExtraProperties?: boolean) => RefundisDirty:(fields?: "createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "amountAmount" | "amountCurrency" | "state" | "rawPayload" | "paymentId" | "reason" | "providerRefundId" | ("createdAt" | "updatedAt" | "amount" | "id" | "metadata" | "amountAmount" | "amountCurrency" | "state" | "rawPayload" | "paymentId" | "reason" | "providerRefundId" | undefined)[] | undefined) => booleanenableForceUpdate:() => Refundsave:() => Promise<Refund>saveQuietly:() => Promise<Refund>lockForUpdate:<T>(callback: (user: Refund) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Refund>load:LucidRowPreload<Refund>loadOnce:LucidRowPreloadOnce<Refund>preload:LucidRowPreload<Refund>loadAggregate:<Self extends Refund, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Refund, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Refund>>(relation: Name) => NonNullable<Refund[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Refund[Name] & {})["client"] : never
RefundState
Type
RefundStateReservation
Class
ReservationPublic members
levelId:stringcartId:stringcartLineId:stringquantity:numberreturnedQuantity:numberexpiresAt:DateTime<boolean>state:ReservationStatelevel:BelongsTo<typeof InventoryLevel>cart:BelongsTo<typeof Cart>cartLine:BelongsTo<typeof CartLine>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ReservationuseConnection:(connection: string) => Reservation$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Reservation>>, allowExtraProperties?: boolean) => Reservationmerge:(value: Partial<ModelAttributes<Reservation>>, allowExtraProperties?: boolean) => ReservationisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "cartId" | "quantity" | "cartLineId" | "expiresAt" | "levelId" | "returnedQuantity" | "state" | ("createdAt" | "updatedAt" | "id" | "metadata" | "cartId" | "quantity" | "cartLineId" | "expiresAt" | "levelId" | "returnedQuantity" | "state" | undefined)[] | undefined) => booleanenableForceUpdate:() => Reservationsave:() => Promise<Reservation>saveQuietly:() => Promise<Reservation>lockForUpdate:<T>(callback: (user: Reservation) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Reservation>load:LucidRowPreload<Reservation>loadOnce:LucidRowPreloadOnce<Reservation>preload:LucidRowPreload<Reservation>loadAggregate:<Self extends Reservation, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Reservation, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Reservation>>(relation: Name) => NonNullable<Reservation[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Reservation[Name] & {})["client"] : never
ReservationState
Type
ReservationStateShipment
Class
ShipmentPublic members
orderId:stringstate:ShipmentStatetrackingNumber:string | nullcarrier:string | nullshippedAt:DateTime<boolean> | nulldeliveredAt:DateTime<boolean> | nullprovider:string | nullproviderShipmentId:string | nullwaybill:string | nullhandedOffAt:DateTime<boolean> | nulldeliveryFailedAt:DateTime<boolean> | nullreturnedAt:DateTime<boolean> | nullinventoryRestockedAt:DateTime<boolean> | nullorder:BelongsTo<typeof Order>lines:HasMany<typeof ShipmentLine>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ShipmentuseConnection:(connection: string) => Shipment$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<Shipment>>, allowExtraProperties?: boolean) => Shipmentmerge:(value: Partial<ModelAttributes<Shipment>>, allowExtraProperties?: boolean) => ShipmentisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "state" | "orderId" | "trackingNumber" | "carrier" | "shippedAt" | "deliveredAt" | "provider" | "providerShipmentId" | "waybill" | "handedOffAt" | "deliveryFailedAt" | "returnedAt" | "inventoryRestockedAt" | ("createdAt" | "updatedAt" | "id" | "metadata" | "state" | "orderId" | "trackingNumber" | "carrier" | "shippedAt" | "deliveredAt" | "provider" | "providerShipmentId" | "waybill" | "handedOffAt" | "deliveryFailedAt" | "returnedAt" | "inventoryRestockedAt" | undefined)[] | undefined) => booleanenableForceUpdate:() => Shipmentsave:() => Promise<Shipment>saveQuietly:() => Promise<Shipment>lockForUpdate:<T>(callback: (user: Shipment) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<Shipment>load:LucidRowPreload<Shipment>loadOnce:LucidRowPreloadOnce<Shipment>preload:LucidRowPreload<Shipment>loadAggregate:<Self extends Shipment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends Shipment, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<Shipment>>(relation: Name) => NonNullable<Shipment[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Shipment[Name] & {})["client"] : never
ShipmentLine
Class
ShipmentLinePublic members
shipmentId:stringorderLineId:stringquantity:numbershipment:BelongsTo<typeof Shipment>orderLine:BelongsTo<typeof OrderLine>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ShipmentLineuseConnection:(connection: string) => ShipmentLine$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ShipmentLine>>, allowExtraProperties?: boolean) => ShipmentLinemerge:(value: Partial<ModelAttributes<ShipmentLine>>, allowExtraProperties?: boolean) => ShipmentLineisDirty:(fields?: "createdAt" | "updatedAt" | "id" | "metadata" | "quantity" | "orderLineId" | "shipmentId" | ("createdAt" | "updatedAt" | "id" | "metadata" | "quantity" | "orderLineId" | "shipmentId" | undefined)[] | undefined) => booleanenableForceUpdate:() => ShipmentLinesave:() => Promise<ShipmentLine>saveQuietly:() => Promise<ShipmentLine>lockForUpdate:<T>(callback: (user: ShipmentLine) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ShipmentLine>load:LucidRowPreload<ShipmentLine>loadOnce:LucidRowPreloadOnce<ShipmentLine>preload:LucidRowPreload<ShipmentLine>loadAggregate:<Self extends ShipmentLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ShipmentLine, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<ShipmentLine>>(relation: Name) => NonNullable<ShipmentLine[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ShipmentLine[Name] & {})["client"] : never
ShipmentState
Type
ShipmentStateShippingMethod
Class
ShippingMethodPublic members
code:stringname:stringcalculator:stringcalculatorConfig:Record<string, unknown>channelId:string | nullposition:numberenabled:booleanid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => ShippingMethoduseConnection:(connection: string) => ShippingMethod$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<ShippingMethod>>, allowExtraProperties?: boolean) => ShippingMethodmerge:(value: Partial<ModelAttributes<ShippingMethod>>, allowExtraProperties?: boolean) => ShippingMethodisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "channelId" | "code" | "calculator" | "calculatorConfig" | "position" | "enabled" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "channelId" | "code" | "calculator" | "calculatorConfig" | "position" | "enabled" | undefined)[] | undefined) => booleanenableForceUpdate:() => ShippingMethodsave:() => Promise<ShippingMethod>saveQuietly:() => Promise<ShippingMethod>lockForUpdate:<T>(callback: (user: ShippingMethod) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<ShippingMethod>load:LucidRowPreload<ShippingMethod>loadOnce:LucidRowPreloadOnce<ShippingMethod>preload:LucidRowPreload<ShippingMethod>loadAggregate:<Self extends ShippingMethod, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends ShippingMethod, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<ShippingMethod[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & ShippingMethod[Name] & {})["client"] : never
StockLocation
Class
StockLocationPublic members
code:stringname:stringaddress:AddressInput | nullisDefault:booleanlevels:HasMany<typeof InventoryLevel>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => StockLocationuseConnection:(connection: string) => StockLocation$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<StockLocation>>, allowExtraProperties?: boolean) => StockLocationmerge:(value: Partial<ModelAttributes<StockLocation>>, allowExtraProperties?: boolean) => StockLocationisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | "isDefault" | "address" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | "isDefault" | "address" | undefined)[] | undefined) => booleanenableForceUpdate:() => StockLocationsave:() => Promise<StockLocation>saveQuietly:() => Promise<StockLocation>lockForUpdate:<T>(callback: (user: StockLocation) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<StockLocation>load:LucidRowPreload<StockLocation>loadOnce:LucidRowPreloadOnce<StockLocation>preload:LucidRowPreload<StockLocation>loadAggregate:<Self extends StockLocation, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends StockLocation, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<StockLocation>>(relation: Name) => NonNullable<StockLocation[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & StockLocation[Name] & {})["client"] : never
TaxCategory
Class
TaxCategoryPublic members
code:stringname:stringid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => TaxCategoryuseConnection:(connection: string) => TaxCategory$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<TaxCategory>>, allowExtraProperties?: boolean) => TaxCategorymerge:(value: Partial<ModelAttributes<TaxCategory>>, allowExtraProperties?: boolean) => TaxCategoryisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "code" | undefined)[] | undefined) => booleanenableForceUpdate:() => TaxCategorysave:() => Promise<TaxCategory>saveQuietly:() => Promise<TaxCategory>lockForUpdate:<T>(callback: (user: TaxCategory) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<TaxCategory>load:LucidRowPreload<TaxCategory>loadOnce:LucidRowPreloadOnce<TaxCategory>preload:LucidRowPreload<TaxCategory>loadAggregate:<Self extends TaxCategory, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends TaxCategory, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<TaxCategory[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & TaxCategory[Name] & {})["client"] : never
TaxRate
Class
TaxRatePublic members
zoneId:stringtaxCategoryId:string | nullname:stringrateBp:numberid:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => TaxRateuseConnection:(connection: string) => TaxRate$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<TaxRate>>, allowExtraProperties?: boolean) => TaxRatemerge:(value: Partial<ModelAttributes<TaxRate>>, allowExtraProperties?: boolean) => TaxRateisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "taxCategoryId" | "zoneId" | "rateBp" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "taxCategoryId" | "zoneId" | "rateBp" | undefined)[] | undefined) => booleanenableForceUpdate:() => TaxRatesave:() => Promise<TaxRate>saveQuietly:() => Promise<TaxRate>lockForUpdate:<T>(callback: (user: TaxRate) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<TaxRate>load:LucidRowPreload<TaxRate>loadOnce:LucidRowPreloadOnce<TaxRate>preload:LucidRowPreload<TaxRate>loadAggregate:<Self extends TaxRate, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends TaxRate, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<TaxRate[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & TaxRate[Name] & {})["client"] : never
TaxZone
Class
TaxZonePublic members
name:stringcountryCodes:string[]regionPattern:string | nullpostalPattern:string | nullrates:HasMany<typeof TaxRate>id:stringmetadata:Record<string, unknown> | nullcreatedAt:DateTime<boolean>updatedAt:DateTime<boolean>$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => TaxZoneuseConnection:(connection: string) => TaxZone$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<TaxZone>>, allowExtraProperties?: boolean) => TaxZonemerge:(value: Partial<ModelAttributes<TaxZone>>, allowExtraProperties?: boolean) => TaxZoneisDirty:(fields?: "createdAt" | "updatedAt" | "name" | "id" | "metadata" | "countryCodes" | "regionPattern" | "postalPattern" | ("createdAt" | "updatedAt" | "name" | "id" | "metadata" | "countryCodes" | "regionPattern" | "postalPattern" | undefined)[] | undefined) => booleanenableForceUpdate:() => TaxZonesave:() => Promise<TaxZone>saveQuietly:() => Promise<TaxZone>lockForUpdate:<T>(callback: (user: TaxZone) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<TaxZone>load:LucidRowPreload<TaxZone>loadOnce:LucidRowPreloadOnce<TaxZone>preload:LucidRowPreload<TaxZone>loadAggregate:<Self extends TaxZone, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends TaxZone, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends ExtractModelRelations<TaxZone>>(relation: Name) => NonNullable<TaxZone[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & TaxZone[Name] & {})["client"] : never
WebhookEvent
Class
WebhookEventPublic members
id:stringprovider:stringproviderEventId:stringtype:stringpayload:unknownstatus:WebhookEventStatuserror:string | nullreceivedAt:DateTime<boolean>processedAt:DateTime<boolean> | nullproviderEventTime:DateTime<boolean> | nullproviderStatus:string | null$attributes:ModelObject$extras:ModelObject$original:ModelObject$preloaded:{ [relation: string]: LucidRow | LucidRow[]; }$sideloaded:ModelObject$primaryKeyValue:string | number | undefined$isPersisted:boolean$isNew:boolean$isLocal:boolean$dirty:ModelObject$isDirty:boolean$isDeleted:boolean$options:ModelOptions | undefined$trx:TransactionClientContract | undefined$setOptionsAndTrx:(options?: ModelAdapterOptions) => voiduseTransaction:(trx: TransactionClientContract) => WebhookEventuseConnection:(connection: string) => WebhookEvent$getQueryFor:{ (action: "insert", client: QueryClientContract): ReturnType<QueryClientContract["insertQuery"]>; (action: "update" | "delete" | "refresh", client: QueryClientContract): ModelQueryBuilderContract<LucidModel>; }$setAttribute:(key: string, value: any) => void$getAttribute:(key: string) => any$getAttributeFromCache:(key: string, callback: CacheNode["getter"]) => any$hasRelated:(key: string) => boolean$setRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$pushRelated:(key: string, result: OneOrMany<LucidRow> | null) => void$getRelated:(key: string, defaultValue?: any) => OneOrMany<LucidRow> | undefined | null$consumeAdapterResult:(adapterResult: ModelObject, sideloadAttributes?: ModelObject) => void$hydrateOriginals:() => voidfill:(value: Partial<ModelAttributes<WebhookEvent>>, allowExtraProperties?: boolean) => WebhookEventmerge:(value: Partial<ModelAttributes<WebhookEvent>>, allowExtraProperties?: boolean) => WebhookEventisDirty:(fields?: "id" | "status" | "payload" | "provider" | "type" | "providerEventTime" | "providerEventId" | "error" | "receivedAt" | "processedAt" | "providerStatus" | ("id" | "status" | "payload" | "provider" | "type" | "providerEventTime" | "providerEventId" | "error" | "receivedAt" | "processedAt" | "providerStatus" | undefined)[] | undefined) => booleanenableForceUpdate:() => WebhookEventsave:() => Promise<WebhookEvent>saveQuietly:() => Promise<WebhookEvent>lockForUpdate:<T>(callback: (user: WebhookEvent) => T | Promise<T>) => Promise<T>delete:() => Promise<void>deleteQuietly:() => Promise<void>refresh:() => Promise<WebhookEvent>load:LucidRowPreload<WebhookEvent>loadOnce:LucidRowPreloadOnce<WebhookEvent>preload:LucidRowPreload<WebhookEvent>loadAggregate:<Self extends WebhookEvent, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => LazyLoadAggregatesContract<Self>loadCount:<Self extends WebhookEvent, Name extends ExtractModelRelations<Self>, RelatedBuilder = NonNullable<Self[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & Self[Name] & {})["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => LazyLoadAggregatesContract<Self>serializeAttributes:(fields?: CherryPickFields, raw?: boolean) => ModelObjectserializeComputed:(fields?: CherryPickFields) => ModelObjectserializeRelations:{ (fields: undefined, raw: true): { [key: string]: LucidRow | LucidRow[]; }; (cherryPick: CherryPick["relations"] | undefined, raw: false | undefined): ModelObject; (cherryPick?: CherryPick["relations"], raw?: boolean): ModelObject; }serialize:(cherryPick?: CherryPick) => ModelObjecttoObject:() => ModelObjecttoJSON:() => ModelObjecttoAttributes:() => Record<string, any>related:<Name extends undefined>(relation: Name) => NonNullable<WebhookEvent[Name]> extends ModelRelations<LucidModel, LucidModel> ? (ModelRelations<LucidModel, LucidModel> & WebhookEvent[Name] & {})["client"] : never
WebhookEventStatus
Type
WebhookEventStatus@adocommercekit/core/events
CartAbandoned
Class
CartAbandonedPublic members
cartId:stringchannel:string
CartCreated
Class
CartCreatedPublic members
cartId:stringchannel:string
CartLineAdded
Class
CartLineAddedPublic members
cartId:stringlineId:stringvariantId:stringquantity:number
CartLineQuantityChanged
Class
CartLineQuantityChangedPublic members
cartId:stringlineId:stringvariantId:stringquantity:number
CartLineRemoved
Class
CartLineRemovedPublic members
cartId:stringlineId:stringvariantId:string
CartRecalculated
Class
CartRecalculatedPublic members
cartId:stringtotal:Money
ChannelCreated
Class
ChannelCreatedPublic members
channelId:stringcode:string
CheckoutStarted
Class
CheckoutStartedPublic members
cartId:string
CustomerAnonymized
Class
CustomerAnonymizedPublic members
customerId:string
CustomerRegistered
Class
CustomerRegisteredPublic members
customerId:stringemail:string | null
EventBufferLogger
Interface
EventBufferLoggerPublic members
error:(message: string, context: Readonly<Record<string, unknown>>) => void
EventEmitterPort
Interface
EventEmitterPortPublic members
emit:(event: string, payload: unknown) => Promise<unknown> | unknown
OrderCanceled
Class
OrderCanceledPublic members
orderId:stringcontext:Readonly<Record<string, unknown>>
OrderCompleted
Class
OrderCompletedPublic members
orderId:stringcontext:Readonly<Record<string, unknown>>
OrderConfirmed
Class
OrderConfirmedPublic members
orderId:stringcontext:Readonly<Record<string, unknown>>
OrderFulfilled
Class
OrderFulfilledPublic members
orderId:stringcontext:Readonly<Record<string, unknown>>
OrderPlaced
Class
OrderPlacedPublic members
orderId:stringnumber:stringtotal:MoneycustomerId:string | undefined
PaymentAuthorized
Class
PaymentAuthorizedPublic members
intentId:stringorderId:string | nullamount:Money
PaymentCaptured
Class
PaymentCapturedPublic members
intentId:stringorderId:string | nullamount:Money
PaymentExpired
Class
PaymentExpiredPublic members
intentId:stringorderId:stringexpiredAt:string
PaymentFailed
Class
PaymentFailedPublic members
intentId:stringorderId:string | nullamount:Money
PaymentReviewRequired
Class
PaymentReviewRequiredPublic members
intentId:stringorderId:stringreason:string
ProductArchived
Class
ProductArchivedPublic members
productId:string
ProductCreated
Class
ProductCreatedPublic members
productId:string
ProductImageCreated
Class
ProductImageCreatedPublic members
productId:stringimageId:string
ProductImageRemoved
Class
ProductImageRemovedPublic members
productId:stringimageId:string
ProductImagesReordered
Class
ProductImagesReorderedPublic members
productId:stringimageIds:string[]
ProductImageUpdated
Class
ProductImageUpdatedPublic members
productId:stringimageId:string
ProductUpdated
Class
ProductUpdatedPublic members
productId:string
RefundFailed
Class
RefundFailedPublic members
refundId:stringpaymentId:stringamount:Money
RefundSucceeded
Class
RefundSucceededPublic members
refundId:stringpaymentId:stringamount:Money
ShipmentDelivered
Class
ShipmentDeliveredPublic members
shipmentId:stringorderId:stringtracking:string | null
ShipmentDeliveryFailed
Class
ShipmentDeliveryFailedPublic members
shipmentId:stringorderId:string
ShipmentReturned
Class
ShipmentReturnedPublic members
shipmentId:stringorderId:string
ShipmentShipped
Class
ShipmentShippedPublic members
shipmentId:stringorderId:stringtracking:string | null
StockAdjusted
Class
StockAdjustedPublic members
itemId:stringlocationId:stringdelta:numberreason:string
StockLevelLow
Class
StockLevelLowPublic members
itemId:stringavailable:numberthreshold:number
TransactionalEventEmitter
Class
TransactionalEventEmitterPublic members
#buffers:WeakMap<TransactionHookClient, BufferState>emitter:EventEmitterPortlogger:EventBufferLoggeroutbox:TransactionalOutboxWriter | undefinedbuffer:(trx: TransactionHookClient, name: string, payload: unknown) => voidlinkNestedTransaction:(child: TransactionHookClient, parent: TransactionHookClient) => voidemit:(name: string, payload: unknown, trx?: TransactionHookClient) => Promise<void>nested:<R>(parent: TransactionHookClient, callback: (trx: TransactionHookClient) => Promise<R>) => Promise<R>#state:(trx: TransactionHookClient) => BufferState#flush:(events: BufferedEvent[]) => Promise<void>
TransactionalOutboxWriter
Interface
TransactionalOutboxWriterPublic members
write:(name: string, payload: unknown, trx: TransactionHookClient) => Promise<void>
TransactionHookClient
Interface
TransactionHookClientPublic members
after:(event: "commit" | "rollback", handler: () => void | Promise<void>) => TransactionHookClienttransaction:(<R>(callback: (trx: TransactionHookClient) => Promise<R>) => Promise<R>) | undefined
@adocommercekit/core/drivers
adonisDriveProductImages
Function
Store product images on any public disk configured through @adonisjs/drive.
(disk?: string) => DriverFactory<ProductImageStorage>AdonisQueuePort
Interface
AdonisQueuePortPublic members
dispatch:(job: string, payload: JobPayload) => Promise<unknown>schedule:(cron: string, job: string, payload?: JobPayload) => Promise<unknown>shutdown:(() => Promise<unknown>) | undefined
allEnabledShippingEligibility
Function
() => (_app: ApplicationService) => ShippingEligibilityAllEnabledShippingEligibility
Class
AllEnabledShippingEligibilityPublic members
eligibleMethods:(_cart: CartSnapshot, methods: ShippingMethodConfig[]) => Promise<string[]>
cashOnDelivery
Function
(options?: { expiresAfterDays?: number; }) => DriverFactory<PaymentProvider>CashOnDeliveryPaymentProvider
Class
CashOnDeliveryPaymentProviderPublic members
code:"cod"expiresAfterDays:numbercapabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; flow: "deferred"; cod: boolean; }createIntent:() => Promise<{ providerIntentId: string; state: "pending"; expiresAt: DateTime<true>; }>confirm:() => Promise<{ state: "pending"; }>capture:() => Promise<{ providerChargeId: string; }>refund:() => Promise<{ providerRefundId: string; }>void:() => Promise<void>retrieveIntent:() => Promise<{ state: "pending"; }>verifyWebhook:() => Promise<boolean>normalizeWebhook:() => Promise<{ type: "unhandled"; providerEventId: `${string}-${string}-${string}-${string}-${string}`; }>
DatabasePriceResolver
Class
DatabasePriceResolverPublic members
db:Databaseconfig:Pick<ResolvedCommerceConfig, "tablePrefix">resolve:(input: { variantId: string; quantity: number; ctx: ChannelContext; trx?: TransactionClientContract; }) => Promise<{ unitPrice: Money; priceListId: string | null; }>
defaultPriceResolver
Function
() => (app: ApplicationService) => Promise<PriceResolver>flatRateShipping
Function
() => (_app: ApplicationService) => ShippingCalculatorFlatRateShipping
Class
FlatRateShippingPublic members
code:"flat"calculate:(input: { cart: CartSnapshot; method: ShippingMethodConfig; }) => Promise<Money>
freeShippingOver
Function
(options?: { threshold?: Money; }) => (_app: ApplicationService) => ShippingCalculatorFreeShippingOver
Class
FreeShippingOverPublic members
code:"free_over"threshold:Money | undefinedcalculate:(input: { cart: CartSnapshot; method: ShippingMethodConfig; }) => Promise<Money>
headerCartToken
Function
(options?: { header?: string; }) => (_app: ApplicationService) => CartTokenStrategyHeaderCartTokenStrategy
Class
HeaderCartTokenStrategyPublic members
header:stringread:(ctx: HttpContext) => string | nullissue:(_ctx: HttpContext, _token: string) => void
InlineJobDispatcher
Class
InlineJobDispatcherPublic members
#handlers:Map<string, InlineJobHandler>#timers:Set<NodeJS.Timeout>register:(job: string, handler: InlineJobHandler) => InlineJobDispatcherdispatch:(job: string, payload: JobPayload) => Promise<void>schedule:(cron: string, job: string, payload?: JobPayload) => Promise<void>shutdown:() => Promise<void>
InlineJobHandler
Type
InlineJobHandlerJobDispatcher
Interface
JobDispatcherPublic members
dispatch:(job: string, payload: JobPayload) => Promise<void>schedule:(cron: string, job: string, payload?: JobPayload) => Promise<void>shutdown:() => Promise<void>
JobDispatcherService
Class
JobDispatcherServicePublic members
#adapter:JobDispatcher | undefined#handlers:Map<string, InlineJobHandler>use:(adapter: JobDispatcher) => voidregister:(job: string, handler: InlineJobHandler) => () => voidjobNames:string[]handle:(job: string, payload?: JobPayload) => Promise<void>adapter:JobDispatcherdispatch:(job: string, payload: JobPayload) => Promise<void>schedule:(cron: string, job: string, payload?: JobPayload) => Promise<void>shutdown:() => Promise<void>
JobPayload
Type
Readonly<Record<string, unknown>>manualPayment
Function
() => DriverFactory<PaymentProvider>ManualPaymentProvider
Class
ManualPaymentProviderPublic members
code:"manual"capabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; flow: "authorize_capture"; }createIntent:() => Promise<{ providerIntentId: string; state: "created"; }>confirm:() => Promise<{ state: "authorized"; }>capture:() => Promise<{ providerChargeId: string; }>refund:() => Promise<{ providerRefundId: string; }>void:() => Promise<void>verifyWebhook:(raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:(raw: RawWebhookRequest) => Promise<NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }>
perItemShipping
Function
() => (_app: ApplicationService) => ShippingCalculatorPerItemShipping
Class
PerItemShippingPublic members
code:"per_item"calculate:(input: { cart: CartSnapshot; method: ShippingMethodConfig; }) => Promise<Money>
QueueJobDispatcher
Class
The only adapter that is coupled to the experimental queue package API.
QueueJobDispatcherPublic members
queue:AdonisQueuePortdispatch:(job: string, payload: JobPayload) => Promise<void>schedule:(cron: string, job: string, payload?: JobPayload) => Promise<void>shutdown:() => Promise<void>
sessionCartToken
Function
(options?: { key?: string; }) => (_app: ApplicationService) => CartTokenStrategySessionCartTokenStrategy
Class
SessionCartTokenStrategyPublic members
key:stringread:(ctx: HttpContext) => string | nullissue:(ctx: HttpContext, token: string) => void
singleLocationAllocation
Function
() => DriverFactory<StockAllocationStrategy>SingleLocationAllocation
Class
SingleLocationAllocationPublic members
allocate:(input: Parameters<StockAllocationStrategy["allocate"]>[0]) => Promise<{ levelId: string; quantity: number; }[]>
zoneTaxCalculator
Function
() => (app: ApplicationService) => Promise<TaxCalculator>ZoneTaxCalculator
Class
ZoneTaxCalculatorPublic members
db:Databaseconfig:Pick<ResolvedCommerceConfig, "tablePrefix">calculate:(input: { lines: TaxableLine[]; address: AddressInput | null; inclusive: boolean; trx?: TransactionClientContract; }) => Promise<TaxLineResult[]>
@adocommercekit/core/transformers
AddressTransformer
Class
AddressTransformerPublic members
toObject:() => { id: string; firstName: string; lastName: string; company: string | null; line1: string; line2: string | null; city: string; region: string | null; postalCode: string | null; countryCode: string; phone: string | null; metadata: Record<string, unknown> | undefined; }forStorefront:() => { id: string; firstName: string; lastName: string; company: string | null; line1: string; line2: string | null; city: string; region: string | null; postalCode: string | null; countryCode: string; phone: string | null; metadata: Record<string, unknown> | undefined; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; customerId: string | null; metadata: Record<string, unknown> | null; isDefaultShipping: boolean; isDefaultBilling: boolean; id: string; firstName: string; lastName: string; company: string | null; line1: string; line2: string | null; city: string; region: string | null; postalCode: string | null; countryCode: string; phone: string | null; }resource:AddresswhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
adminTimestamps
Function
Every forAdmin variant carries record timestamps: admin tables sort and
filter on them, and the audit trail reconciles against them.
(resource: { createdAt: DateTime | null; updatedAt: DateTime | null; }) => AdminTimestampsAdminTimestamps
Interface
AdminTimestampsPublic members
createdAt:string | nullupdatedAt:string | null
CartAdjustmentTransformer
Class
CartAdjustmentTransformerPublic members
toObject:() => { id: string; sourceType: string; sourceId: string | null; label: string; amount: SerializedMoney; included: boolean; eligible: boolean; position: number; metadata: Record<string, unknown> | undefined; }forStorefront:() => { id: string; sourceType: string; sourceId: string | null; label: string; amount: SerializedMoney; included: boolean; eligible: boolean; position: number; metadata: Record<string, unknown> | undefined; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; cartId: string; cartLineId: string | null; amount: SerializedAdminMoney; metadata: Record<string, unknown> | null; id: string; sourceType: string; sourceId: string | null; label: string; included: boolean; eligible: boolean; position: number; }resource:CartAdjustmentwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
CartLineTransformer
Class
CartLineTransformerPublic members
toObject:() => { id: string; variantId: string; quantity: number; unitPrice: SerializedMoney; }forStorefront:() => { total: SerializedMoney; variant: Item<ProductVariantTransformer, 1, "forStorefront"> | undefined; adjustments: Collection<CartAdjustmentTransformer, 1, "forStorefront"> | undefined; id: string; variantId: string; quantity: number; unitPrice: SerializedMoney; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; cartId: string; unitPrice: SerializedAdminMoney; total: SerializedAdminMoney; variant: Item<ProductVariantTransformer, 1, "forAdmin"> | undefined; adjustments: Collection<CartAdjustmentTransformer, 1, "forAdmin"> | undefined; metadata: Record<string, unknown> | null; id: string; variantId: string; quantity: number; }resource:CartLinewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
CartTransformer
Class
CartTransformerPublic members
toObject:() => { id: string; token: string; status: CartStatus; currency: string; updatedAt: string | null; }forStorefront:() => { email: string | null; shippingAddress: AddressInput | null; billingAddress: AddressInput | null; shippingMethodId: string | null; lines: Collection<CartLineTransformer, 1, "forStorefront"> | undefined; adjustments: Collection<CartAdjustmentTransformer, 1, "forStorefront"> | undefined; totals: { subtotal: SerializedMoney; shipping: SerializedMoney; tax: SerializedMoney; discount: SerializedMoney; grand: SerializedMoney; }; id: string; token: string; status: CartStatus; currency: string; updatedAt: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; id: string; status: CartStatus; currency: string; channelId: string; customerId: string | null; completedOrderId: string | null; email: string | null; shippingAddress: AddressInput | null; billingAddress: AddressInput | null; shippingMethodId: string | null; lastActivityAt: string | null; lines: Collection<CartLineTransformer, 1, "forAdmin"> | undefined; adjustments: Collection<CartAdjustmentTransformer, 1, "forAdmin"> | undefined; totals: { subtotal: SerializedAdminMoney; shipping: SerializedAdminMoney; tax: SerializedAdminMoney; discount: SerializedAdminMoney; grand: SerializedAdminMoney; }; metadata: Record<string, unknown> | null; }resource:CartwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
CategoryTransformer
Class
CategoryTransformerPublic members
toObject:() => { id: string; name: string; slug: string; path: string; }forStorefront:() => { id: string; name: string; slug: string; path: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; parentId: string | null; position: number; metadata: Record<string, unknown> | null; id: string; name: string; slug: string; path: string; }resource:CategorywhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ChannelTransformer
Class
ChannelTransformerPublic members
toObject:() => { id: string; code: string; name: string; defaultCurrency: string; }forStorefront:() => { supportedCurrencies: string[]; id: string; code: string; name: string; defaultCurrency: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; supportedCurrencies: string[]; isDefault: boolean; metadata: Record<string, unknown> | null; id: string; code: string; name: string; defaultCurrency: string; }resource:ChannelwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
CustomerTransformer
Class
CustomerTransformerPublic members
toObject:() => { id: string; email: string | null; firstName: string | null; lastName: string | null; }forStorefront:() => { addresses: Collection<AddressTransformer, 1, "forStorefront"> | undefined; id: string; email: string | null; firstName: string | null; lastName: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; phone: string | null; userId: string | null; groupId: string | null; addresses: Collection<AddressTransformer, 1, "forAdmin"> | undefined; metadata: Record<string, unknown> | null; id: string; email: string | null; firstName: string | null; lastName: string | null; }resource:CustomerwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
InventoryItemTransformer
Class
InventoryItemTransformerPublic members
toObject:() => { id: string; variantId: string; tracked: boolean; backorderable: boolean; levels: Collection<InventoryLevelTransformer, 1, "toObject"> | undefined; }forStorefront:() => { variantId: string; available: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; id: string; variantId: string; tracked: boolean; backorderable: boolean; levels: Collection<InventoryLevelTransformer, 1, "forAdmin"> | undefined; metadata: Record<string, unknown> | null; }resource:InventoryItemwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
InventoryLevelTransformer
Class
InventoryLevelTransformerPublic members
toObject:() => { id: string; locationId: string; onHand: number; reserved: number; available: number; }forStorefront:() => { locationId: string; available: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; itemId: string; reorderPoint: number | null; metadata: Record<string, unknown> | null; id: string; locationId: string; onHand: number; reserved: number; available: number; }resource:InventoryLevelwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
OrderAdjustmentTransformer
Class
OrderAdjustmentTransformerPublic members
toObject:() => { id: string; sourceType: string; sourceId: string | null; label: string; amount: SerializedMoney; included: boolean; eligible: boolean; position: number; metadata: Record<string, unknown> | undefined; }forStorefront:() => { id: string; sourceType: string; sourceId: string | null; label: string; amount: SerializedMoney; included: boolean; eligible: boolean; position: number; metadata: Record<string, unknown> | undefined; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; orderId: string; orderLineId: string | null; amount: SerializedAdminMoney; metadata: Record<string, unknown> | null; id: string; sourceType: string; sourceId: string | null; label: string; included: boolean; eligible: boolean; position: number; }resource:OrderAdjustmentwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
OrderLineTransformer
Class
OrderLineTransformerPublic members
toObject:() => { id: string; variantId: string | null; productName: string; variantName: string | null; sku: string | null; quantity: number; unitPrice: SerializedMoney; total: SerializedMoney; fulfilledQuantity: number; refundedQuantity: number; }forStorefront:() => { id: string; variantId: string | null; productName: string; variantName: string | null; sku: string | null; quantity: number; unitPrice: SerializedMoney; total: SerializedMoney; fulfilledQuantity: number; refundedQuantity: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; orderId: string; cartLineId: string | null; unitPrice: SerializedAdminMoney; total: SerializedAdminMoney; metadata: Record<string, unknown> | null; id: string; variantId: string | null; productName: string; variantName: string | null; sku: string | null; quantity: number; fulfilledQuantity: number; refundedQuantity: number; }resource:OrderLinewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
OrderTransformer
Class
OrderTransformerPublic members
toObject:() => { id: string; number: string; state: OrderState; currency: string; placedAt: string | null; }forStorefront:() => { email: string; shippingAddress: AddressInput; billingAddress: AddressInput; lines: Collection<OrderLineTransformer, 1, "forStorefront"> | undefined; adjustments: Collection<OrderAdjustmentTransformer, 1, "forStorefront"> | undefined; payments: Collection<PaymentTransformer, 1, "forStorefront"> | undefined; paymentInstructions: Collection<PaymentInstructionTransformer, 1, "forStorefront"> | undefined; shipments: Collection<ShipmentTransformer, 1, "forStorefront"> | undefined; totals: { subtotal: SerializedMoney; shipping: SerializedMoney; tax: SerializedMoney; discount: SerializedMoney; grand: SerializedMoney; }; accessToken: string | undefined; id: string; number: string; state: OrderState; currency: string; placedAt: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; channelId: string; customerId: string | null; cartId: string | null; email: string; shippingAddress: AddressInput; billingAddress: AddressInput; lines: Collection<OrderLineTransformer, 1, "forAdmin"> | undefined; adjustments: Collection<OrderAdjustmentTransformer, 1, "forAdmin"> | undefined; payments: Collection<PaymentTransformer, 1, "forAdmin"> | undefined; paymentInstructions: Collection<PaymentInstructionTransformer, 1, "forAdmin"> | undefined; shipments: Collection<ShipmentTransformer, 1, "forAdmin"> | undefined; totals: { subtotal: SerializedAdminMoney; shipping: SerializedAdminMoney; tax: SerializedAdminMoney; discount: SerializedAdminMoney; grand: SerializedAdminMoney; }; metadata: Record<string, unknown> | null; id: string; number: string; state: OrderState; currency: string; placedAt: string | null; }resource:OrderwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
PaymentInstructionTransformer
Class
PaymentInstructionTransformerPublic members
toObject:() => PaymentInstructionDataforStorefront:() => PaymentInstructionDataforAdmin:() => { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; metadata: Record<string, unknown> | null; id: string; expiresAt: string | null; displayName?: string; type: "virtual_account"; bank: string; accountNumber: string; } | { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; metadata: Record<string, unknown> | null; id: string; expiresAt: string | null; displayName?: string; type: "qr_code"; payload: string; imageUrl?: string; } | { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; metadata: Record<string, unknown> | null; id: string; expiresAt: string | null; displayName?: string; type: "redirect"; url: string; } | { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; metadata: Record<string, unknown> | null; id: string; expiresAt: string | null; displayName?: string; type: "retail_outlet"; outlet: string; paymentCode: string; } | { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; metadata: Record<string, unknown> | null; id: string; expiresAt: string | null; displayName?: string; type: "bank_transfer"; bankName: string; accountNumber: string; accountName?: string; }resource:PaymentInstructionwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
PaymentIntentTransformer
Class
PaymentIntentTransformerPublic members
toObject:() => { id: string; provider: string; state: PaymentIntentState; amount: SerializedMoney; }forStorefront:() => { id: string; provider: string; state: PaymentIntentState; amount: SerializedMoney; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; orderId: string | null; cartId: string | null; flow: "authorize_capture" | "deferred"; inventoryPolicy: "reserve" | "commit" | null; amount: SerializedAdminMoney; providerIntentId: string | null; lastError: Record<string, unknown> | null; expiresAt: string | null; reviewReason: string | null; providerEventTime: string | null; currentProviderStatus: string | null; metadata: Record<string, unknown> | null; id: string; provider: string; state: PaymentIntentState; }resource:PaymentIntentwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
PaymentTransformer
Class
PaymentTransformerPublic members
toObject:() => { id: string; state: PaymentState; amount: SerializedMoney; }forStorefront:() => { id: string; state: PaymentState; amount: SerializedMoney; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; intentId: string; orderId: string; amount: SerializedAdminMoney; providerChargeId: string | null; refunds: Collection<RefundTransformer, 1, "forAdmin"> | undefined; metadata: Record<string, unknown> | null; id: string; state: PaymentState; }resource:PaymentwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
PriceListTransformer
Class
PriceListTransformerPublic members
toObject:() => { id: string; name: string; priority: number; startsAt: string | null; endsAt: string | null; }forStorefront:() => { id: string; name: string; priority: number; startsAt: string | null; endsAt: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; channelId: string | null; customerGroupId: string | null; isDefault: boolean; id: string; name: string; priority: number; startsAt: string | null; endsAt: string | null; }resource:PriceListwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
PriceTransformer
Class
PriceTransformerPublic members
toObject:() => { id: string; variantId: string; unitPrice: SerializedMoney; minQuantity: number; }forStorefront:() => { id: string; variantId: string; unitPrice: SerializedMoney; minQuantity: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; priceListId: string; unitPrice: SerializedAdminMoney; id: string; variantId: string; minQuantity: number; }resource:PricewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ProductImageTransformer
Class
ProductImageTransformerPublic members
toObject:() => { id: string; url: string; altText: string | null; position: number; mimeType: string; width: number; height: number; }forStorefront:() => { variantIds: string[] | undefined; id: string; url: string; altText: string | null; position: number; mimeType: string; width: number; height: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; productId: string; disk: string | null; key: string | null; sizeBytes: number; variantIds: string[] | undefined; metadata: Record<string, unknown> | null; id: string; url: string; altText: string | null; position: number; mimeType: string; width: number; height: number; }resource:ProductImagewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ProductOptionTransformer
Class
Product options and their values. Storefronts read option values through
variants, so this transformer has no forStorefront variant: it exists for the
admin product form, which edits the option axes themselves.
ProductOptionTransformerPublic members
toObject:() => { id: string; name: string; position: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; productId: string; values: { id: string; value: string; position: number; }[] | undefined; metadata: Record<string, unknown> | null; id: string; name: string; position: number; }resource:ProductOptionwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ProductTransformer
Class
ProductTransformerPublic members
toObject:() => { id: string; name: string; slug: string; status: ProductStatus; }forStorefront:() => { description: string | null; variants: Collection<ProductVariantTransformer, 1, "forStorefront"> | undefined; categories: Collection<CategoryTransformer, 1, "forStorefront"> | undefined; images: Collection<ProductImageTransformer, 1, "forStorefront"> | undefined; id: string; name: string; slug: string; status: ProductStatus; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; description: string | null; options: Collection<ProductOptionTransformer, 1, "forAdmin"> | undefined; variants: Collection<ProductVariantTransformer, 1, "forAdmin"> | undefined; categories: Collection<CategoryTransformer, 1, "forAdmin"> | undefined; images: Collection<ProductImageTransformer, 1, "forAdmin"> | undefined; metadata: Record<string, unknown> | null; id: string; name: string; slug: string; status: ProductStatus; }resource:ProductwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ProductVariantTransformer
Class
ProductVariantTransformerPublic members
toObject:() => { id: string; sku: string | null; name: string | null; isDefault: boolean; weightGrams: number | null; lengthMm: number | null; widthMm: number | null; heightMm: number | null; }forStorefront:() => { optionValues: { id: string; value: string; }[] | undefined; price: SerializedMoney | undefined; availability: { tracked: boolean; backorderable: boolean; quantity: number | null; available: boolean; } | undefined; id: string; sku: string | null; name: string | null; isDefault: boolean; weightGrams: number | null; lengthMm: number | null; widthMm: number | null; heightMm: number | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; productId: string; taxCategoryId: string | null; position: number; optionValues: { id: string; value: string; }[] | undefined; metadata: Record<string, unknown> | null; id: string; sku: string | null; name: string | null; isDefault: boolean; weightGrams: number | null; lengthMm: number | null; widthMm: number | null; heightMm: number | null; }resource:ProductVariantwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
RefundTransformer
Class
RefundTransformerPublic members
toObject:() => { id: string; state: RefundState; amount: SerializedMoney; reason: string | null; }forStorefront:() => { id: string; state: RefundState; amount: SerializedMoney; reason: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; paymentId: string; amount: SerializedAdminMoney; providerRefundId: string | null; metadata: Record<string, unknown> | null; id: string; state: RefundState; reason: string | null; }resource:RefundwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ReservationTransformer
Class
ReservationTransformerPublic members
toObject:() => { id: string; cartId: string; cartLineId: string; quantity: number; state: ReservationState; expiresAt: string | null; }forStorefront:() => { id: string; cartId: string; cartLineId: string; quantity: number; state: ReservationState; expiresAt: string | null; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; levelId: string; returnedQuantity: number; metadata: Record<string, unknown> | null; id: string; cartId: string; cartLineId: string; quantity: number; state: ReservationState; expiresAt: string | null; }resource:ReservationwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
serializeAdminMoney
Function
(money: Money, locale?: string) => SerializedAdminMoneySerializedAdminMoney
Interface
Admin surfaces receive the storefront money shape plus an explicit minor-unit field so charts and exports never parse a locale-formatted string.
SerializedAdminMoneyPublic members
amountMinor:stringamount:stringcurrency:stringformatted:string
SerializedMoney
Interface
SerializedMoneyPublic members
amount:stringcurrency:stringformatted:string
serializeMoney
Function
(money: Money, locale?: string) => SerializedMoneyShipmentTransformer
Class
ShipmentTransformerPublic members
toObject:() => { id: string; state: ShipmentState; carrier: string | null; trackingNumber: string | null; waybill: string | null; handedOffAt: string | null; shippedAt: string | null; deliveredAt: string | null; deliveryFailedAt: string | null; returnedAt: string | null; metadata: Record<string, unknown> | undefined; }forStorefront:() => { id: string; state: ShipmentState; carrier: string | null; trackingNumber: string | null; waybill: string | null; handedOffAt: string | null; shippedAt: string | null; deliveredAt: string | null; deliveryFailedAt: string | null; returnedAt: string | null; metadata: Record<string, unknown> | undefined; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; orderId: string; provider: string | null; providerShipmentId: string | null; inventoryRestockedAt: string | null; metadata: Record<string, unknown> | null; id: string; state: ShipmentState; carrier: string | null; trackingNumber: string | null; waybill: string | null; handedOffAt: string | null; shippedAt: string | null; deliveredAt: string | null; deliveryFailedAt: string | null; returnedAt: string | null; }resource:ShipmentwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
ShippingMethodTransformer
Class
ShippingMethodTransformerPublic members
toObject:() => { id: string; code: string; name: string; }forStorefront:() => { price: SerializedMoney | undefined; id: string; code: string; name: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; calculator: string; calculatorConfig: Record<string, unknown>; channelId: string | null; position: number; enabled: boolean; metadata: Record<string, unknown> | null; id: string; code: string; name: string; }resource:ShippingMethodwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
StockLocationTransformer
Class
StockLocationTransformerPublic members
toObject:() => { id: string; code: string; name: string; }forStorefront:() => { id: string; code: string; name: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; address: AddressInput | null; isDefault: boolean; metadata: Record<string, unknown> | null; id: string; code: string; name: string; }resource:StockLocationwhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
TaxCategoryTransformer
Class
TaxCategoryTransformerPublic members
toObject:() => { id: string; code: string; name: string; }forStorefront:() => { id: string; code: string; name: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; metadata: Record<string, unknown> | null; id: string; code: string; name: string; }resource:TaxCategorywhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
TaxRateTransformer
Class
TaxRateTransformerPublic members
toObject:() => { id: string; name: string; rateBp: number; }forStorefront:() => { id: string; name: string; rateBp: number; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; zoneId: string; taxCategoryId: string | null; metadata: Record<string, unknown> | null; id: string; name: string; rateBp: number; }resource:TaxRatewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
TaxZoneTransformer
Class
TaxZoneTransformerPublic members
toObject:() => { id: string; name: string; }forStorefront:() => { id: string; name: string; }forAdmin:() => { createdAt: string | null; updatedAt: string | null; countryCodes: string[]; regionPattern: string | null; postalPattern: string | null; metadata: Record<string, unknown> | null; id: string; name: string; }resource:TaxZonewhenLoaded:<Value>(value: Value) => Maybe<Value>omit:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Omit<Data, Keys>pick:<Data extends Record<string, any>, Keys extends { [K in keyof Data]: Data[K] extends Function ? never : K; }[keyof Data]>(data: Data, keys: Keys[] | readonly Keys[]) => Pick<Data, Keys>when:<Value, Fallback = undefined>(conditional: boolean, resolver: () => Value, fallback?: Fallback) => Value | Fallback
@adocommercekit/core/types
AddressInput
Interface
AddressInputPublic members
firstName:stringlastName:stringcompany:string | undefinedline1:stringline2:string | undefinedcity:stringregion:string | undefinedpostalCode:string | undefinedcountryCode:stringphone:string | undefinedmetadata:Record<string, unknown> | undefined
AdjustmentDraft
Interface
AdjustmentDraftPublic members
cartLineId:string | null | undefinedsourceType:stringsourceId:string | null | undefinedlabel:stringamount:Moneyincluded:boolean | undefinedeligible:boolean | undefinedposition:numbermetadata:Record<string, unknown> | undefined
AdminCursor
Interface
The decoded keyset position: the sort key of the last row of the previous page plus its id, which breaks ties deterministically.
AdminCursorPublic members
key:stringid:string
AdminKeysetWindow
Interface
AdminKeysetWindowPublic members
column:stringvalue:string | number | bigintidColumn:stringid:stringdirection:AdminSortDirection
AdminListPage
Interface
One page of an admin list query (ASPEC §3.3).
nextCursor is null on the last page. total is null whenever the
filtered count is not obtainable from a single indexed COUNT(*); the UI
renders “1–25 of many” in that case.
AdminListPage<T>Public members
items:T[]nextCursor:string | nulltotal:number | null
AdminSortDirection
Type
AdminSortDirectionCartProcessor
Interface
CartProcessorPublic members
name:stringposition:numberprocess:(cart: Cart, ctx: RecalculationContext) => Promise<AdjustmentDraft[]>
CartSnapshot
Interface
CartSnapshotPublic members
id:stringcurrency:stringlines:{ id: string; variantId: string; quantity: number; unitPrice: Money; metadata: Record<string, unknown> | null; }[]shippingAddress:AddressInput | nullshippingMethodId:string | nullsubtotal:Money
CartTokenStrategy
Interface
CartTokenStrategyPublic members
read:(ctx: HttpContext) => string | nullissue:(ctx: HttpContext, token: string) => void
CartTotals
Interface
CartTotalsPublic members
subtotal:MoneyshippingTotal:MoneytaxTotal:MoneydiscountTotal:MoneygrandTotal:Money
ChannelContext
Interface
ChannelContextPublic members
channelCode:stringcurrency:stringcustomerId:string | undefined
CheckoutResult
Interface
CheckoutResultPublic members
order:Order
CommerceConfigInput
Interface
CommerceConfigInputPublic members
tablePrefix:string | undefinedchannels:{ default: string; }currencies:{ supported: CurrencyCode[]; default: CurrencyCode; exponents?: Partial<Record<CurrencyCode, 0 | 2 | 3>>; rounding?: Rounding; }customers:{ userModel: LazyImport<unknown> | null; userForeignKey?: string; }carts:{ tokenStrategy?: DriverFactory; abandonedAfterMinutes?: number; guardMaxLineQuantity?: number; }pricing:{ resolver?: DriverFactory; taxInclusivePricing?: boolean; }images:{ storage?: DriverFactory<ProductImageStorage>; maxBytes?: number; maxPerProduct?: number; } | undefinedinventory:{ reservationTtlMinutes?: number; backorderPolicy?: "deny" | "allow" | "per_item"; allocation?: DriverFactory; }payments:{ default: string; methods: Record<string, DriverFactory>; captureMode?: "automatic" | "manual"; deferred?: { inventoryPolicy?: "reserve" | "commit"; }; codFee?: { amount: bigint | number | string; currency: string; label?: string; }; }shipping:{ calculators: Record<string, DriverFactory>; eligibility?: DriverFactory; quoteProviders?: Record<string, DriverFactory>; selectionSecret?: string; }fulfillment:{ providers?: Record<string, DriverFactory>; } | undefinedtaxes:{ calculator?: DriverFactory; addressResolver?: DriverFactory; }orders:{ numberGenerator?: DriverFactory; autoConfirm?: boolean; }models:Partial<ModelRegistryOverrides> | undefinedevents:{ outbox?: { enabled: boolean; drainBatchSize?: number; }; } | undefinedjobs:{ dispatcher?: "queue" | "inline"; } | undefined
CreateProductInput
Interface
CreateProductInputPublic members
name:stringslug:stringdescription:string | null | undefinedstatus:"draft" | "active" | "archived" | undefinedmetadata:Record<string, unknown> | undefinedchannelIds:string[] | undefined
CustomerSnapshot
Interface
CustomerSnapshotPublic members
id:string | undefinedemail:string | null | undefinedfirstName:string | null | undefinedlastName:string | null | undefined
DeferredInventoryPolicy
Type
DeferredInventoryPolicyDeferredPaymentStatus
Type
DeferredPaymentStatusDriverFactory
Type
DriverFactory<T>DynamicShippingQuoteProvider
Interface
DynamicShippingQuoteProviderPublic members
code:stringquote:(input: ShippingQuoteRequest) => Promise<ShippingQuoteDraft[]>
FulfillmentProvider
Interface
FulfillmentProviderPublic members
code:stringprepare:(input: { shipmentId: string; order: Order; parcels: Parcel[]; service?: string; cod?: { amount: Money; }; insurance?: { amount: Money; }; idempotencyKey: string; }) => Promise<{ providerShipmentId: string; waybill: string; trackingNumber?: string; carrier?: string; raw?: unknown; }>status:((providerShipmentId: string) => Promise<{ status: FulfillmentStatus; occurredAt?: DateTime; raw?: unknown; }>) | undefined
FulfillmentStatus
Type
FulfillmentStatusInventoryLevelSnapshot
Interface
InventoryLevelSnapshotPublic members
id:stringitemId:stringlocationId:stringonHand:numberreserved:numberavailable:numberisDefault:boolean
LazyImport
Type
LazyImport<T>ModelRegistryOverrides
Interface
ModelRegistryOverridesPublic members
channel:LazyImport<unknown>product:LazyImport<unknown>productImage:LazyImport<unknown>productOption:LazyImport<unknown>productOptionValue:LazyImport<unknown>productVariant:LazyImport<unknown>category:LazyImport<unknown>priceList:LazyImport<unknown>price:LazyImport<unknown>customerGroup:LazyImport<unknown>customer:LazyImport<unknown>address:LazyImport<unknown>cart:LazyImport<unknown>cartLine:LazyImport<unknown>cartAdjustment:LazyImport<unknown>shippingMethod:LazyImport<unknown>taxZone:LazyImport<unknown>taxRate:LazyImport<unknown>taxCategory:LazyImport<unknown>order:LazyImport<unknown>orderLine:LazyImport<unknown>paymentIntent:LazyImport<unknown>payment:LazyImport<unknown>paymentInstruction:LazyImport<unknown>shipment:LazyImport<unknown>stockLocation:LazyImport<unknown>inventoryItem:LazyImport<unknown>inventoryLevel:LazyImport<unknown>reservation:LazyImport<unknown>orderAdjustment:LazyImport<unknown>shipmentLine:LazyImport<unknown>refund:LazyImport<unknown>webhookEvent:LazyImport<unknown>idempotencyKey:LazyImport<unknown>eventOutbox:LazyImport<unknown>
MutationOptions
Interface
MutationOptionsPublic members
trx:TransactionClientContract | undefinedactor:string | undefined
NormalizedPaymentEvent
Type
NormalizedPaymentEventOrderNumberGenerator
Interface
OrderNumberGeneratorPublic members
next:(order: PendingOrder, trx?: TransactionClientContract) => Promise<string>
Parcel
Interface
ParcelPublic members
reference:stringquantity:numberweightGrams:numberdeclaredValue:Money | undefinedlengthMm:number | undefinedwidthMm:number | undefinedheightMm:number | undefined
PaymentFlow
Type
PaymentFlowPaymentInstructionData
Type
PaymentInstructionDataPaymentInstructionDraft
Type
PaymentInstructionDraftPaymentInstructionKind
Type
PaymentInstructionKindPaymentProvider
Interface
PaymentProviderPublic members
code:stringcapabilities:() => PaymentProviderCapabilitiescreateIntent:(input: { amount: Money; currency: string; reference: string; customer?: CustomerSnapshot; idempotencyKey: string; }) => Promise<{ providerIntentId: string; clientSecret?: string; state: "created" | "requires_action" | "authorized" | "pending"; instructions?: PaymentInstructionDraft[]; expiresAt?: DateTime; raw?: unknown; adjustment?: AdjustmentDraft; }>confirm:(input: { providerIntentId: string; token?: string; idempotencyKey: string; }) => Promise<ProviderPaymentState>capture:(input: { providerIntentId: string; amount: Money; idempotencyKey: string; }) => Promise<{ providerChargeId: string; raw?: unknown; }>refund:(input: { providerChargeId: string; amount: Money; reason?: string; idempotencyKey: string; }) => Promise<{ providerRefundId: string; raw?: unknown; }>void:(input: { providerIntentId: string; idempotencyKey: string; trx?: TransactionClientContract; }) => Promise<void>retrieveIntent:((providerIntentId: string) => Promise<DeferredPaymentStatus>) | undefinedhealthCheck:(() => Promise<void>) | undefinedverifyWebhook:(raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:(raw: RawWebhookRequest) => Promise<NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }>
PaymentProviderCapabilities
Interface
PaymentProviderCapabilitiesPublic members
authorize:booleancapture:booleanrefund:booleanvoid:booleanclientConfirmation:booleanflow:PaymentFlow | undefinedcod:boolean | undefined
PendingOrder
Interface
PendingOrderPublic members
channelId:stringcurrency:stringcartId:string
PlaceOrderInput
Interface
PlaceOrderInputPublic members
payment:{ method: string; token?: string; intentId?: string; }shippingQuoteToken:string | undefinedidempotencyKey:string | undefined
PriceResolver
Interface
PriceResolverPublic members
resolve:(input: { variantId: string; quantity: number; ctx: ChannelContext; trx?: TransactionClientContract; }) => Promise<{ unitPrice: Money; priceListId: string | null; }>
ProductImageStorage
Interface
ProductImageStoragePublic members
disk:stringput:(key: string, contents: Uint8Array, options: { contentType: string; contentLength: number; }) => Promise<{ url: string; }>delete:(file: { disk: string; key: string; }) => Promise<void>
ProviderPaymentState
Type
ProviderPaymentStateRawWebhookRequest
Interface
RawWebhookRequestPublic members
body:Buffer<ArrayBufferLike>headers:Record<string, string>
RecalculationContext
Interface
RecalculationContextPublic members
channel:ChannelContextlines:CartLine[]previousAdjustments:CartAdjustment[]generatedAdjustments:AdjustmentDraft[]trx:TransactionClientContract
ResolvedCommerceConfig
Interface
ResolvedCommerceConfigPublic members
tablePrefix:stringchannels:{ default: string; }currencies:{ supported: CurrencyCode[]; default: CurrencyCode; exponents: Readonly<Partial<Record<CurrencyCode, 0 | 2 | 3>>>; rounding: Rounding; }customers:{ userModel: LazyImport<unknown> | null; userForeignKey: string; }carts:{ tokenStrategy: DriverFactory; abandonedAfterMinutes: number; guardMaxLineQuantity: number; }pricing:{ resolver: DriverFactory; taxInclusivePricing: boolean; }images:{ storage?: DriverFactory<ProductImageStorage>; maxBytes: number; maxPerProduct: number; }inventory:{ reservationTtlMinutes: number; backorderPolicy: "deny" | "allow" | "per_item"; allocation?: DriverFactory; }payments:{ default: string; methods: Readonly<Record<string, DriverFactory>>; captureMode: "automatic" | "manual"; deferred: { inventoryPolicy: "reserve" | "commit"; }; codFee?: { amount: bigint | number | string; currency: string; label: string; }; }shipping:{ calculators: Readonly<Record<string, DriverFactory>>; eligibility?: DriverFactory; quoteProviders: Readonly<Record<string, DriverFactory>>; selectionSecret?: string; }fulfillment:{ providers: Readonly<Record<string, DriverFactory>>; }taxes:{ calculator: DriverFactory; addressResolver?: DriverFactory; }orders:{ numberGenerator?: DriverFactory; autoConfirm: boolean; }models:Readonly<Partial<ModelRegistryOverrides>>events:{ outbox: { enabled: boolean; drainBatchSize: number; }; }jobs:{ dispatcher: "queue" | "inline"; automatic: boolean; }
ShippingCalculator
Interface
ShippingCalculatorPublic members
code:stringcalculate:(input: { cart: CartSnapshot; method: ShippingMethodConfig; }) => Promise<Money>
ShippingEligibility
Interface
ShippingEligibilityPublic members
eligibleMethods:(cart: CartSnapshot, methods: ShippingMethodConfig[]) => Promise<string[]>
ShippingMethodConfig
Interface
ShippingMethodConfigPublic members
id:stringcode:stringname:stringcalculator:stringcalculatorConfig:Record<string, unknown>
ShippingQuote
Interface
ShippingQuotePublic members
provider:stringservice:stringname:stringprice:MoneyexpiresAt:DateTime<boolean>selectionToken:stringmetadata:Record<string, unknown> | undefined
ShippingQuoteDraft
Interface
ShippingQuoteDraftPublic members
service:stringname:stringprice:MoneyexpiresAt:DateTime<boolean>metadata:Record<string, unknown> | undefined
ShippingQuoteRequest
Interface
ShippingQuoteRequestPublic members
cart:CartSnapshotparcels:Parcel[]cod:{ amount: Money; } | undefinedinsurance:{ amount: Money; } | undefined
Stateful
Interface
Stateful<S>Public members
id:stringstate:S
StateMachineDatabase
Interface
StateMachineDatabase<Trx>Public members
transaction:<R>(callback: (trx: Trx) => Promise<R>) => Promise<R>
StateMachineDefinition
Interface
StateMachineDefinition<S, T>Public members
name:stringstates:readonly S[]initial:Stransitions:Readonly<Record<T, { readonly from: readonly S[]; readonly to: S; }>>
StateMachinePersistence
Interface
StateMachinePersistence<S, T, Trx>Public members
transaction:<R>(callback: (trx: Trx) => Promise<R>) => Promise<R>conditionalUpdate:(subjectId: string, from: S, to: S, trx: Trx) => Promise<boolean>insertAudit:(audit: StateTransitionAudit<S, T>, trx: Trx) => Promise<void>bufferEvent:(name: string, payload: Readonly<Record<string, unknown>>, trx: Trx) => Promise<void> | void
StateMachineQuery
Interface
StateMachineQueryPublic members
where:(column: string | Record<string, unknown>, value?: unknown) => StateMachineQueryupdate:(values: Record<string, unknown>) => PromiseLike<number>
StateMachineTransaction
Interface
StateMachineTransactionPublic members
from:(table: string) => StateMachineQuerytable:(table: string) => StateMachineInsertQuery
StateTransitionAudit
Interface
StateTransitionAudit<S, T>Public members
machine:stringsubjectId:stringtransition:Tfrom:Sto:Sactor:string | undefinedcontext:TransitionContextcreatedAt:Date
StockAllocationStrategy
Interface
StockAllocationStrategyPublic members
allocate:(input: { itemId: string; quantity: number; levels: InventoryLevelSnapshot[]; backorderable: boolean; }) => Promise<Array<{ levelId: string; quantity: number; }>>
TaxableLine
Interface
TaxableLinePublic members
lineId:stringamount:MoneytaxCategoryCode:string | nullquantity:number
TaxCalculator
Interface
TaxCalculatorPublic members
calculate:(input: { lines: TaxableLine[]; address: AddressInput | null; inclusive: boolean; trx?: TransactionClientContract; }) => Promise<TaxLineResult[]>
TaxLineResult
Interface
TaxLineResultPublic members
lineId:stringrateName:stringrateBp:numberamount:Moneyincluded:booleansourceId:string | undefinedmetadata:Record<string, unknown> | undefined
TransitionContext
Interface
TransitionContextPublic members
actor:string | undefined
TransitionGuard
Type
TransitionGuard<S, T, Trx>TransitionHook
Type
TransitionHook<S, T, Trx>UpdateProductInput
Interface
UpdateProductInputPublic members
name:string | undefinedslug:string | undefineddescription:string | null | undefinedstatus:"draft" | "active" | "archived" | undefinedmetadata:Record<string, unknown> | undefinedchannelIds:string[] | undefined
WebhookIngestResult
Interface
WebhookIngestResultPublic members
status:"processed" | "unhandled" | "duplicate"providerEventId:string
WorkflowLogger
Interface
WorkflowLoggerPublic members
error:(message: string, context: Readonly<Record<string, unknown>>) => void
WorkflowStep
Interface
WorkflowStep<C>Public members
name:stringrun:(context: C) => Promise<void>compensate:((context: C) => Promise<void>) | undefinedboundary:"trx" | "external"
WorkflowTransactionRunner
Interface
WorkflowTransactionRunner<C>Public members
transaction:(context: C, callback: (transactionContext: C) => Promise<void>) => Promise<void>
@adocommercekit/core/validators
addCartLineValidator
Value
ValidatoraddressSchema
Value
SchemaTypescreateChannelValidator
Value
ValidatorcreateCustomerValidator
Value
ValidatorcreatePriceValidator
Value
ValidatorcreateProductOptionValidator
Value
ValidatorcreateProductValidator
Value
ValidatorsetCartAddressesValidator
Value
ValidatorsetCartEmailValidator
Value
ValidatorupdateCartLineValidator
Value
Validator@adocommercekit/core/errors
CartNotActiveException
Class
CartNotActiveExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CartPricesChangedException
Class
CartPricesChangedExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
COMMERCE_ERROR_STATUSES
Value
Readonly<Partial<Record<CommerceErrorCode, number | "varies">>>CommerceConfigException
Class
CommerceConfigExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CommerceErrorCode
Type
CommerceErrorCodeCommerceErrorDetails
Type
Readonly<Record<string, unknown>>CommerceException
Class
CommerceExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CommerceForbiddenException
Class
Raised at the HTTP/Inertia boundary when the actor lacks the ability an admin endpoint declares. The ability name travels in the payload on purpose: it is frozen catalog vocabulary (ASPEC §3.2), not a secret, and the panel needs it to explain the denial.
CommerceForbiddenExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
CompensationError
Interface
CompensationErrorPublic members
step:stringerror:unknown
CurrencyMismatchException
Class
CurrencyMismatchExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
IdempotencyConflictException
Class
IdempotencyConflictExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
InsufficientStockException
Class
InsufficientStockExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
LineQuantityException
Class
LineQuantityExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
PaymentDeclineCode
Type
PaymentDeclineCodePaymentDeclinedException
Class
PaymentDeclinedExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
PaymentProviderException
Class
PaymentProviderExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
PriceNotFoundException
Class
PriceNotFoundExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
ProductInUseException
Class
ProductInUseExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
renderCommerceException
Function
(error: CommerceException) => { error: { details?: Readonly<Record<string, unknown>> | undefined; code: CommerceErrorCode; message: string; }; }ShippingNotEligibleException
Class
ShippingNotEligibleExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
StateTransitionException
Class
StateTransitionExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
WebhookSignatureException
Class
WebhookSignatureExceptionPublic members
code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
WorkflowFailedException
Class
WorkflowFailedExceptionPublic members
compensationErrors:readonly CompensationError[]code:CommerceErrorCodestatus:numberdetails:Readonly<Record<string, unknown>>handle:(error: CommerceException, ctx: { response: { status(code: number): { send(body: unknown): unknown; }; }; }) => unknownname:stringhelp:string | undefinedtoString:() => stringmessage:stringstack:string | undefinedcause:unknown
@adocommercekit/core/jobs
DrainEventOutbox
Class
DrainEventOutboxPublic members
outbox:EventOutboxServicehandle:() => Promise<{ sent: number; failed: number; }>
ExpireAbandonedCarts
Class
ExpireAbandonedCartsPublic members
db:Databaseregistry:ModelRegistryconfig:ResolvedCommerceConfigevents:TransactionalEventEmitterhandle:() => Promise<number>
ExpirePendingPayments
Class
ExpirePendingPaymentsPublic members
payments:PaymentServicehandle:() => Promise<number>
ExpireStaleReservations
Class
ExpireStaleReservationsPublic members
inventory:InventoryServicehandle:() => Promise<number>
JOB_NAMES
Value
{ readonly expireStaleReservations: "commerce.expire_stale_reservations"; readonly expirePendingPayments: "commerce.expire_pending_payments"; readonly expireAbandonedCarts: "commerce.expire_abandoned_carts"; readonly reconcileStuckCheckouts: "commerce.reconcile_stuck_checkouts"; readonly drainEventOutbox: "commerce.drain_event_outbox"; readonly purgeExpiredIdempotencyKeys: "commerce.purge_expired_idempotency_keys"; }PurgeExpiredIdempotencyKeys
Class
PurgeExpiredIdempotencyKeysPublic members
idempotency:IdempotencyServicehandle:() => Promise<number>
ReconcileStuckCheckouts
Class
ReconcileStuckCheckoutsPublic members
checkout:CheckoutServiceconfig:ResolvedCommerceConfighandle:() => Promise<number>
@adocommercekit/core/upgrade
applyUpgradeItem
Function
(root: string, item: UpgradePlanItem) => Promise<void>inspectUpgrade
Function
(root: string, artifacts: readonly UpgradeArtifact[]) => Promise<UpgradePlanItem[]>inspectUpgradeArtifact
Function
(root: string, artifact: UpgradeArtifact) => Promise<UpgradePlanItem>publicationBasePath
Function
(root: string, marker: string) => stringrecordPublicationBase
Function
(root: string, artifact: UpgradeArtifact) => Promise<boolean>sha256
Function
(source: string) => stringUpgradeAction
Type
UpgradeActionUpgradeArtifact
Interface
UpgradeArtifactPublic members
marker:stringdestination:stringsource:string
UpgradePlanItem
Interface
UpgradePlanItemPublic members
action:UpgradeActionpublishedPath:stringbasePath:stringbaseSource:string | undefinedpublishedSource:string | undefinedmarker:stringdestination:stringsource:string
@adocommercekit/storefront-api/contract
STOREFRONT_API_PREFIX
Value
"/api/commerce"StorefrontEndpoint
Type
{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.products.index"; } | { readonly method: "GET"; readonly path: "/products/:slug"; readonly name: "commerce.products.show"; } | { readonly method: "GET"; readonly path: "/cart"; readonly name: "commerce.cart.show"; } | { readonly method: "POST"; readonly path: "/cart/lines"; readonly name: "commerce.cart.lines.store"; } | { readonly method: "PATCH"; readonly path: "/cart/lines/:id"; readonly name: "commerce.cart.lines.update"; } | { readonly method: "DELETE"; readonly path: "/cart/lines/:id"; readonly name: "commerce.cart.lines.destroy"; } | { readonly method: "PUT"; readonly path: "/cart/email"; readonly name: "commerce.cart.email"; } | { readonly method: "PUT"; readonly path: "/cart/addresses"; readonly name: "commerce.cart.addresses"; } | { readonly method: "GET"; readonly path: "/cart/shipping-methods"; readonly name: "commerce.cart.shippingMethods"; } | { readonly method: "PUT"; readonly path: "/cart/shipping-method"; readonly name: "commerce.cart.shippingMethod"; } | { readonly method: "POST"; readonly path: "/checkout"; readonly name: "commerce.checkout.place"; } | { readonly method: "GET"; readonly path: "/orders/:number"; readonly name: "commerce.orders.show"; } | { readonly method: "GET"; readonly path: "/orders/:number/payment-instructions"; readonly name: "commerce.orders.paymentInstructions"; } | { readonly method: "POST"; readonly path: "/webhooks/payments/:provider"; readonly name: "commerce.webhooks.payments"; }storefrontEndpoints
Value
readonly [{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.products.index"; }, { readonly method: "GET"; readonly path: "/products/:slug"; readonly name: "commerce.products.show"; }, { readonly method: "GET"; readonly path: "/cart"; readonly name: "commerce.cart.show"; }, { readonly method: "POST"; readonly path: "/cart/lines"; readonly name: "commerce.cart.lines.store"; }, { readonly method: "PATCH"; readonly path: "/cart/lines/:id"; readonly name: "commerce.cart.lines.update"; }, { readonly method: "DELETE"; readonly path: "/cart/lines/:id"; readonly name: "commerce.cart.lines.destroy"; }, { readonly method: "PUT"; readonly path: "/cart/email"; readonly name: "commerce.cart.email"; }, { readonly method: "PUT"; readonly path: "/cart/addresses"; readonly name: "commerce.cart.addresses"; }, { readonly method: "GET"; readonly path: "/cart/shipping-methods"; readonly name: "commerce.cart.shippingMethods"; }, { readonly method: "PUT"; readonly path: "/cart/shipping-method"; readonly name: "commerce.cart.shippingMethod"; }, { readonly method: "POST"; readonly path: "/checkout"; readonly name: "commerce.checkout.place"; }, { readonly method: "GET"; readonly path: "/orders/:number"; readonly name: "commerce.orders.show"; }, { readonly method: "GET"; readonly path: "/orders/:number/payment-instructions"; readonly name: "commerce.orders.paymentInstructions"; }, { readonly method: "POST"; readonly path: "/webhooks/payments/:provider"; readonly name: "commerce.webhooks.payments"; }]@adocommercekit/admin-api
ADMIN_API_PREFIX
Value
"/api/commerce/admin"ADMIN_AUDIT_TABLE
Value
"admin_audit_entries"ADMIN_RATE_LIMITS
Value
Rate-limit tiers the published routes stub applies (ASPEC §4.2).
{ readonly mutation: { readonly scope: "admin-mutation"; readonly requests: 60; readonly windowSeconds: 60; }; readonly read: { readonly scope: "admin-read"; readonly requests: 240; readonly windowSeconds: 60; }; readonly metrics: { readonly scope: "admin-metrics"; readonly requests: 120; readonly windowSeconds: 60; }; }ADMIN_SHIPMENT_TRANSITIONS
Value
Readonly<Record<ShipmentState, readonly AdminShipmentTransition[]>>adminAbilityTarget
Function
(ability: CommerceAbility) => AdminAbilityTargetAdminAbilityTarget
Interface
Where a frozen ability is enforced: the shipped policy class the host extends
and the method on it. Derived from commercePolicyAbilities so the catalog
stays the single source of truth — an ability core adds without a policy
method makes this module throw at load, not silently allow.
AdminAbilityTargetPublic members
policy:string | number | symbolmethod:string
adminAbilityTargets
Function
The complete ability → policy method map, for host policy scaffolding and docs.
() => ReadonlyMap<CommerceAbility, AdminAbilityTarget>AdminActor
Interface
The actor an admin request runs as, resolved by the published auth middleware from the host’s own user model. The engine never reads host user tables.
The three fields serve three consumers and are deliberately not collapsed:
id is the opaque value recorded verbatim in the audit trail, label is what
the trail and the panel header display, and user is the host principal the
Bouncer policy methods receive so role mapping works against the host’s own
model rather than an engine projection of it.
AdminActorPublic members
id:stringlabel:string | nulluser:unknown
AdminAuditEntry
Type
AdminAuditEntryAdminAuditEntryInput
Interface
AdminAuditEntryInputPublic members
actorId:stringactorLabel:string | null | undefinedability:CommerceAbilitysubjectType:AdminAuditSubjectTypesubjectId:stringsummary:Readonly<Record<string, string | number | boolean | null>>idempotencyKey:string | null | undefinedrequestId:string | null | undefined
AdminAuditFilter
Interface
AdminAuditFilterPublic members
actorId:string | undefinedability:CommerceAbility[] | undefinedsubjectType:AdminAuditSubjectType | undefinedsubjectId:string | undefinedcreatedAfter:DateTime<boolean> | undefinedcreatedBefore:DateTime<boolean> | undefinedcursor:string | undefinedlimit:number | undefined
AdminAuditService
Class
The append-only admin audit trail (ASPEC §4.3, §5.2).
There is no update or delete path by design; retention is the host’s job and the operations doc carries the pruning recipe. The table is written through the query builder rather than a Lucid model so it needs no model-registry entry and no host-side model file — nothing about it is extensible.
AdminAuditServicePublic members
db:Databaseconfig:{ tablePrefix: string; }table:stringrecord:(entry: AdminAuditEntryInput, options?: MutationOptions) => Promise<AdminAuditEntry>list:(filter?: AdminAuditFilter) => Promise<AdminListPage<AdminAuditEntry>>
AdminAuditSubjectType
Type
Subject kinds the audit trail records. Kept as a closed union so the
(subject_type, subject_id, created_at) index stays selective and the panel
can render a stable filter list.
AdminAuditSubjectTypeAdminAuditSummary
Type
Compact before/after summary. Values are scalars only: the summary is the
merchant’s operational record of what changed, never a snapshot of the
record. The type is enforced at runtime by assertAuditSummary because the
callers are host-owned controllers where types can be cast away.
Readonly<Record<string, string | number | boolean | null>>adminEndpoint
Function
Looks an endpoint up by route name; throws when the name is not in the table.
(name: string) => AdminEndpointAdminEndpoint
Type
{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.admin.products.index"; readonly ability: "commerce.products.view"; } | { readonly method: "POST"; readonly path: "/products"; readonly name: "commerce.admin.products.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "GET"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.show"; readonly ability: "commerce.products.view"; } | { readonly method: "PATCH"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.update"; readonly ability: "commerce.products.manage"; } | { readonly method: "DELETE"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.destroy"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/archive"; readonly name: "commerce.admin.products.archive"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/options"; readonly name: "commerce.admin.products.options.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/variants/generate"; readonly name: "commerce.admin.products.variants.generate"; readonly ability: "commerce.products.manage"; } | { readonly method: "PUT"; readonly path: "/products/:id/categories"; readonly name: "commerce.admin.products.categories"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/images"; readonly name: "commerce.admin.products.images.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "PATCH"; readonly path: "/products/:id/images/:imageId"; readonly name: "commerce.admin.products.images.update"; readonly ability: "com…AdminEndpointDefinition
Interface
AdminEndpointDefinitionPublic members
method:"GET" | "POST" | "PATCH" | "DELETE" | "PUT"path:stringname:stringability:CommerceAbility
adminEndpoints
Value
The complete admin REST surface (ASPEC §4.1). This table is the single source of truth: the published routes stub, the ability middleware, the reference documentation, and the contract test are all checked against it.
ability is enforced by commerceAdminAbility middleware before the
controller body runs, so a row without an ability cannot exist.
readonly [{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.admin.products.index"; readonly ability: "commerce.products.view"; }, { readonly method: "POST"; readonly path: "/products"; readonly name: "commerce.admin.products.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "GET"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.show"; readonly ability: "commerce.products.view"; }, { readonly method: "PATCH"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.update"; readonly ability: "commerce.products.manage"; }, { readonly method: "DELETE"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.destroy"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/archive"; readonly name: "commerce.admin.products.archive"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/options"; readonly name: "commerce.admin.products.options.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/variants/generate"; readonly name: "commerce.admin.products.variants.generate"; readonly ability: "commerce.products.manage"; }, { readonly method: "PUT"; readonly path: "/products/:id/categories"; readonly name: "commerce.admin.products.categories"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/images"; readonly name: "commerce.admin.products.images.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "PATCH"; readonly path: "/products/:id/images/:imageId"; readonly name: "commerce.admin.products.images.update"; readonly ability: "com…AdminInvalidTransitionException
Class
A state-machine refusal, restated for the admin wire contract (ASPEC §4.2).
Core raises E_STATE_TRANSITION; the admin surface answers
409 E_COMMERCE_INVALID_TRANSITION with currentState, because that field is
what lets the panel refresh a stale action button instead of failing silently.
AdminInvalidTransitionExceptionAdminRateLimiter
Class
Actor-keyed fixed-window counter behind the admin surface’s rate-limit defaults (ASPEC §4.2).
It is deliberately owned by this package rather than shared with
@adocommercekit/storefront-api: ASPEC §2.1 fixes this package’s peers to
core + AdonisJS + Lucid, so a headless admin host is never forced to install
the storefront REST surface. The storefront limiter keys by client IP; this
one keys by resolved actor, because an admin session is the unit an operator
can multiply, not an address.
A single static instance in the published middleware is what makes the REST mutations and (from AD-33) the Inertia panel routes share buckets, so driving the UI with a script cannot bypass the API limits.
AdminRateLimiterPublic members
#buckets:Map<string, AdminRateLimitBucket>maxKeys:numberconsume:(scope: string, actorKey: string, limit: number, windowSeconds: number, now?: number) => AdminRateLimitResult#ensureCapacity:(now: number) => void
AdminRateLimitResult
Interface
AdminRateLimitResultPublic members
allowed:booleanlimit:numberremaining:numberresetAt:numberretryAfter:number
AdminRateLimitTier
Type
"mutation" | "read" | "metrics"AdminShipmentTransition
Type
The shipment operations the admin surface exposes. Shipments do not run on a
declarative state machine like orders and payments do — FulfillmentService
enforces its own preconditions — so the legal-transition set is declared here
once and consumed by both surfaces: the REST controller rejects an illegal
transition with 409 E_COMMERCE_INVALID_TRANSITION before calling the
service, and the panel (AD-33) renders action buttons from the same table.
The service remains the authority; this table exists so the boundary answers “what can I do next?” without guessing from an error message.
AdminShipmentTransitionassertAuditSummary
Function
(summary: AdminAuditSummary) => voidcanTransitionShipment
Function
(state: ShipmentState, transition: AdminShipmentTransition) => booleanCommercePolicyName
Type
string | number | symbolconfigure
Function
(command: Configure) => Promise<void>stubsRoot
Value
stringtranslateAdminError
Function
Maps a service failure onto the admin wire contract, returning the error to throw. Unknown errors are returned untouched so a genuine bug still surfaces as a 500 rather than being laundered into a client error.
Two translations, both required by ASPEC §4.2:
E_STATE_TRANSITIONbecomesE_COMMERCE_INVALID_TRANSITIONwith the state the caller observed, which is more useful than the state the machine read.- A
RangeErroris a rejected input the validator could not express — an over-refund, an over-fulfilled line, a category moved under its own child — and belongs in the 422 envelope, not in a stack trace.
(error: unknown, currentState?: string) => unknown@adocommercekit/admin-api/contract
ADMIN_API_PREFIX
Value
"/api/commerce/admin"ADMIN_RATE_LIMITS
Value
Rate-limit tiers the published routes stub applies (ASPEC §4.2).
{ readonly mutation: { readonly scope: "admin-mutation"; readonly requests: 60; readonly windowSeconds: 60; }; readonly read: { readonly scope: "admin-read"; readonly requests: 240; readonly windowSeconds: 60; }; readonly metrics: { readonly scope: "admin-metrics"; readonly requests: 120; readonly windowSeconds: 60; }; }adminEndpoint
Function
Looks an endpoint up by route name; throws when the name is not in the table.
(name: string) => AdminEndpointAdminEndpoint
Type
{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.admin.products.index"; readonly ability: "commerce.products.view"; } | { readonly method: "POST"; readonly path: "/products"; readonly name: "commerce.admin.products.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "GET"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.show"; readonly ability: "commerce.products.view"; } | { readonly method: "PATCH"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.update"; readonly ability: "commerce.products.manage"; } | { readonly method: "DELETE"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.destroy"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/archive"; readonly name: "commerce.admin.products.archive"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/options"; readonly name: "commerce.admin.products.options.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/variants/generate"; readonly name: "commerce.admin.products.variants.generate"; readonly ability: "commerce.products.manage"; } | { readonly method: "PUT"; readonly path: "/products/:id/categories"; readonly name: "commerce.admin.products.categories"; readonly ability: "commerce.products.manage"; } | { readonly method: "POST"; readonly path: "/products/:id/images"; readonly name: "commerce.admin.products.images.store"; readonly ability: "commerce.products.manage"; } | { readonly method: "PATCH"; readonly path: "/products/:id/images/:imageId"; readonly name: "commerce.admin.products.images.update"; readonly ability: "com…AdminEndpointDefinition
Interface
AdminEndpointDefinitionPublic members
method:"GET" | "POST" | "PATCH" | "DELETE" | "PUT"path:stringname:stringability:CommerceAbility
adminEndpoints
Value
The complete admin REST surface (ASPEC §4.1). This table is the single source of truth: the published routes stub, the ability middleware, the reference documentation, and the contract test are all checked against it.
ability is enforced by commerceAdminAbility middleware before the
controller body runs, so a row without an ability cannot exist.
readonly [{ readonly method: "GET"; readonly path: "/products"; readonly name: "commerce.admin.products.index"; readonly ability: "commerce.products.view"; }, { readonly method: "POST"; readonly path: "/products"; readonly name: "commerce.admin.products.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "GET"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.show"; readonly ability: "commerce.products.view"; }, { readonly method: "PATCH"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.update"; readonly ability: "commerce.products.manage"; }, { readonly method: "DELETE"; readonly path: "/products/:id"; readonly name: "commerce.admin.products.destroy"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/archive"; readonly name: "commerce.admin.products.archive"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/options"; readonly name: "commerce.admin.products.options.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/variants/generate"; readonly name: "commerce.admin.products.variants.generate"; readonly ability: "commerce.products.manage"; }, { readonly method: "PUT"; readonly path: "/products/:id/categories"; readonly name: "commerce.admin.products.categories"; readonly ability: "commerce.products.manage"; }, { readonly method: "POST"; readonly path: "/products/:id/images"; readonly name: "commerce.admin.products.images.store"; readonly ability: "commerce.products.manage"; }, { readonly method: "PATCH"; readonly path: "/products/:id/images/:imageId"; readonly name: "commerce.admin.products.images.update"; readonly ability: "com…AdminRateLimitTier
Type
"mutation" | "read" | "metrics"@adocommercekit/admin-api/services
ADMIN_AUDIT_TABLE
Value
"admin_audit_entries"AdminAuditEntry
Type
AdminAuditEntryAdminAuditEntryInput
Interface
AdminAuditEntryInputPublic members
actorId:stringactorLabel:string | null | undefinedability:CommerceAbilitysubjectType:AdminAuditSubjectTypesubjectId:stringsummary:Readonly<Record<string, string | number | boolean | null>>idempotencyKey:string | null | undefinedrequestId:string | null | undefined
AdminAuditFilter
Interface
AdminAuditFilterPublic members
actorId:string | undefinedability:CommerceAbility[] | undefinedsubjectType:AdminAuditSubjectType | undefinedsubjectId:string | undefinedcreatedAfter:DateTime<boolean> | undefinedcreatedBefore:DateTime<boolean> | undefinedcursor:string | undefinedlimit:number | undefined
AdminAuditService
Class
The append-only admin audit trail (ASPEC §4.3, §5.2).
There is no update or delete path by design; retention is the host’s job and the operations doc carries the pruning recipe. The table is written through the query builder rather than a Lucid model so it needs no model-registry entry and no host-side model file — nothing about it is extensible.
AdminAuditServicePublic members
db:Databaseconfig:{ tablePrefix: string; }table:stringrecord:(entry: AdminAuditEntryInput, options?: MutationOptions) => Promise<AdminAuditEntry>list:(filter?: AdminAuditFilter) => Promise<AdminListPage<AdminAuditEntry>>
AdminAuditSubjectType
Type
Subject kinds the audit trail records. Kept as a closed union so the
(subject_type, subject_id, created_at) index stays selective and the panel
can render a stable filter list.
AdminAuditSubjectTypeAdminAuditSummary
Type
Compact before/after summary. Values are scalars only: the summary is the
merchant’s operational record of what changed, never a snapshot of the
record. The type is enforced at runtime by assertAuditSummary because the
callers are host-owned controllers where types can be cast away.
Readonly<Record<string, string | number | boolean | null>>assertAuditSummary
Function
(summary: AdminAuditSummary) => void@adocommercekit/stripe
stripe
Function
(options: StripeOptions) => DriverFactory<PaymentProvider>StripeOptions
Interface
StripeOptionsPublic members
apiKey:stringwebhookSecret:stringapiBase:string | undefinedwebhookToleranceSeconds:number | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
StripePaymentProvider
Class
StripePaymentProviderPublic members
code:"stripe"#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }options:StripeOptionscapabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; }createIntent:(input: Parameters<PaymentProvider["createIntent"]>[0]) => Promise<{ state: "authorized" | "created" | "requires_action"; clientSecret?: string | undefined; providerIntentId: string; }>confirm:(input: Parameters<PaymentProvider["confirm"]>[0]) => Promise<ProviderPaymentState>capture:(input: Parameters<PaymentProvider["capture"]>[0]) => Promise<{ providerChargeId: string; raw: StripeObject; }>refund:(input: Parameters<PaymentProvider["refund"]>[0]) => Promise<{ providerRefundId: string; raw: StripeObject; }>void:(input: Parameters<PaymentProvider["void"]>[0]) => Promise<void>verifyWebhook:(raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:(raw: RawWebhookRequest) => Promise<NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }>request:(method: string, path: string, body: Record<string, string>, idempotencyKey: string) => Promise<StripeObject>intentState:(intent: StripeObject) => "created" | "requires_action" | "authorized"normalizeDecline:(code: unknown) => PaymentDeclineCodefirstCharge:(intent: StripeObject) => StripeObject | undefinedeventMoney:(object: StripeObject, amountField: string) => Money | undefined
@adocommercekit/midtrans
configure
Function
(command: Configure) => Promise<void>midtrans
Function
(options: MidtransOptions) => DriverFactory<PaymentProvider>MIDTRANS_API_FAMILY
Value
"Core API v2"MIDTRANS_REFUND_CAPABILITIES
Value
Readonly<Record<MidtransChannel, RefundCapability>>MIDTRANS_SOURCE_RECORD
Value
Readonly<{ retrievedAt: "2026-07-24"; notification: "https://docs.midtrans.com/reference/https-notification"; signature: "https://docs.midtrans.com/docs/https-notification-webhooks#signature-key"; status: "https://docs.midtrans.com/reference/get-transaction-status"; qris: "https://docs.midtrans.com/reference/qris"; gopay: "https://docs.midtrans.com/reference/gopay"; refunds: "https://docs.midtrans.com/reference/refund-transaction"; }>MidtransChannel
Type
MidtransChannelMidtransManualRefundRequiredError
Class
MidtransManualRefundRequiredErrorPublic members
code:"MIDTRANS_MANUAL_REFUND_REQUIRED"channel:MidtransChannelguidance:stringname:stringmessage:stringstack:string | undefinedcause:unknown
MidtransOptions
Interface
MidtransOptionsPublic members
serverKey:stringclientKey:stringenvironment:"sandbox" | "production"channel:MidtransChannelexpiryMinutes:number | undefinedcallbackUrl:string | undefinedapiBase:string | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
MidtransPaymentProvider
Class
MidtransPaymentProviderPublic members
code:"midtrans"#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }options:MidtransOptionscapabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; flow: "deferred"; }refundCapability:() => RefundCapabilitycreateIntent:(input: Parameters<PaymentProvider["createIntent"]>[0]) => Promise<{ providerIntentId: string; state: "pending"; instructions: PaymentInstructionDraft[]; expiresAt: DateTime<boolean>; raw: JsonObject; }>confirm:() => Promise<{ state: "pending"; }>capture:() => Promise<{ providerChargeId: string; }>refund:(input: Parameters<PaymentProvider["refund"]>[0]) => Promise<{ providerRefundId: any; raw: JsonObject; }>void:(input: Parameters<PaymentProvider["void"]>[0]) => Promise<void>retrieveIntent:(providerIntentId: string) => Promise<{ state: "settled"; amount: any; occurredAt: DateTime<boolean> | undefined; reference: string; raw: JsonObject; } | { state: "expired" | "failed" | "pending"; occurredAt: DateTime<boolean> | undefined; raw: JsonObject; amount?: undefined; reference?: undefined; }>healthCheck:() => Promise<void>verifyWebhook:(raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:(raw: RawWebhookRequest) => Promise<NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }>chargePayload:(input: Parameters<PaymentProvider["createIntent"]>[0]) => JsonObjectinstructions:(result: JsonObject, expiresAt: DateTime) => PaymentInstructionDraft[]paymentStatus:(payload: JsonObject) => "pending" | "settled" | "expired" | "failed"paymentEventType:(status: string) => "payment.pending" | "payment.authorized" | "payment.captured" | "payment.expired" | "payment.failed" | undefinedassertIdr:(amount: Money) => voidsafeAmount:(amount: Money) => numberrequest:(method: string, path: string, body?: JsonObject, idempotencyKey?: string) => Promise<JsonObject>rawRequest:(method: string, path: string, body?: JsonObject, idempotencyKey?: string) => Promise<Response>apiBase:() => string
midtransWebhookUrl
Function
(appUrl: string) => stringRefundCapability
Interface
RefundCapabilityPublic members
mode:"automatic" | "manual_transfer"guidance:string | undefined
@adocommercekit/xendit
configure
Function
(command: Configure) => Promise<void>xendit
Function
(options: XenditOptions) => DriverFactory<PaymentProvider>XENDIT_API_VERSION
Value
"2024-11-11"XENDIT_SOURCE_RECORD
Value
Readonly<{ retrievedAt: "2026-07-24"; paymentRequests: "https://docs.xendit.co/apidocs/create-payment-request"; status: "https://docs.xendit.co/apidocs/get-payment-request"; webhooks: "https://docs.xendit.co/apidocs/payment-webhook-notification"; authentication: "https://docs.xendit.co/apidocs/quick-setup"; }>XenditChannel
Type
XenditChannelXenditOptions
Interface
XenditOptionsPublic members
secretKey:stringwebhookToken:stringchannel:XenditChannelsuccessReturnUrl:string | undefinedfailureReturnUrl:string | undefinedexpiryMinutes:number | undefinedapiBase:string | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
XenditPaymentProvider
Class
XenditPaymentProviderPublic members
code:"xendit"#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }options:XenditOptionscapabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; flow: "deferred"; }createIntent:(input: Parameters<PaymentProvider["createIntent"]>[0]) => Promise<{ providerIntentId: string; state: "pending"; instructions: PaymentInstructionDraft[]; expiresAt: DateTime<boolean>; raw: JsonObject; }>confirm:() => Promise<{ state: "pending"; }>capture:() => Promise<{ providerChargeId: string; }>refund:(input: Parameters<PaymentProvider["refund"]>[0]) => Promise<{ providerRefundId: any; raw: JsonObject; }>void:(input: Parameters<PaymentProvider["void"]>[0]) => Promise<void>retrieveIntent:(providerIntentId: string) => Promise<{ state: "settled"; amount: any; occurredAt: DateTime<boolean> | undefined; reference: string; raw: JsonObject; } | { state: "expired" | "failed" | "pending"; occurredAt: DateTime<boolean> | undefined; raw: JsonObject; amount?: undefined; reference?: undefined; }>healthCheck:() => Promise<void>verifyWebhook:(raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:(raw: RawWebhookRequest) => Promise<NormalizedPaymentEvent | { type: "unhandled"; providerEventId: string; raw?: unknown; }>instructions:(result: JsonObject, expiresAt: DateTime) => PaymentInstructionDraft[]deferredStatus:(status: string) => "pending" | "settled" | "expired" | "failed"paymentEventType:(status: string) => "payment.pending" | "payment.authorized" | "payment.captured" | "payment.expired" | "payment.failed" | undefinedassertIdr:(amount: Money) => voidrequest:(method: string, path: string, body?: JsonObject, idempotencyKey?: string) => Promise<JsonObject>rawRequest:(method: string, path: string, body?: JsonObject, idempotencyKey?: string) => Promise<Response>
@adocommercekit/id
assertCatalogCoverage
Function
(catalog: Partial<IdRegionalCatalog>) => asserts catalog is IdRegionalCatalogchecksumIndonesiaRegions
Function
(records: Iterable<IndonesiaRegionRecord>) => stringCOD_REMITTANCE_SCHEMA
Value
"commerce.cod-remittance.v1"CodImportIssue
Interface
CodImportIssuePublic members
line:numberorderNumber:stringreference:stringreason:string
CodImportResult
Interface
CodImportResultPublic members
fileHash:stringsettled:numberduplicates:numberunmatched:CodImportIssue[]ambiguous:CodImportIssue[]invalid:CodImportIssue[]
CodRemittanceImporter
Class
CodRemittanceImporterPublic members
#importsTable:stringdb:Databaseregistry:ModelRegistrypayments:PaymentServicemerchantId:stringimport:(contents: string, actor?: string) => Promise<CodImportResult>
CodRemittanceRow
Interface
CodRemittanceRowPublic members
amount:stringcurrency:stringschema_version:stringmerchant_id:stringorder_number:stringreference:string
configure
Function
(command: Configure) => Promise<void>ConsentAction
Type
ConsentActionConsentReceipt
Interface
ConsentReceiptPublic members
id:stringcustomerId:stringpurpose:stringnoticeVersion:stringaction:ConsentActioncapturedAt:stringevidence:Record<string, unknown>
ConsentReceiptService
Class
ConsentReceiptServicePublic members
#table:stringdb:Databasegrant:(input: { customerId: string; purpose: string; noticeVersion: string; evidence?: Record<string, unknown>; capturedAt?: Date; }) => Promise<ConsentReceipt>withdraw:(input: { customerId: string; purpose: string; noticeVersion: string; evidence?: Record<string, unknown>; capturedAt?: Date; }) => Promise<ConsentReceipt>hasValidPurpose:(customerId: string, purpose: string, noticeVersion?: string) => Promise<boolean>list:(customerId: string) => Promise<ConsentReceipt[]>#append:(action: ConsentAction, input: { customerId: string; purpose: string; noticeVersion: string; evidence?: Record<string, unknown>; capturedAt?: Date; }) => Promise<ConsentReceipt>
defineIdConfig
Function
(input?: Partial<Omit<IndonesiaExtensionConfig, "regions" | "pdp">> & { regions?: IndonesiaExtensionConfig["regions"]; pdp?: Partial<IndonesiaExtensionConfig["pdp"]>; }) => IndonesiaExtensionConfigenRegionalCatalog
Value
IdRegionalCatalogID_REGIONAL_MESSAGE_KEYS
Value
readonly ["address.province", "address.city", "address.district", "address.village", "address.postal_code", "address.postal_choice_required", "payment.kode_unik.title", "payment.kode_unik.exact_amount", "payment.expires_at", "payment.review_required", "tax.ppn", "tax.ppn_luxury", "privacy.consent.whatsapp", "privacy.consent.withdrawn", "privacy.request.export", "privacy.request.correction", "privacy.request.deletion", "shipping.delivery_failed", "shipping.returned"]idIDCatalog
Value
IdRegionalCatalogIdRegionalCatalog
Type
IdRegionalCatalogIdRegionalMessageKey
Type
"address.province" | "address.city" | "address.district" | "address.village" | "address.postal_code" | "address.postal_choice_required" | "payment.kode_unik.title" | "payment.kode_unik.exact_amount" | "payment.expires_at" | "payment.review_required" | "tax.ppn" | "tax.ppn_luxury" | "privacy.consent.whatsapp" | "privacy.consent.withdrawn" | "privacy.request.export" | "privacy.request.correction" | "privacy.request.deletion" | "shipping.delivery_failed" | "shipping.returned"INDONESIA_REGIONS_DELIVERY
Value
{ readonly mode: "importer_only"; readonly cadence: "quarterly"; readonly redistribution: "No administrative-area records are bundled. Hosts must supply a licensed source."; }IndonesiaAddressInput
Interface
IndonesiaAddressInputPublic members
firstName:stringlastName:stringcompany:string | undefinedline1:stringline2:string | undefinedphone:string | undefinedprovinceId:stringcityId:stringdistrictId:stringvillageId:string | undefinedpostalCode:string | undefined
IndonesiaAddressValidationError
Class
IndonesiaAddressValidationErrorPublic members
code:"INDONESIA_ADDRESS_INVALID"field:keyof IndonesiaAddressInputname:stringmessage:stringstack:string | undefinedcause:unknown
IndonesiaExtensionConfig
Interface
IndonesiaExtensionConfigPublic members
addressMode:booleanmerchantId:stringregions:{ onUnmatched?: (metric: UnmatchedIndonesiaAddressMetric) => void | Promise<void>; }pdp:{ authorize: PdpAuthorizer<unknown>; retention?: { cron: string; policyVersion: string; inactiveAfterDays: number; batchSize?: number; }; }
IndonesiaPpnCalculator
Class
IndonesiaPpnCalculatorPublic members
statutoryRateBp:numberregulation:stringcalculate:(input: Parameters<TaxCalculator["calculate"]>[0]) => Promise<TaxLineResult[]>
IndonesiaRegionImporter
Class
IndonesiaRegionImporterPublic members
#versionsTable:string#regionsTable:string#postalTable:stringdb:Databaseimport:(provenance: IndonesiaRegionProvenance, source: AsyncIterable<IndonesiaRegionRecord> | Iterable<IndonesiaRegionRecord>) => Promise<IndonesiaRegionImportResult>
IndonesiaRegionImportResult
Interface
IndonesiaRegionImportResultPublic members
version:stringchecksum:stringregions:numberpostalMappings:number
IndonesiaRegionLevel
Type
IndonesiaRegionLevelIndonesiaRegionListInput
Interface
IndonesiaRegionListInputPublic members
query:string | undefinedlevel:IndonesiaRegionLevel | undefinedcursor:string | undefinedlimit:number | undefined
IndonesiaRegionListPage
Interface
IndonesiaRegionListPagePublic members
items:IndonesiaRegionMatch[]nextCursor:string | nulltotal:number
IndonesiaRegionMatch
Interface
IndonesiaRegionMatchPublic members
sourceId:stringparentSourceId:string | nulllevel:IndonesiaRegionLevelname:string
IndonesiaRegionProvenance
Interface
IndonesiaRegionProvenancePublic members
source:stringsourceUrl:stringversion:stringretrievedAt:stringlicense:stringlicenseUrl:stringexpectedChecksum:stringcorrections:string[] | undefined
IndonesiaRegionRecord
Interface
IndonesiaRegionRecordPublic members
sourceId:stringparentSourceId:string | nulllevel:IndonesiaRegionLevelname:stringpostalCodes:string[] | undefined
IndonesiaRegionService
Class
IndonesiaRegionServicePublic members
#versionsTable:string#regionsTable:string#postalTable:stringdb:DatabaseonUnmatched:((metric: UnmatchedIndonesiaAddressMetric) => void | Promise<void>) | undefinedprovenance:() => Promise<Record<string, unknown> | null>list:(input?: IndonesiaRegionListInput) => Promise<IndonesiaRegionListPage>typeahead:(input: { query: string; level?: IndonesiaRegionLevel; parentSourceId?: string; limit?: number; }) => Promise<IndonesiaRegionMatch[]>find:(sourceId: string, level?: IndonesiaRegionLevel) => Promise<IndonesiaRegionMatch | null>postalCodes:(sourceId: string) => Promise<string[]>recordUnmatched:(metric: UnmatchedIndonesiaAddressMetric) => Promise<void>
kodeUnik
Function
(options: Omit<KodeUnikOptions, "database"> & { database?: Database; }) => DriverFactory<PaymentProvider>KodeUnikAdminAction
Type
KodeUnikAdminActionKodeUnikAdminService
Class
KodeUnikAdminService<Actor>Public members
db:Databasepayments:PaymentServiceprovider:KodeUnikPaymentProviderauthorize:KodeUnikAuthorizer<Actor>confirm:(input: { actor: Actor; actorId: string; order: Order; intent: PaymentIntent; reference: string; }) => Promise<PaymentIntent>reject:(input: { actor: Actor; actorId: string; order: Order; intent: PaymentIntent; reason: string; }) => Promise<PaymentIntent>lockOwnedLease:(order: Order, intent: PaymentIntent, trx: TransactionClientContract) => Promise<LeaseRow>assertAuthorized:(actor: Actor, action: KodeUnikAdminAction, order: Order) => Promise<void>
KodeUnikAuthorizationError
Class
KodeUnikAuthorizationErrorPublic members
code:"KODE_UNIK_UNAUTHORIZED"name:stringmessage:stringstack:string | undefinedcause:unknown
KodeUnikAuthorizer
Type
KodeUnikAuthorizer<Actor>KodeUnikManualRefundRequiredError
Class
KodeUnikManualRefundRequiredErrorPublic members
code:"KODE_UNIK_MANUAL_REFUND_REQUIRED"operatorAction:"record_manual_transfer_reference"name:stringmessage:stringstack:string | undefinedcause:unknown
KodeUnikOptions
Interface
KodeUnikOptionsPublic members
receivingAccount:KodeUnikReceivingAccountexpiresAfterMinutes:number | undefinedtablePrefix:string | undefineddatabase:Database | undefined
KodeUnikPaymentProvider
Class
KodeUnikPaymentProviderPublic members
code:"kode_unik"#activeTable:string#archiveTable:stringdb:Databaseoptions:Omit<KodeUnikOptions, "database">activeLeaseTable:() => stringcapabilities:() => { authorize: boolean; capture: boolean; refund: boolean; void: boolean; clientConfirmation: boolean; flow: "deferred"; }createIntent:(input: Parameters<PaymentProvider["createIntent"]>[0]) => Promise<{ providerIntentId: string; state: "pending"; expiresAt: DateTime<boolean>; adjustment: { sourceType: string; sourceId: string; label: string; amount: any; included: boolean; eligible: boolean; position: number; metadata: { receivingAccount: string; code: number; }; }; instructions: { displayName: string; expiresAt: DateTime<boolean>; metadata: { provider: string; receivingAccount: string; uniqueCode: string; }; accountName?: string | undefined; type: "bank_transfer"; bankName: string; accountNumber: string; }[]; raw: { leaseId: string; }; }>confirm:() => Promise<{ state: "pending"; }>capture:() => Promise<{ providerChargeId: string; }>refund:() => Promise<{ providerRefundId: string; }>void:(input: Parameters<PaymentProvider["void"]>[0]) => Promise<void>retrieveIntent:(providerIntentId: string) => Promise<DeferredPaymentStatus>healthCheck:() => Promise<void>verifyWebhook:(_raw: RawWebhookRequest) => Promise<boolean>normalizeWebhook:() => Promise<{ type: "unhandled"; providerEventId: string; }>archiveLease:(providerIntentId: string, outcome: LeaseOutcome, resolutionReference: string | null, trx?: TransactionClientContract) => Promise<void>allocate:(reference: string, baseAmount: Money) => Promise<LeaseRow>archiveExpired:(trx: TransactionClientContract) => Promise<void>archive:(lease: LeaseRow, outcome: LeaseOutcome, resolutionReference: string | null, client: LeaseClient) => Promise<void>assertIdr:(amount: Money) => void
KodeUnikReceivingAccount
Interface
KodeUnikReceivingAccountPublic members
id:stringbankName:stringaccountNumber:stringaccountName:string | undefined
parseCodRemittanceCsv
Function
(input: string) => CodRemittanceRow[]PDP_RETENTION_JOB
Value
"commerce.id.pdp-retention.v1"PdpAuthorizationError
Class
PdpAuthorizationErrorPublic members
code:"PDP_UNAUTHORIZED"name:stringmessage:stringstack:string | undefinedcause:unknown
PdpAuthorizer
Type
PdpAuthorizer<Actor>PdpLegalHoldService
Class
PdpLegalHoldServicePublic members
#table:stringdb:Databaseplace:(customerId: string, reason: string, actor: string) => Promise<string>release:(id: string, actor: string) => Promise<void>
PdpPortabilityExport
Interface
PdpPortabilityExportPublic members
schemaVersion:"commerce.id.pdp-export.v1"core:CustomerPortabilityExportconsentReceipts:ConsentReceipt[]rightsRequests:PdpRightsRequest[]
PdpRequestKind
Type
PdpRequestKindPdpRequestState
Type
PdpRequestStatePdpRetentionPolicy
Interface
PdpRetentionPolicyPublic members
version:stringinactiveBefore:DatebatchSize:number | undefined
PdpRetentionService
Class
PdpRetentionServicePublic members
#holdsTable:string#actionsTable:stringdb:Databaseregistry:ModelRegistrycustomers:CustomerServiceplan:(policy: PdpRetentionPolicy) => Promise<string[]>execute:(policy: PdpRetentionPolicy, options: { dryRun: boolean; }) => Promise<string[]>
PdpRightsRequest
Interface
PdpRightsRequestPublic members
id:stringcustomerId:stringkind:PdpRequestKindstate:PdpRequestStatenoticeVersion:stringrequestedAt:stringcompletedAt:string | nullpayload:Record<string, unknown>
PdpRightsService
Class
PdpRightsService<Actor>Public members
#requestsTable:string#holdsTable:stringdb:Databaseregistry:ModelRegistrycustomers:CustomerServiceconsents:ConsentReceiptServiceauthorize:PdpAuthorizer<Actor>submit:(input: { actor: Actor; customerId: string; kind: PdpRequestKind; noticeVersion: string; payload?: Record<string, unknown>; }) => Promise<PdpRightsRequest>export:(actor: Actor, customerId: string) => Promise<PdpPortabilityExport>list:(actor: Actor, customerId: string) => Promise<PdpRightsRequest[]>completeCorrection:(input: { actor: Actor; requestId: string; correction: Partial<Pick<Customer, "email" | "firstName" | "lastName" | "phone">>; }) => Promise<PdpRightsRequest>completeDeletion:(input: { actor: Actor; requestId: string; }) => Promise<PdpRightsRequest>#request:(id: string) => Promise<PdpRightsRequest>#map:(row: Record<string, any>) => PdpRightsRequest#authorized:(actor: Actor, action: Parameters<PdpAuthorizer<Actor>>[1], customerId: string) => Promise<void>
PPN_REGULATION
Value
"PMK 131/2024"PPN_STATUTORY_RATE_BP
Value
1200PpnAuditService
Class
PpnAuditServicePublic members
db:DatabasetablePrefix:stringgenerate:(month: string) => Promise<{ csv: string; rows: number; total: bigint; }>
ppnCalculator
Function
(options?: PpnCalculatorOptions) => DriverFactory<TaxCalculator>PpnCalculatorOptions
Interface
PpnCalculatorOptionsPublic members
statutoryRateBp:number | undefinedregulation:string | undefined
PpnCategory
Type
PpnCategoryRunPdpRetention
Class
RunPdpRetentionPublic members
retention:PdpRetentionServicehandle:(payload: JobPayload) => Promise<void>
UnmatchedIndonesiaAddressMetric
Interface
UnmatchedIndonesiaAddressMetricPublic members
countryCode:"ID"provinceId:string | undefinedcityId:string | undefineddistrictId:string | undefinedvillageId:string | undefinedreason:"unknown_region" | "ambiguous_postal_code" | "postal_code_mismatch"
validateIndonesiaAddress
Function
(input: IndonesiaAddressInput, regions: IndonesiaRegionService) => Promise<AddressInput>@adocommercekit/biteship
biteship
Function
(options: BiteshipOptions) => () => Promise<BiteshipProvider>BITESHIP_API_BASE_URL
Value
"https://api.biteship.com/v1"BITESHIP_API_VERSION
Value
"v1"BiteshipOptions
Interface
BiteshipOptionsPublic members
apiKey:stringorigin:BiteshipOrigincouriers:string[]baseUrl:string | undefinedquoteTtlSeconds:number | undefinedcacheTtlSeconds:number | undefinedtimeoutMs:number | undefinedtimeoutBehavior:"block" | "fallback" | undefinedfallbackQuotes:((request: ShippingQuoteRequest, error: unknown) => Promise<ShippingQuoteDraft[]>) | undefinedresolveArea:((address: AddressInput) => Promise<string>) | undefineddefaultService:string | undefinedwebhookVerifier:((body: Buffer, signature: string) => boolean) | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
BiteshipOrigin
Interface
BiteshipOriginPublic members
areaId:stringpostalCode:string | undefinedaddress:stringcontactName:stringcontactPhone:stringcontactEmail:string | undefined
BiteshipProvider
Class
BiteshipProviderPublic members
code:"biteship"#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }#baseUrl:string#cache:Map<string, CachedQuotes>options:BiteshipOptionscapabilities:() => { readonly rates: true; readonly waybill: true; readonly tracking: true; readonly insurance: true; readonly cod: true; readonly returnTracking: true; }quote:(input: ShippingQuoteRequest) => Promise<ShippingQuoteDraft[]>prepare:(input: Parameters<FulfillmentProvider["prepare"]>[0]) => Promise<{ providerShipmentId: string; waybill: string; trackingNumber: string; carrier: string | undefined; raw: { id: string; status: any; }; }>status:(providerShipmentId: string) => Promise<{ status: FulfillmentStatus; occurredAt: DateTime<true> | DateTime<false> | undefined; raw: { id: any; status: any; }; }>normalizeTrackingWebhook:(body: Buffer, signature?: string) => { providerShipmentId: string; status: FulfillmentStatus; occurredAt?: DateTime; }#destinationArea:(address: AddressInput | null) => Promise<string>#quoteKey:(input: ShippingQuoteRequest, destination: string) => string#request:(path: string, init: RequestInit) => Promise<Record<string, any>>
BiteshipRequestError
Class
BiteshipRequestErrorPublic members
code:"BITESHIP_REQUEST_FAILED"status:number | undefinedname:stringmessage:stringstack:string | undefinedcause:unknown
configure
Function
(command: Configure) => Promise<void>enMessages
Value
Record<"biteship.quote.unavailable" | "biteship.tracking.returned", string>idIDMessages
Value
{ readonly "biteship.quote.unavailable": "Tarif pengiriman Biteship tidak tersedia"; readonly "biteship.tracking.returned": "Paket dikembalikan oleh kurir"; }@adocommercekit/rajaongkir
configure
Function
(command: Configure) => Promise<void>enMessages
Value
Record<"rajaongkir.quote.unavailable" | "rajaongkir.fulfillment.unsupported", string>idIDMessages
Value
{ readonly "rajaongkir.quote.unavailable": "Tarif RajaOngkir tidak tersedia"; readonly "rajaongkir.fulfillment.unsupported": "Pembuatan resi tidak didukung oleh integrasi ini"; }KOMERCE_RAJAONGKIR_API_VERSION
Value
"v1"KOMERCE_RAJAONGKIR_BASE_URL
Value
"https://rajaongkir.komerce.id/api/v1"rajaOngkir
Function
(options: RajaOngkirOptions) => () => Promise<RajaOngkirProvider>RajaOngkirOptions
Interface
RajaOngkirOptionsPublic members
apiKey:stringoriginId:stringcouriers:string[]baseUrl:string | undefinedquoteTtlSeconds:number | undefinedtimeoutMs:number | undefinedresolveDestination:((address: AddressInput) => Promise<string>) | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
RajaOngkirProvider
Class
RajaOngkirProviderPublic members
code:"rajaongkir"#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }#baseUrl:stringoptions:RajaOngkirOptionscapabilities:() => { readonly rates: true; readonly tracking: true; readonly waybill: false; readonly fulfillment: false; readonly cod: false; readonly insurance: false; }quote:(input: ShippingQuoteRequest) => Promise<ShippingQuoteDraft[]>track:(waybill: string, courier: string) => Promise<{ status: FulfillmentStatus; occurredAt?: DateTime; raw: unknown; }>#destination:(address: AddressInput | null) => Promise<string>#request:(path: string, body: URLSearchParams) => Promise<Record<string, any>>
RajaOngkirRequestError
Class
RajaOngkirRequestErrorPublic members
code:"RAJAONGKIR_REQUEST_FAILED"status:number | undefinedname:stringmessage:stringstack:string | undefinedcause:unknown
@adocommercekit/whatsapp
CommerceWhatsAppConfig
Interface
CommerceWhatsAppConfigPublic members
enabled:booleancloud:WhatsAppCloudOptionsnoticeVersion:stringmaxAttempts:numberresolver:WhatsAppMessageResolverfallback:WhatsAppFallbackNotifier | undefinedlogger:WhatsAppLogger | undefined
configure
Function
(command: Configure) => Promise<void>defineWhatsAppConfig
Function
(input?: Partial<Omit<CommerceWhatsAppConfig, "cloud" | "resolver">> & { cloud?: Partial<WhatsAppCloudOptions>; resolver?: WhatsAppMessageResolver; }) => CommerceWhatsAppConfigenMessages
Value
Record<"whatsapp.order.placed" | "whatsapp.payment.captured" | "whatsapp.payment.expired" | "whatsapp.shipment.shipped" | "whatsapp.shipment.delivered" | "whatsapp.shipment.returned", string>idIDMessages
Value
{ readonly "whatsapp.order.placed": "Pesanan Anda telah dibuat"; readonly "whatsapp.payment.captured": "Pembayaran Anda telah diterima"; readonly "whatsapp.payment.expired": "Instruksi pembayaran telah kedaluwarsa"; readonly "whatsapp.shipment.shipped": "Pesanan Anda sedang dikirim"; readonly "whatsapp.shipment.delivered": "Pesanan Anda telah diterima"; readonly "whatsapp.shipment.returned": "Pesanan Anda dikembalikan"; }WHATSAPP_COMMERCE_EVENTS
Value
ReadonlySet<string>WHATSAPP_JOB
Value
"commerce.whatsapp.send-template.v1"WHATSAPP_PURPOSE
Value
"order_updates_whatsapp"WhatsAppCloudApiError
Class
WhatsAppCloudApiErrorPublic members
code:stringproviderCode:number | undefinedstatus:number | undefinedname:stringmessage:stringstack:string | undefinedcause:unknown
WhatsAppCloudClient
Class
WhatsAppCloudClientPublic members
#fetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; }#baseUrl:stringoptions:WhatsAppCloudOptionssendTemplate:(message: WhatsAppTemplateMessage) => Promise<string>
WhatsAppCloudOptions
Interface
WhatsAppCloudOptionsPublic members
accessToken:stringphoneNumberId:stringapiVersion:stringbaseUrl:string | undefinedtimeoutMs:number | undefinedfetch:{ (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
WhatsAppFallbackNotifier
Interface
WhatsAppFallbackNotifierPublic members
notify:(input: { event: string; customerId: string; reference: string; reason: string; }) => Promise<void>
WhatsAppLogger
Interface
WhatsAppLoggerPublic members
info:(message: string, context: Readonly<Record<string, unknown>>) => voiderror:(message: string, context: Readonly<Record<string, unknown>>) => void
WhatsAppMessageResolver
Interface
WhatsAppMessageResolverPublic members
resolve:(event: string, payload: unknown) => Promise<WhatsAppTemplateMessage | null>
WhatsAppNotificationOptions
Interface
WhatsAppNotificationOptionsPublic members
noticeVersion:stringmaxAttempts:number | undefinedfallback:WhatsAppFallbackNotifier | undefinedlogger:WhatsAppLogger | undefined
WhatsAppNotificationService
Class
WhatsAppNotificationServicePublic members
client:WhatsAppCloudClientdispatcher:JobDispatcherconsents:ConsentReceiptServiceresolver:WhatsAppMessageResolveroptions:WhatsAppNotificationOptionsonEvent:(event: string, payload: unknown) => Promise<"queued" | "suppressed" | "ignored">handle:(payload: JobPayload) => Promise<void>#hasConsent:(customerId: string) => Promise<boolean>
WhatsAppTemplateDefinition
Interface
WhatsAppTemplateDefinitionPublic members
name:stringlanguage:string
WhatsAppTemplateMessage
Interface
WhatsAppTemplateMessagePublic members
customerId:stringto:stringtemplate:WhatsAppTemplateDefinitioncomponents:Record<string, unknown>[] | undefinedreference:string
WhatsAppTemplateNotApprovedError
Class
WhatsAppTemplateNotApprovedErrorPublic members
code:"WHATSAPP_TEMPLATE_NOT_APPROVED"providerCode:number | undefinedstatus:number | undefinedname:stringmessage:stringstack:string | undefinedcause:unknown