@shoppexio/storefront 1.0.89 → 1.0.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/{chunk-ROQI7BO6.js → chunk-UW6DFRB5.js} +90 -424
- package/dist/chunk-UW6DFRB5.js.map +1 -0
- package/dist/customer.cjs +268 -244
- package/dist/customer.cjs.map +1 -1
- package/dist/customer.d.cts +8 -11
- package/dist/customer.d.ts +8 -11
- package/dist/customer.js +346 -56
- package/dist/customer.js.map +1 -1
- package/dist/index.cjs +22162 -24428
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +87 -3
- package/dist/index.d.ts +87 -3
- package/dist/index.js +299 -2290
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ROQI7BO6.js.map +0 -1
package/dist/customer.cjs
CHANGED
|
@@ -19694,7 +19694,7 @@ function date4(params) {
|
|
|
19694
19694
|
return _coercedDate(ZodDate, params);
|
|
19695
19695
|
}
|
|
19696
19696
|
|
|
19697
|
-
// ../contracts/src/customer-
|
|
19697
|
+
// ../contracts/src/customer-account-wire.ts
|
|
19698
19698
|
var nullableStringSchema = external_exports.string().nullable();
|
|
19699
19699
|
var unknownRecordSchema = external_exports.record(external_exports.string(), external_exports.unknown());
|
|
19700
19700
|
var customerPortalBrandingSchema = external_exports.object({
|
|
@@ -19703,25 +19703,6 @@ var customerPortalBrandingSchema = external_exports.object({
|
|
|
19703
19703
|
secondary_color: external_exports.string(),
|
|
19704
19704
|
accent_color: external_exports.string()
|
|
19705
19705
|
});
|
|
19706
|
-
var customerPortalMeSchema = external_exports.object({
|
|
19707
|
-
customer: external_exports.object({
|
|
19708
|
-
id: nullableStringSchema,
|
|
19709
|
-
email: external_exports.string(),
|
|
19710
|
-
name: external_exports.string(),
|
|
19711
|
-
avatar_url: nullableStringSchema,
|
|
19712
|
-
joined_at: nullableStringSchema
|
|
19713
|
-
}),
|
|
19714
|
-
shop: external_exports.object({
|
|
19715
|
-
id: external_exports.string(),
|
|
19716
|
-
slug: external_exports.string(),
|
|
19717
|
-
name: external_exports.string(),
|
|
19718
|
-
currency: external_exports.string(),
|
|
19719
|
-
branding: customerPortalBrandingSchema
|
|
19720
|
-
}),
|
|
19721
|
-
// Same-origin consumers may receive the server-side bearer exchange token.
|
|
19722
|
-
// The external headless transport always produces null here.
|
|
19723
|
-
token: nullableStringSchema
|
|
19724
|
-
});
|
|
19725
19706
|
var customerPortalProductImageSnakeSchema = external_exports.object({
|
|
19726
19707
|
attachment_image_id: external_exports.object({
|
|
19727
19708
|
cloudflare_image_id: nullableStringSchema
|
|
@@ -19767,16 +19748,6 @@ var customerPortalPaginatedInvoicesSchema = external_exports.object({
|
|
|
19767
19748
|
has_more: external_exports.boolean()
|
|
19768
19749
|
})
|
|
19769
19750
|
});
|
|
19770
|
-
var customerPortalOrderReviewSchema = external_exports.object({
|
|
19771
|
-
can_review: external_exports.boolean(),
|
|
19772
|
-
already_submitted: external_exports.boolean(),
|
|
19773
|
-
feedback_uniqid: nullableStringSchema,
|
|
19774
|
-
product_title: nullableStringSchema,
|
|
19775
|
-
score: external_exports.union([external_exports.literal(1), external_exports.literal(3), external_exports.literal(5)]).nullable(),
|
|
19776
|
-
is_automated: external_exports.boolean(),
|
|
19777
|
-
message: nullableStringSchema,
|
|
19778
|
-
submitted_at: nullableStringSchema
|
|
19779
|
-
});
|
|
19780
19751
|
var customerPortalPaymentSchema = external_exports.object({
|
|
19781
19752
|
gateway: external_exports.string(),
|
|
19782
19753
|
/** Merchant-configured buyer label frozen when the payment attempt started. */
|
|
@@ -19788,6 +19759,27 @@ var customerPortalPaymentSchema = external_exports.object({
|
|
|
19788
19759
|
cryptoAddress: nullableStringSchema,
|
|
19789
19760
|
apmMethod: nullableStringSchema
|
|
19790
19761
|
});
|
|
19762
|
+
var customerPortalInvoiceShippingSchema = external_exports.object({
|
|
19763
|
+
/** Null while no address was entered (an unpaid order). */
|
|
19764
|
+
address: external_exports.object({
|
|
19765
|
+
name: external_exports.string(),
|
|
19766
|
+
line1: external_exports.string(),
|
|
19767
|
+
line2: nullableStringSchema,
|
|
19768
|
+
city: external_exports.string(),
|
|
19769
|
+
state: nullableStringSchema,
|
|
19770
|
+
postalCode: nullableStringSchema,
|
|
19771
|
+
/** ISO 3166-1 alpha-2. */
|
|
19772
|
+
country: external_exports.string(),
|
|
19773
|
+
phone: nullableStringSchema
|
|
19774
|
+
}).nullable(),
|
|
19775
|
+
shippedAt: nullableStringSchema,
|
|
19776
|
+
deliveredAt: nullableStringSchema,
|
|
19777
|
+
trackingCode: nullableStringSchema,
|
|
19778
|
+
/** Merchant-entered; render as a link only after an http(s) check. */
|
|
19779
|
+
trackingUrl: nullableStringSchema,
|
|
19780
|
+
/** Physical lines this order will not ship (sold out or refunded). */
|
|
19781
|
+
notShippingLineItemIds: external_exports.array(external_exports.string())
|
|
19782
|
+
});
|
|
19791
19783
|
var customerPortalInvoiceDetailSchema = external_exports.object({
|
|
19792
19784
|
id: external_exports.string(),
|
|
19793
19785
|
uniqid: external_exports.string(),
|
|
@@ -19814,6 +19806,12 @@ var customerPortalInvoiceDetailSchema = external_exports.object({
|
|
|
19814
19806
|
discount_label: external_exports.enum(["Coupon", "Discount"]),
|
|
19815
19807
|
affiliate_code: nullableStringSchema,
|
|
19816
19808
|
tip: external_exports.string(),
|
|
19809
|
+
/**
|
|
19810
|
+
* Shipping of a physical order in the invoice currency. Null when nothing
|
|
19811
|
+
* on the order ships or no address was quoted yet; "0.00" is free
|
|
19812
|
+
* shipping. Optional so payloads from before physical products parse.
|
|
19813
|
+
*/
|
|
19814
|
+
shipping: nullableStringSchema.optional(),
|
|
19817
19815
|
gateway_fee: external_exports.string(),
|
|
19818
19816
|
platform_fee: external_exports.string(),
|
|
19819
19817
|
processing_fee: external_exports.string(),
|
|
@@ -19864,25 +19862,17 @@ var customerPortalInvoiceDetailSchema = external_exports.object({
|
|
|
19864
19862
|
}).nullable()
|
|
19865
19863
|
}).nullable()
|
|
19866
19864
|
})),
|
|
19865
|
+
/**
|
|
19866
|
+
* Shipment of an order with physical lines, for the authenticated buyer: the
|
|
19867
|
+
* full address (their own order) plus the shipment state. Null when nothing
|
|
19868
|
+
* on the order ships; optional so payloads from before physical products
|
|
19869
|
+
* parse. Producer: `buildCustomerInvoiceShipping`
|
|
19870
|
+
* (apps/backend/src/services/shipping/shippingQuote.ts).
|
|
19871
|
+
*/
|
|
19872
|
+
shipping: customerPortalInvoiceShippingSchema.nullable().optional(),
|
|
19867
19873
|
currentPayment: customerPortalPaymentSchema.nullable(),
|
|
19868
19874
|
payments: external_exports.array(customerPortalPaymentSchema)
|
|
19869
19875
|
});
|
|
19870
|
-
var customerPortalWalletTopupQuoteSchema = external_exports.object({
|
|
19871
|
-
quote: external_exports.object({
|
|
19872
|
-
enabled: external_exports.boolean(),
|
|
19873
|
-
currency: external_exports.string(),
|
|
19874
|
-
min_amount: external_exports.string(),
|
|
19875
|
-
max_amount: nullableStringSchema,
|
|
19876
|
-
bonus_tiers: external_exports.array(external_exports.object({
|
|
19877
|
-
min_amount: external_exports.string(),
|
|
19878
|
-
bonus_percent: external_exports.number()
|
|
19879
|
-
}))
|
|
19880
|
-
})
|
|
19881
|
-
});
|
|
19882
|
-
var customerPortalWalletTopupResultSchema = external_exports.object({
|
|
19883
|
-
invoice_id: external_exports.string(),
|
|
19884
|
-
url: external_exports.string()
|
|
19885
|
-
});
|
|
19886
19876
|
var customerPortalRewardActivityItemSchema = external_exports.object({
|
|
19887
19877
|
id: external_exports.string(),
|
|
19888
19878
|
type: external_exports.string(),
|
|
@@ -19934,29 +19924,15 @@ var customerPortalAffiliateLinkSchema = external_exports.object({
|
|
|
19934
19924
|
created_at: nullableStringSchema,
|
|
19935
19925
|
updated_at: nullableStringSchema
|
|
19936
19926
|
});
|
|
19937
|
-
var
|
|
19938
|
-
|
|
19939
|
-
|
|
19940
|
-
|
|
19941
|
-
|
|
19942
|
-
|
|
19943
|
-
|
|
19944
|
-
|
|
19945
|
-
|
|
19946
|
-
link_id: external_exports.string(),
|
|
19947
|
-
code: external_exports.string(),
|
|
19948
|
-
label: nullableStringSchema,
|
|
19949
|
-
clicks: external_exports.number(),
|
|
19950
|
-
add_to_carts: external_exports.number(),
|
|
19951
|
-
checkouts_started: external_exports.number()
|
|
19952
|
-
})),
|
|
19953
|
-
daily: external_exports.array(external_exports.object({
|
|
19954
|
-
date: external_exports.string(),
|
|
19955
|
-
clicks: external_exports.number(),
|
|
19956
|
-
add_to_carts: external_exports.number(),
|
|
19957
|
-
checkouts_started: external_exports.number()
|
|
19958
|
-
}))
|
|
19959
|
-
});
|
|
19927
|
+
var customerPortalAffiliateLedgerStatusSchema = external_exports.enum([
|
|
19928
|
+
"waiting_payment",
|
|
19929
|
+
"earned",
|
|
19930
|
+
"in_payout_request",
|
|
19931
|
+
"store_credit",
|
|
19932
|
+
"paid_out",
|
|
19933
|
+
"split",
|
|
19934
|
+
"voided"
|
|
19935
|
+
]);
|
|
19960
19936
|
var customerPortalAffiliateSummarySchema = external_exports.object({
|
|
19961
19937
|
customer: external_exports.object({
|
|
19962
19938
|
id: external_exports.string(),
|
|
@@ -19988,6 +19964,15 @@ var customerPortalAffiliateSummarySchema = external_exports.object({
|
|
|
19988
19964
|
id: external_exports.string(),
|
|
19989
19965
|
invoice_id: external_exports.string(),
|
|
19990
19966
|
commission_amount: external_exports.string(),
|
|
19967
|
+
ledger_status: customerPortalAffiliateLedgerStatusSchema,
|
|
19968
|
+
/** USD still earned: not yet requested, paid out or turned into store credit. */
|
|
19969
|
+
earned_amount: external_exports.string(),
|
|
19970
|
+
/** USD in an open payout request. */
|
|
19971
|
+
requested_amount: external_exports.string(),
|
|
19972
|
+
/** USD paid out. */
|
|
19973
|
+
paid_amount: external_exports.string(),
|
|
19974
|
+
/** USD converted to store credit. */
|
|
19975
|
+
store_credit_amount: external_exports.string(),
|
|
19991
19976
|
base_amount: external_exports.string(),
|
|
19992
19977
|
discount_amount: external_exports.string(),
|
|
19993
19978
|
status: external_exports.string(),
|
|
@@ -20069,7 +20054,7 @@ var customerLoyaltySchema = external_exports.object({
|
|
|
20069
20054
|
min_redeem_points: external_exports.number()
|
|
20070
20055
|
}).nullable(),
|
|
20071
20056
|
transactions: external_exports.array(external_exports.object({
|
|
20072
|
-
type: external_exports.enum(["EARN_ORDER", "EARN_REVIEW", "REDEEM", "ADJUST"]),
|
|
20057
|
+
type: external_exports.enum(["EARN_ORDER", "EARN_REVIEW", "REDEEM", "ADJUST", "REVOKE"]),
|
|
20073
20058
|
points: external_exports.number(),
|
|
20074
20059
|
balance_after: external_exports.number(),
|
|
20075
20060
|
description: nullableStringSchema,
|
|
@@ -20102,40 +20087,195 @@ var customerWarrantyClaimSchema = external_exports.object({
|
|
|
20102
20087
|
claim_status: external_exports.literal("REQUESTED")
|
|
20103
20088
|
})
|
|
20104
20089
|
});
|
|
20090
|
+
var customerPortalDashboardSchema = external_exports.object({
|
|
20091
|
+
shop: external_exports.object({
|
|
20092
|
+
id: external_exports.string(),
|
|
20093
|
+
slug: external_exports.string(),
|
|
20094
|
+
name: external_exports.string(),
|
|
20095
|
+
currency: external_exports.string(),
|
|
20096
|
+
branding: customerPortalBrandingSchema
|
|
20097
|
+
}),
|
|
20098
|
+
customer: external_exports.object({
|
|
20099
|
+
email: external_exports.string(),
|
|
20100
|
+
name: external_exports.string()
|
|
20101
|
+
}),
|
|
20102
|
+
stats: external_exports.object({
|
|
20103
|
+
invoices_count: external_exports.number(),
|
|
20104
|
+
licenses_count: external_exports.number(),
|
|
20105
|
+
deliverables_count: external_exports.number(),
|
|
20106
|
+
tickets_count: external_exports.number()
|
|
20107
|
+
}),
|
|
20108
|
+
wallet: external_exports.object({
|
|
20109
|
+
available: external_exports.string(),
|
|
20110
|
+
total: external_exports.string(),
|
|
20111
|
+
hold: external_exports.string(),
|
|
20112
|
+
currency: external_exports.string(),
|
|
20113
|
+
enabled: external_exports.boolean()
|
|
20114
|
+
}).nullable(),
|
|
20115
|
+
rewards: customerPortalRewardsSchema,
|
|
20116
|
+
affiliate: customerPortalAffiliateSummarySchema,
|
|
20117
|
+
invoices: external_exports.array(customerPortalDashboardInvoiceSchema),
|
|
20118
|
+
subscriptions: external_exports.array(customerPortalSubscriptionSummarySchema),
|
|
20119
|
+
licenses: external_exports.array(external_exports.object({
|
|
20120
|
+
uniqid: external_exports.string(),
|
|
20121
|
+
/*
|
|
20122
|
+
* Both of these are produced by `getCustomerProductsLicenses` and were
|
|
20123
|
+
* simply missing here. Without `invoice_id` a consumer cannot tell which
|
|
20124
|
+
* purchase a license belongs to, and without `status` it cannot tell an
|
|
20125
|
+
* active license from a suspended, revoked or expired one — the projection
|
|
20126
|
+
* computes exactly that.
|
|
20127
|
+
*/
|
|
20128
|
+
invoice_id: external_exports.string(),
|
|
20129
|
+
status: external_exports.string(),
|
|
20130
|
+
license_key: external_exports.string(),
|
|
20131
|
+
hardware_id: nullableStringSchema,
|
|
20132
|
+
expires_at: external_exports.number().nullable(),
|
|
20133
|
+
/*
|
|
20134
|
+
* Server-decided: the product behind this license still exists, still
|
|
20135
|
+
* sells through storefront checkout, and still has licensing enabled.
|
|
20136
|
+
* The portal cannot derive any of that, so it renders the renew action
|
|
20137
|
+
* from this flag alone instead of guessing and offering a dead button.
|
|
20138
|
+
*/
|
|
20139
|
+
renewable: external_exports.boolean(),
|
|
20140
|
+
product: external_exports.object({
|
|
20141
|
+
title: external_exports.string().optional()
|
|
20142
|
+
}).optional()
|
|
20143
|
+
})),
|
|
20144
|
+
deliverables: external_exports.array(external_exports.object({
|
|
20145
|
+
id: external_exports.string(),
|
|
20146
|
+
invoice_uniqid: external_exports.string(),
|
|
20147
|
+
product_title: external_exports.string(),
|
|
20148
|
+
kind: external_exports.enum(["file", "serial", "license"]),
|
|
20149
|
+
label: external_exports.string(),
|
|
20150
|
+
value: external_exports.string(),
|
|
20151
|
+
href: nullableStringSchema,
|
|
20152
|
+
created_at: external_exports.string()
|
|
20153
|
+
})),
|
|
20154
|
+
tickets: external_exports.array(external_exports.object({
|
|
20155
|
+
uniqid: external_exports.string(),
|
|
20156
|
+
title: external_exports.string(),
|
|
20157
|
+
status: external_exports.string(),
|
|
20158
|
+
updated_at: external_exports.string(),
|
|
20159
|
+
created_at: nullableStringSchema
|
|
20160
|
+
}))
|
|
20161
|
+
});
|
|
20162
|
+
var customerPortalNotificationPreferencesSchema = external_exports.object({
|
|
20163
|
+
order_created_emails: external_exports.boolean(),
|
|
20164
|
+
order_completed_emails: external_exports.boolean(),
|
|
20165
|
+
payment_issue_emails: external_exports.boolean()
|
|
20166
|
+
});
|
|
20167
|
+
var customerPortalAffiliateCreateLinkSchema = external_exports.object({
|
|
20168
|
+
affiliate_link: external_exports.object({
|
|
20169
|
+
id: external_exports.string(),
|
|
20170
|
+
customer_id: external_exports.string(),
|
|
20171
|
+
label: nullableStringSchema,
|
|
20172
|
+
code: external_exports.string(),
|
|
20173
|
+
url: nullableStringSchema,
|
|
20174
|
+
status: external_exports.enum(["pending", "approved", "rejected"]),
|
|
20175
|
+
requested_affiliate_revenue_percent: external_exports.number().nullable(),
|
|
20176
|
+
requested_affiliate_customer_discount_percent: external_exports.number().nullable(),
|
|
20177
|
+
created_at: external_exports.string(),
|
|
20178
|
+
updated_at: external_exports.string()
|
|
20179
|
+
})
|
|
20180
|
+
});
|
|
20181
|
+
|
|
20182
|
+
// ../contracts/src/customer-portal-wire.ts
|
|
20183
|
+
var nullableStringSchema2 = external_exports.string().nullable();
|
|
20184
|
+
var customerPortalMeSchema = external_exports.object({
|
|
20185
|
+
customer: external_exports.object({
|
|
20186
|
+
id: nullableStringSchema2,
|
|
20187
|
+
email: external_exports.string(),
|
|
20188
|
+
name: external_exports.string(),
|
|
20189
|
+
avatar_url: nullableStringSchema2,
|
|
20190
|
+
joined_at: nullableStringSchema2
|
|
20191
|
+
}),
|
|
20192
|
+
shop: external_exports.object({
|
|
20193
|
+
id: external_exports.string(),
|
|
20194
|
+
slug: external_exports.string(),
|
|
20195
|
+
name: external_exports.string(),
|
|
20196
|
+
currency: external_exports.string(),
|
|
20197
|
+
branding: customerPortalBrandingSchema
|
|
20198
|
+
}),
|
|
20199
|
+
token: external_exports.null()
|
|
20200
|
+
});
|
|
20201
|
+
var customerPortalOrderReviewSchema = external_exports.object({
|
|
20202
|
+
can_review: external_exports.boolean(),
|
|
20203
|
+
already_submitted: external_exports.boolean(),
|
|
20204
|
+
feedback_uniqid: nullableStringSchema2,
|
|
20205
|
+
product_title: nullableStringSchema2,
|
|
20206
|
+
score: external_exports.union([external_exports.literal(1), external_exports.literal(3), external_exports.literal(5)]).nullable(),
|
|
20207
|
+
is_automated: external_exports.boolean(),
|
|
20208
|
+
message: nullableStringSchema2,
|
|
20209
|
+
submitted_at: nullableStringSchema2
|
|
20210
|
+
});
|
|
20211
|
+
var customerPortalWalletTopupQuoteSchema = external_exports.object({
|
|
20212
|
+
quote: external_exports.object({
|
|
20213
|
+
enabled: external_exports.boolean(),
|
|
20214
|
+
currency: external_exports.string(),
|
|
20215
|
+
min_amount: external_exports.string(),
|
|
20216
|
+
max_amount: nullableStringSchema2,
|
|
20217
|
+
bonus_tiers: external_exports.array(external_exports.object({
|
|
20218
|
+
min_amount: external_exports.string(),
|
|
20219
|
+
bonus_percent: external_exports.number()
|
|
20220
|
+
}))
|
|
20221
|
+
})
|
|
20222
|
+
});
|
|
20223
|
+
var customerPortalWalletTopupResultSchema = external_exports.object({
|
|
20224
|
+
invoice_id: external_exports.string(),
|
|
20225
|
+
url: external_exports.string()
|
|
20226
|
+
});
|
|
20227
|
+
var customerPortalAffiliateStatsSchema = external_exports.object({
|
|
20228
|
+
window_days: external_exports.number(),
|
|
20229
|
+
totals: external_exports.object({
|
|
20230
|
+
clicks: external_exports.number(),
|
|
20231
|
+
add_to_carts: external_exports.number(),
|
|
20232
|
+
checkouts_started: external_exports.number(),
|
|
20233
|
+
sales: external_exports.number()
|
|
20234
|
+
}),
|
|
20235
|
+
per_link: external_exports.array(external_exports.object({
|
|
20236
|
+
link_id: external_exports.string(),
|
|
20237
|
+
code: external_exports.string(),
|
|
20238
|
+
label: nullableStringSchema2,
|
|
20239
|
+
clicks: external_exports.number(),
|
|
20240
|
+
add_to_carts: external_exports.number(),
|
|
20241
|
+
checkouts_started: external_exports.number()
|
|
20242
|
+
})),
|
|
20243
|
+
daily: external_exports.array(external_exports.object({
|
|
20244
|
+
date: external_exports.string(),
|
|
20245
|
+
clicks: external_exports.number(),
|
|
20246
|
+
add_to_carts: external_exports.number(),
|
|
20247
|
+
checkouts_started: external_exports.number()
|
|
20248
|
+
}))
|
|
20249
|
+
});
|
|
20105
20250
|
var customerPortalProfileUpdateSchema = external_exports.object({
|
|
20106
20251
|
customer: external_exports.object({
|
|
20107
20252
|
id: external_exports.string(),
|
|
20108
20253
|
email: external_exports.string(),
|
|
20109
20254
|
name: external_exports.string(),
|
|
20110
|
-
joined_at:
|
|
20255
|
+
joined_at: nullableStringSchema2
|
|
20111
20256
|
})
|
|
20112
20257
|
});
|
|
20113
20258
|
var customerPortalAvatarSchema = external_exports.object({
|
|
20114
|
-
avatar_url:
|
|
20259
|
+
avatar_url: nullableStringSchema2
|
|
20115
20260
|
});
|
|
20116
20261
|
var customerPortalEmailPreferencesSchema = external_exports.object({
|
|
20117
20262
|
global_unsubscribed: external_exports.boolean(),
|
|
20118
20263
|
lists: external_exports.array(external_exports.object({
|
|
20119
20264
|
id: external_exports.string(),
|
|
20120
20265
|
name: external_exports.string(),
|
|
20121
|
-
description:
|
|
20266
|
+
description: nullableStringSchema2,
|
|
20122
20267
|
subscribed: external_exports.boolean()
|
|
20123
20268
|
}))
|
|
20124
20269
|
});
|
|
20125
20270
|
var customerPortalEmailPreferencesUpdateSchema = external_exports.object({
|
|
20126
20271
|
updated: external_exports.boolean()
|
|
20127
20272
|
});
|
|
20128
|
-
var customerPortalNotificationPreferencesSchema = external_exports.object({
|
|
20129
|
-
order_created_emails: external_exports.boolean(),
|
|
20130
|
-
order_completed_emails: external_exports.boolean(),
|
|
20131
|
-
payment_issue_emails: external_exports.boolean()
|
|
20132
|
-
});
|
|
20133
20273
|
var customerPortalFavoritesSchema = external_exports.object({
|
|
20134
20274
|
favorites: external_exports.array(external_exports.object({
|
|
20135
20275
|
product_uniqid: external_exports.string(),
|
|
20136
20276
|
title: external_exports.string(),
|
|
20137
|
-
slug:
|
|
20138
|
-
image_url:
|
|
20277
|
+
slug: nullableStringSchema2,
|
|
20278
|
+
image_url: nullableStringSchema2,
|
|
20139
20279
|
price_display: external_exports.number(),
|
|
20140
20280
|
unavailable: external_exports.boolean(),
|
|
20141
20281
|
created_at: external_exports.string()
|
|
@@ -20148,7 +20288,7 @@ var customerPortalFavoriteMutationSchema = external_exports.union([
|
|
|
20148
20288
|
var customerPortalLicenseResetSchema = external_exports.object({
|
|
20149
20289
|
license: external_exports.object({
|
|
20150
20290
|
uniqid: external_exports.string(),
|
|
20151
|
-
hardware_id:
|
|
20291
|
+
hardware_id: nullableStringSchema2
|
|
20152
20292
|
})
|
|
20153
20293
|
});
|
|
20154
20294
|
var customerPortalLicenseRenewalSchema = external_exports.object({
|
|
@@ -20177,8 +20317,8 @@ var customerPortalSubscriptionCancelSchema = external_exports.object({
|
|
|
20177
20317
|
id: external_exports.string(),
|
|
20178
20318
|
status: external_exports.string(),
|
|
20179
20319
|
cancel_at_period_end: external_exports.boolean(),
|
|
20180
|
-
cancel_reason:
|
|
20181
|
-
canceled_at:
|
|
20320
|
+
cancel_reason: nullableStringSchema2,
|
|
20321
|
+
canceled_at: nullableStringSchema2
|
|
20182
20322
|
})
|
|
20183
20323
|
});
|
|
20184
20324
|
var customerPortalSubscriptionStatusSchema = external_exports.object({
|
|
@@ -20192,7 +20332,7 @@ var customerPortalSupportTicketDetailSchema = external_exports.object({
|
|
|
20192
20332
|
uniqid: external_exports.string(),
|
|
20193
20333
|
title: external_exports.string(),
|
|
20194
20334
|
status: external_exports.string(),
|
|
20195
|
-
invoice_id:
|
|
20335
|
+
invoice_id: nullableStringSchema2,
|
|
20196
20336
|
created_at: external_exports.string(),
|
|
20197
20337
|
updated_at: external_exports.string(),
|
|
20198
20338
|
messages: external_exports.array(external_exports.object({
|
|
@@ -20206,69 +20346,19 @@ var customerPortalSupportTicketDetailSchema = external_exports.object({
|
|
|
20206
20346
|
var customerPortalSupportCreateSchema = external_exports.object({
|
|
20207
20347
|
uniqid: external_exports.string()
|
|
20208
20348
|
});
|
|
20209
|
-
var customerPortalAffiliateCreateLinkSchema = external_exports.object({
|
|
20210
|
-
affiliate_link: external_exports.object({
|
|
20211
|
-
id: external_exports.string(),
|
|
20212
|
-
customer_id: external_exports.string(),
|
|
20213
|
-
label: nullableStringSchema,
|
|
20214
|
-
code: external_exports.string(),
|
|
20215
|
-
url: nullableStringSchema,
|
|
20216
|
-
status: external_exports.enum(["pending", "approved", "rejected"]),
|
|
20217
|
-
requested_affiliate_revenue_percent: external_exports.number().nullable(),
|
|
20218
|
-
requested_affiliate_customer_discount_percent: external_exports.number().nullable(),
|
|
20219
|
-
created_at: external_exports.string(),
|
|
20220
|
-
updated_at: external_exports.string()
|
|
20221
|
-
})
|
|
20222
|
-
});
|
|
20223
|
-
var customerReplacementEligibilityCheckSchema = external_exports.object({
|
|
20224
|
-
check: external_exports.string(),
|
|
20225
|
-
passed: external_exports.boolean(),
|
|
20226
|
-
reason: nullableStringSchema.optional()
|
|
20227
|
-
});
|
|
20228
|
-
var customerReplacementEligibilitySchema = external_exports.object({
|
|
20229
|
-
eligible: external_exports.boolean(),
|
|
20230
|
-
decision: external_exports.enum(["ELIGIBLE", "DENIED", "NO_RULE"]),
|
|
20231
|
-
reason: nullableStringSchema,
|
|
20232
|
-
eligibility_checks: external_exports.array(customerReplacementEligibilityCheckSchema)
|
|
20233
|
-
});
|
|
20234
|
-
var customerReplacementRequestSchema = external_exports.object({
|
|
20235
|
-
request_id: external_exports.string(),
|
|
20236
|
-
event_id: nullableStringSchema,
|
|
20237
|
-
decision: external_exports.enum([
|
|
20238
|
-
"ISSUED_REPLACEMENT",
|
|
20239
|
-
"FALLBACK_REFUND",
|
|
20240
|
-
"FALLBACK_CREDIT",
|
|
20241
|
-
"QUEUED_MANUAL",
|
|
20242
|
-
"DENIED",
|
|
20243
|
-
"EXHAUSTED",
|
|
20244
|
-
"FAILED"
|
|
20245
|
-
]),
|
|
20246
|
-
status_label: external_exports.enum([
|
|
20247
|
-
"ISSUED",
|
|
20248
|
-
"REFUNDED",
|
|
20249
|
-
"CREDITED",
|
|
20250
|
-
"QUEUED_MANUAL",
|
|
20251
|
-
"DENIED",
|
|
20252
|
-
"EXHAUSTED",
|
|
20253
|
-
"FAILED",
|
|
20254
|
-
"PENDING"
|
|
20255
|
-
]),
|
|
20256
|
-
reason: nullableStringSchema,
|
|
20257
|
-
eligibility_checks: external_exports.array(customerReplacementEligibilityCheckSchema)
|
|
20258
|
-
});
|
|
20259
20349
|
var customerResellerTierSchema = external_exports.object({
|
|
20260
20350
|
id: external_exports.string(),
|
|
20261
|
-
name:
|
|
20351
|
+
name: nullableStringSchema2,
|
|
20262
20352
|
discount_percent: external_exports.number().nullable()
|
|
20263
20353
|
});
|
|
20264
20354
|
var customerResellerRelationshipSchema = external_exports.object({
|
|
20265
20355
|
id: external_exports.string(),
|
|
20266
20356
|
status: external_exports.enum(["INVITED", "APPLIED", "ACTIVE", "SUSPENDED", "REJECTED"]),
|
|
20267
20357
|
tier: customerResellerTierSchema.nullable(),
|
|
20268
|
-
application_note:
|
|
20358
|
+
application_note: nullableStringSchema2,
|
|
20269
20359
|
lifetime_revenue: external_exports.string(),
|
|
20270
20360
|
lifetime_orders: external_exports.number(),
|
|
20271
|
-
approved_at:
|
|
20361
|
+
approved_at: nullableStringSchema2,
|
|
20272
20362
|
created_at: external_exports.string()
|
|
20273
20363
|
});
|
|
20274
20364
|
var customerResellerSummarySchema = external_exports.object({
|
|
@@ -20276,7 +20366,7 @@ var customerResellerSummarySchema = external_exports.object({
|
|
|
20276
20366
|
api_enabled: external_exports.boolean(),
|
|
20277
20367
|
portal_purchasing_enabled: external_exports.boolean(),
|
|
20278
20368
|
enrollment_mode: external_exports.enum(["MANUAL", "APPLICATION", "OPEN"]),
|
|
20279
|
-
application_message:
|
|
20369
|
+
application_message: nullableStringSchema2,
|
|
20280
20370
|
require_application_note: external_exports.boolean(),
|
|
20281
20371
|
reseller: customerResellerRelationshipSchema.nullable()
|
|
20282
20372
|
});
|
|
@@ -20295,6 +20385,16 @@ var customerResellerCatalogVariantSchema = external_exports.object({
|
|
|
20295
20385
|
discount_percent: external_exports.number(),
|
|
20296
20386
|
applied_override: customerResellerAppliedOverrideSchema
|
|
20297
20387
|
});
|
|
20388
|
+
var customerResellerCustomFieldSchema = external_exports.object({
|
|
20389
|
+
name: external_exports.string(),
|
|
20390
|
+
type: external_exports.string(),
|
|
20391
|
+
required: external_exports.boolean(),
|
|
20392
|
+
placeholder: external_exports.string(),
|
|
20393
|
+
default_value: external_exports.string(),
|
|
20394
|
+
regex: nullableStringSchema2,
|
|
20395
|
+
min_length: external_exports.number().nullable(),
|
|
20396
|
+
format: external_exports.enum(["number", "discord_invite", "url"]).nullable()
|
|
20397
|
+
});
|
|
20298
20398
|
var customerResellerCatalogSchema = external_exports.object({
|
|
20299
20399
|
tier: customerResellerTierSchema,
|
|
20300
20400
|
catalog: external_exports.object({
|
|
@@ -20315,6 +20415,10 @@ var customerResellerCatalogSchema = external_exports.object({
|
|
|
20315
20415
|
unit_price: external_exports.string(),
|
|
20316
20416
|
discount_percent: external_exports.number(),
|
|
20317
20417
|
applied_override: customerResellerAppliedOverrideSchema,
|
|
20418
|
+
/** The supplier's maximum price for reselling this product (and each variant); null = no limit. */
|
|
20419
|
+
max_unit_price: external_exports.string().nullable(),
|
|
20420
|
+
/** Optional: a backend released before reseller custom fields does not send it. */
|
|
20421
|
+
custom_fields: external_exports.array(customerResellerCustomFieldSchema).optional(),
|
|
20318
20422
|
variants: external_exports.array(customerResellerCatalogVariantSchema)
|
|
20319
20423
|
}))
|
|
20320
20424
|
})
|
|
@@ -20327,8 +20431,8 @@ var customerResellerQuoteSchema = external_exports.object({
|
|
|
20327
20431
|
product_id: external_exports.string(),
|
|
20328
20432
|
product_title: external_exports.string(),
|
|
20329
20433
|
product_type: external_exports.string(),
|
|
20330
|
-
variant_id:
|
|
20331
|
-
variant_title:
|
|
20434
|
+
variant_id: nullableStringSchema2,
|
|
20435
|
+
variant_title: nullableStringSchema2,
|
|
20332
20436
|
quantity: external_exports.number(),
|
|
20333
20437
|
base_price: external_exports.string(),
|
|
20334
20438
|
discount_percent: external_exports.number(),
|
|
@@ -20369,17 +20473,17 @@ var customerResellerOrderSchema = external_exports.object({
|
|
|
20369
20473
|
tier_name: external_exports.string(),
|
|
20370
20474
|
tier_discount_percent: external_exports.number(),
|
|
20371
20475
|
partially_delivered: external_exports.boolean(),
|
|
20372
|
-
refunded_amount:
|
|
20476
|
+
refunded_amount: nullableStringSchema2,
|
|
20373
20477
|
lines: external_exports.array(external_exports.object({
|
|
20374
|
-
product_id:
|
|
20478
|
+
product_id: nullableStringSchema2,
|
|
20375
20479
|
product_title: external_exports.string(),
|
|
20376
|
-
variant_id:
|
|
20377
|
-
variant_title:
|
|
20480
|
+
variant_id: nullableStringSchema2,
|
|
20481
|
+
variant_title: nullableStringSchema2,
|
|
20378
20482
|
quantity: external_exports.number(),
|
|
20379
20483
|
unit_price: external_exports.string(),
|
|
20380
20484
|
total: external_exports.string(),
|
|
20381
20485
|
delivered: external_exports.boolean(),
|
|
20382
|
-
delivered_at:
|
|
20486
|
+
delivered_at: nullableStringSchema2,
|
|
20383
20487
|
serials: external_exports.array(external_exports.string())
|
|
20384
20488
|
}))
|
|
20385
20489
|
})
|
|
@@ -20398,8 +20502,8 @@ var customerResellerApiKeysSchema = external_exports.object({
|
|
|
20398
20502
|
id: external_exports.string(),
|
|
20399
20503
|
name: external_exports.string(),
|
|
20400
20504
|
key_last4: external_exports.string(),
|
|
20401
|
-
last_used_at:
|
|
20402
|
-
revoked_at:
|
|
20505
|
+
last_used_at: nullableStringSchema2,
|
|
20506
|
+
revoked_at: nullableStringSchema2,
|
|
20403
20507
|
created_at: external_exports.string()
|
|
20404
20508
|
}))
|
|
20405
20509
|
});
|
|
@@ -20409,78 +20513,17 @@ var customerResellerTopupSchema = external_exports.object({
|
|
|
20409
20513
|
url: external_exports.string()
|
|
20410
20514
|
})
|
|
20411
20515
|
});
|
|
20412
|
-
|
|
20413
|
-
|
|
20414
|
-
|
|
20415
|
-
|
|
20416
|
-
|
|
20417
|
-
|
|
20418
|
-
|
|
20419
|
-
|
|
20420
|
-
|
|
20421
|
-
|
|
20422
|
-
|
|
20423
|
-
}),
|
|
20424
|
-
stats: external_exports.object({
|
|
20425
|
-
invoices_count: external_exports.number(),
|
|
20426
|
-
licenses_count: external_exports.number(),
|
|
20427
|
-
deliverables_count: external_exports.number(),
|
|
20428
|
-
tickets_count: external_exports.number()
|
|
20429
|
-
}),
|
|
20430
|
-
wallet: external_exports.object({
|
|
20431
|
-
available: external_exports.string(),
|
|
20432
|
-
total: external_exports.string(),
|
|
20433
|
-
hold: external_exports.string(),
|
|
20434
|
-
currency: external_exports.string(),
|
|
20435
|
-
enabled: external_exports.boolean()
|
|
20436
|
-
}).nullable(),
|
|
20437
|
-
rewards: customerPortalRewardsSchema,
|
|
20438
|
-
affiliate: customerPortalAffiliateSummarySchema,
|
|
20439
|
-
invoices: external_exports.array(customerPortalDashboardInvoiceSchema),
|
|
20440
|
-
subscriptions: external_exports.array(customerPortalSubscriptionSummarySchema),
|
|
20441
|
-
licenses: external_exports.array(external_exports.object({
|
|
20442
|
-
uniqid: external_exports.string(),
|
|
20443
|
-
/*
|
|
20444
|
-
* Both of these are produced by `getCustomerProductsLicenses` and were
|
|
20445
|
-
* simply missing here. Without `invoice_id` a consumer cannot tell which
|
|
20446
|
-
* purchase a license belongs to, and without `status` it cannot tell an
|
|
20447
|
-
* active license from a suspended, revoked or expired one — the projection
|
|
20448
|
-
* computes exactly that.
|
|
20449
|
-
*/
|
|
20450
|
-
invoice_id: external_exports.string(),
|
|
20451
|
-
status: external_exports.string(),
|
|
20452
|
-
license_key: external_exports.string(),
|
|
20453
|
-
hardware_id: nullableStringSchema,
|
|
20454
|
-
expires_at: external_exports.number().nullable(),
|
|
20455
|
-
/*
|
|
20456
|
-
* Server-decided: the product behind this license still exists, still
|
|
20457
|
-
* sells through storefront checkout, and still has licensing enabled.
|
|
20458
|
-
* The portal cannot derive any of that, so it renders the renew action
|
|
20459
|
-
* from this flag alone instead of guessing and offering a dead button.
|
|
20460
|
-
*/
|
|
20461
|
-
renewable: external_exports.boolean(),
|
|
20462
|
-
product: external_exports.object({
|
|
20463
|
-
title: external_exports.string().optional()
|
|
20464
|
-
}).optional()
|
|
20465
|
-
})),
|
|
20466
|
-
deliverables: external_exports.array(external_exports.object({
|
|
20467
|
-
id: external_exports.string(),
|
|
20468
|
-
invoice_uniqid: external_exports.string(),
|
|
20469
|
-
product_title: external_exports.string(),
|
|
20470
|
-
kind: external_exports.enum(["file", "serial", "license"]),
|
|
20471
|
-
label: external_exports.string(),
|
|
20472
|
-
value: external_exports.string(),
|
|
20473
|
-
href: nullableStringSchema,
|
|
20474
|
-
created_at: external_exports.string()
|
|
20475
|
-
})),
|
|
20476
|
-
tickets: external_exports.array(external_exports.object({
|
|
20477
|
-
uniqid: external_exports.string(),
|
|
20478
|
-
title: external_exports.string(),
|
|
20479
|
-
status: external_exports.string(),
|
|
20480
|
-
updated_at: external_exports.string(),
|
|
20481
|
-
created_at: nullableStringSchema
|
|
20482
|
-
}))
|
|
20483
|
-
});
|
|
20516
|
+
|
|
20517
|
+
// ../contracts/src/storefront-storage-key.ts
|
|
20518
|
+
var PREVIEW_FLAG = "storefrontPreview";
|
|
20519
|
+
var PREVIEW_SUFFIX = "_preview";
|
|
20520
|
+
var STOREFRONT_PREVIEW_FLAG_SCRIPT = `<script>window.${PREVIEW_FLAG}=true;</script>`;
|
|
20521
|
+
function isStorefrontPreview(scope = globalThis) {
|
|
20522
|
+
return scope[PREVIEW_FLAG] === true;
|
|
20523
|
+
}
|
|
20524
|
+
function storefrontStorageKey(key, scope = globalThis) {
|
|
20525
|
+
return isStorefrontPreview(scope) ? `${key}${PREVIEW_SUFFIX}` : key;
|
|
20526
|
+
}
|
|
20484
20527
|
|
|
20485
20528
|
// ../sdk/src/headless-customer.ts
|
|
20486
20529
|
var DEFAULT_API_ORIGIN = "https://api.shoppex.io";
|
|
@@ -20562,14 +20605,14 @@ var HeadlessCustomerClient = class {
|
|
|
20562
20605
|
const candidates = this.memorySession ? [this.memorySession] : [];
|
|
20563
20606
|
if (this.storage) {
|
|
20564
20607
|
try {
|
|
20565
|
-
const stored2 = parseStoredSession(this.storage.getItem(this.storageKey));
|
|
20608
|
+
const stored2 = parseStoredSession(this.storage.getItem(storefrontStorageKey(this.storageKey)));
|
|
20566
20609
|
if (stored2) candidates.push(stored2);
|
|
20567
20610
|
} catch {
|
|
20568
20611
|
}
|
|
20569
20612
|
}
|
|
20570
20613
|
if (this.persistentStorage) {
|
|
20571
20614
|
try {
|
|
20572
|
-
const stored2 = parseStoredSession(this.persistentStorage.getItem(this.storageKey));
|
|
20615
|
+
const stored2 = parseStoredSession(this.persistentStorage.getItem(storefrontStorageKey(this.storageKey)));
|
|
20573
20616
|
if (stored2) candidates.push(stored2);
|
|
20574
20617
|
} catch {
|
|
20575
20618
|
}
|
|
@@ -20585,11 +20628,11 @@ var HeadlessCustomerClient = class {
|
|
|
20585
20628
|
clearSession() {
|
|
20586
20629
|
this.memorySession = null;
|
|
20587
20630
|
try {
|
|
20588
|
-
this.storage?.removeItem(this.storageKey);
|
|
20631
|
+
this.storage?.removeItem(storefrontStorageKey(this.storageKey));
|
|
20589
20632
|
} catch {
|
|
20590
20633
|
}
|
|
20591
20634
|
try {
|
|
20592
|
-
this.persistentStorage?.removeItem(this.storageKey);
|
|
20635
|
+
this.persistentStorage?.removeItem(storefrontStorageKey(this.storageKey));
|
|
20593
20636
|
} catch {
|
|
20594
20637
|
}
|
|
20595
20638
|
}
|
|
@@ -20599,11 +20642,11 @@ var HeadlessCustomerClient = class {
|
|
|
20599
20642
|
const target = rememberMe ? this.persistentStorage : this.storage;
|
|
20600
20643
|
const other = rememberMe ? this.storage : this.persistentStorage;
|
|
20601
20644
|
try {
|
|
20602
|
-
target?.setItem(this.storageKey, JSON.stringify(storedSession));
|
|
20645
|
+
target?.setItem(storefrontStorageKey(this.storageKey), JSON.stringify(storedSession));
|
|
20603
20646
|
} catch {
|
|
20604
20647
|
}
|
|
20605
20648
|
try {
|
|
20606
|
-
other?.removeItem(this.storageKey);
|
|
20649
|
+
other?.removeItem(storefrontStorageKey(this.storageKey));
|
|
20607
20650
|
} catch {
|
|
20608
20651
|
}
|
|
20609
20652
|
}
|
|
@@ -20849,25 +20892,6 @@ var HeadlessCustomerClient = class {
|
|
|
20849
20892
|
invoicePdf(orderId) {
|
|
20850
20893
|
return this.requestFile(`/invoices/${encodeURIComponent(orderId)}/pdf`);
|
|
20851
20894
|
}
|
|
20852
|
-
replacementEligibility(orderId, lineItemId) {
|
|
20853
|
-
return this.request(`/invoices/${encodeURIComponent(orderId)}/replacement-eligibility`, {
|
|
20854
|
-
authenticated: true,
|
|
20855
|
-
query: { line_item_id: lineItemId },
|
|
20856
|
-
schema: customerReplacementEligibilitySchema
|
|
20857
|
-
});
|
|
20858
|
-
}
|
|
20859
|
-
requestReplacement(orderId, options) {
|
|
20860
|
-
return this.request(`/invoices/${encodeURIComponent(orderId)}/replacement-requests`, {
|
|
20861
|
-
method: "POST",
|
|
20862
|
-
authenticated: true,
|
|
20863
|
-
body: {
|
|
20864
|
-
line_item_id: options.lineItemId,
|
|
20865
|
-
reason: options.reason,
|
|
20866
|
-
...options.idempotencyKey ? { idempotency_key: options.idempotencyKey } : {}
|
|
20867
|
-
},
|
|
20868
|
-
schema: customerReplacementRequestSchema
|
|
20869
|
-
});
|
|
20870
|
-
}
|
|
20871
20895
|
async download(orderId, fileIndex) {
|
|
20872
20896
|
if (!Number.isSafeInteger(fileIndex) || fileIndex < 0) {
|
|
20873
20897
|
throw new HeadlessCustomerError(
|