@fayz-ai/shop 0.8.0 → 0.8.2
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/dist/index.cjs +149 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +149 -3
- package/dist/index.js.map +1 -1
- package/dist/mock-provider.d.ts.map +1 -1
- package/dist/mock.cjs +5 -0
- package/dist/mock.cjs.map +1 -1
- package/dist/mock.js +5 -0
- package/dist/mock.js.map +1 -1
- package/dist/provider.d.ts +36 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/runtime.cjs +5 -0
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.js +5 -0
- package/dist/runtime.js.map +1 -1
- package/dist/supabase-provider.d.ts +20 -1
- package/dist/supabase-provider.d.ts.map +1 -1
- package/dist/tables.d.ts +1 -0
- package/dist/tables.d.ts.map +1 -1
- package/dist/types.d.ts +103 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +4 -0
- package/src/mock-provider.ts +5 -0
- package/src/provider.ts +39 -0
- package/src/supabase-provider.ts +196 -5
- package/src/tables.ts +4 -0
- package/src/types.ts +110 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ShopProvider } from './provider';
|
|
2
|
-
import type { Product, ProductImage, Category, Order, ShopCustomer, Discount, CreateProductInput, UpdateProductInput, ListProductsOptions, CreateCategoryInput, UpdateCategoryInput, CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput, CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput, CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions } from './types';
|
|
2
|
+
import type { Product, ProductImage, Category, Order, ShopCustomer, Discount, CreateProductInput, UpdateProductInput, ListProductsOptions, CreateCategoryInput, UpdateCategoryInput, CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput, CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput, CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions, ShippingZone, CreateShippingZoneInput, UpdateShippingZoneInput } from './types';
|
|
3
3
|
export declare class SupabaseShopProvider implements ShopProvider {
|
|
4
4
|
listProducts(options?: ListProductsOptions): Promise<Product[]>;
|
|
5
5
|
getProduct(id: string): Promise<Product | null>;
|
|
@@ -7,6 +7,11 @@ export declare class SupabaseShopProvider implements ShopProvider {
|
|
|
7
7
|
updateProduct(id: string, input: UpdateProductInput): Promise<Product>;
|
|
8
8
|
deleteProduct(id: string): Promise<void>;
|
|
9
9
|
uploadProductImage(productId: string, file: File): Promise<ProductImage>;
|
|
10
|
+
updateProductImage(imageId: string, input: {
|
|
11
|
+
isPrimary?: boolean;
|
|
12
|
+
sortOrder?: number;
|
|
13
|
+
altText?: string | null;
|
|
14
|
+
}): Promise<ProductImage>;
|
|
10
15
|
deleteProductImage(imageId: string): Promise<void>;
|
|
11
16
|
listCategories(): Promise<Category[]>;
|
|
12
17
|
createCategory(input: CreateCategoryInput): Promise<Category>;
|
|
@@ -16,6 +21,20 @@ export declare class SupabaseShopProvider implements ShopProvider {
|
|
|
16
21
|
getOrder(id: string): Promise<Order | null>;
|
|
17
22
|
createOrder(input: CreateOrderInput): Promise<Order>;
|
|
18
23
|
updateOrder(id: string, input: UpdateOrderInput): Promise<Order>;
|
|
24
|
+
listShippingZones(): Promise<ShippingZone[]>;
|
|
25
|
+
createShippingZone(input: CreateShippingZoneInput): Promise<ShippingZone>;
|
|
26
|
+
updateShippingZone(id: string, input: UpdateShippingZoneInput): Promise<ShippingZone>;
|
|
27
|
+
deleteShippingZone(id: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Settle a pending order: the merchant confirming that the money arrived.
|
|
30
|
+
*
|
|
31
|
+
* Goes through the RPC rather than an UPDATE so the payment ledger row in
|
|
32
|
+
* public.transactions closes in the same transaction as the order — set
|
|
33
|
+
* financial_status by hand and the order says paid while the ledger still
|
|
34
|
+
* says pending. Since 0019 the RPC also enforces who may call it: a member of
|
|
35
|
+
* the owning tenant, or a PSP webhook with the service role.
|
|
36
|
+
*/
|
|
37
|
+
confirmPayment(id: string, reference?: string): Promise<Order | null>;
|
|
19
38
|
placeOrder(input: PlaceOrderInput): Promise<Order>;
|
|
20
39
|
listCustomers(options?: ListCustomersOptions): Promise<ShopCustomer[]>;
|
|
21
40
|
getCustomer(id: string): Promise<ShopCustomer | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase-provider.d.ts","sourceRoot":"","sources":["../src/supabase-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,KAAK,EACV,OAAO,EAAE,YAAY,EAAE,QAAQ,EAC/B,KAAK,EAAE,YAAY,EAAE,QAAQ,EAC7B,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAC3D,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EACtE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EACpF,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"supabase-provider.d.ts","sourceRoot":"","sources":["../src/supabase-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/tables.d.ts
CHANGED
package/dist/tables.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,CAAC;;;;;;;;;CAYJ,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -161,6 +161,11 @@ export interface Order {
|
|
|
161
161
|
customerEmail: string | null;
|
|
162
162
|
discountCode: string | null;
|
|
163
163
|
notes: string | null;
|
|
164
|
+
/** Frozen delivery address captured at purchase time (0010/0012). */
|
|
165
|
+
shippingAddress: ShippingAddressSnapshot | null;
|
|
166
|
+
/** How the buyer paid — opens the ledger row in public.transactions. */
|
|
167
|
+
paymentMethodKind: PaymentMethodKind | null;
|
|
168
|
+
paidAt: string | null;
|
|
164
169
|
items: OrderItem[];
|
|
165
170
|
createdAt: string;
|
|
166
171
|
updatedAt: string;
|
|
@@ -226,6 +231,99 @@ export interface PlaceOrderLine {
|
|
|
226
231
|
* storefront order. Prices, discount math, and inventory are resolved
|
|
227
232
|
* server-side; the client supplies product ids, quantities, and intent only.
|
|
228
233
|
*/
|
|
234
|
+
/** Structured delivery address. Mirrors public.addresses so the RPC can both
|
|
235
|
+
* freeze it on the order and save it to the customer's address book. */
|
|
236
|
+
export interface ShippingAddressInput {
|
|
237
|
+
postalCode: string;
|
|
238
|
+
street: string;
|
|
239
|
+
number?: string;
|
|
240
|
+
complement?: string;
|
|
241
|
+
district?: string;
|
|
242
|
+
city: string;
|
|
243
|
+
state: string;
|
|
244
|
+
country?: string;
|
|
245
|
+
recipient?: string;
|
|
246
|
+
phone?: string;
|
|
247
|
+
label?: string;
|
|
248
|
+
}
|
|
249
|
+
export type PaymentMethodKind = 'pix' | 'credit_card' | 'debit_card' | 'boleto' | 'cash' | 'other';
|
|
250
|
+
/**
|
|
251
|
+
* A range of postal codes the store delivers to, with its own price and ETA.
|
|
252
|
+
*
|
|
253
|
+
* `postalFrom`/`postalTo` are 8 digits, no punctuation. Ranges may overlap: the
|
|
254
|
+
* cheapest match wins, which is how a merchant layers a promotional zone over a
|
|
255
|
+
* broader one without deleting anything.
|
|
256
|
+
*/
|
|
257
|
+
export interface ShippingZone {
|
|
258
|
+
id: string;
|
|
259
|
+
tenantId: string;
|
|
260
|
+
name: string;
|
|
261
|
+
carrier?: string | null;
|
|
262
|
+
postalFrom: string;
|
|
263
|
+
postalTo: string;
|
|
264
|
+
rate: number;
|
|
265
|
+
/** Overrides the store-wide free-delivery threshold inside this zone. */
|
|
266
|
+
freeAbove?: number | null;
|
|
267
|
+
etaMinDays?: number | null;
|
|
268
|
+
etaMaxDays?: number | null;
|
|
269
|
+
active: boolean;
|
|
270
|
+
sortOrder: number;
|
|
271
|
+
}
|
|
272
|
+
export type CreateShippingZoneInput = Omit<ShippingZone, 'id' | 'tenantId'>;
|
|
273
|
+
export type UpdateShippingZoneInput = Partial<CreateShippingZoneInput>;
|
|
274
|
+
/**
|
|
275
|
+
* One delivery option for a postal code, as quoted by shop_quote_shipping.
|
|
276
|
+
*
|
|
277
|
+
* `rate` already has the zone's free-above threshold applied, so the caller
|
|
278
|
+
* never re-derives a price — the number shown is the number charged. An EMPTY
|
|
279
|
+
* list of options is the meaningful answer "we do not deliver there", not an
|
|
280
|
+
* error condition.
|
|
281
|
+
*/
|
|
282
|
+
export interface ShippingQuoteOption {
|
|
283
|
+
zoneId: string;
|
|
284
|
+
name: string;
|
|
285
|
+
carrier?: string;
|
|
286
|
+
/** Resolved against the subtotal the quote was requested for. */
|
|
287
|
+
rate: number;
|
|
288
|
+
/** The zone's price before any free-above rule — lets a caller re-resolve
|
|
289
|
+
* `rate` for a changed cart without another round trip, using the same rule
|
|
290
|
+
* the server applies. Without it a stale quote had to fall back to the
|
|
291
|
+
* store-wide flat rate, which is a different zone's price. */
|
|
292
|
+
baseRate: number;
|
|
293
|
+
freeAbove?: number | null;
|
|
294
|
+
etaMinDays?: number;
|
|
295
|
+
etaMaxDays?: number;
|
|
296
|
+
/** True when the rate is 0 because the order cleared the zone's threshold. */
|
|
297
|
+
free: boolean;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* A row from the customer's address book (public.addresses).
|
|
301
|
+
*
|
|
302
|
+
* Only reachable with a signed-in shopper: the addresses_self_read policy joins
|
|
303
|
+
* plg_shop_customers.auth_user_id to auth.uid(), so an anonymous request sees
|
|
304
|
+
* nothing. Guests get an empty book and type their address, which is correct —
|
|
305
|
+
* the alternative is showing them somebody else's.
|
|
306
|
+
*/
|
|
307
|
+
export interface CustomerAddress extends ShippingAddressInput {
|
|
308
|
+
id: string;
|
|
309
|
+
isDefault?: boolean;
|
|
310
|
+
}
|
|
311
|
+
/** Address as stored on the order: snake_case, mirroring public.addresses. */
|
|
312
|
+
export interface ShippingAddressSnapshot {
|
|
313
|
+
postal_code?: string;
|
|
314
|
+
street?: string;
|
|
315
|
+
number?: string;
|
|
316
|
+
complement?: string;
|
|
317
|
+
district?: string;
|
|
318
|
+
city?: string;
|
|
319
|
+
state?: string;
|
|
320
|
+
country?: string;
|
|
321
|
+
recipient?: string;
|
|
322
|
+
phone?: string;
|
|
323
|
+
label?: string;
|
|
324
|
+
raw?: string;
|
|
325
|
+
source?: string;
|
|
326
|
+
}
|
|
229
327
|
export interface PlaceOrderInput {
|
|
230
328
|
/** Tenant/store id. The Supabase provider falls back to the resolved shop tenant. */
|
|
231
329
|
tenantId?: string;
|
|
@@ -242,6 +340,11 @@ export interface PlaceOrderInput {
|
|
|
242
340
|
discountCode?: string;
|
|
243
341
|
/** Shipping cost from the store's shipping policy. Clamped to >= 0 server-side. */
|
|
244
342
|
shippingTotal?: number;
|
|
343
|
+
/** Structured delivery address. Without it the address survives only as free
|
|
344
|
+
* text in `notes`, which logistics cannot read. */
|
|
345
|
+
shippingAddress?: ShippingAddressInput;
|
|
346
|
+
/** How the buyer is paying. Opens the ledger row in public.transactions. */
|
|
347
|
+
paymentMethod?: PaymentMethodKind;
|
|
245
348
|
items: PlaceOrderLine[];
|
|
246
349
|
}
|
|
247
350
|
export interface ShopCustomer {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"fayz": {
|
|
4
4
|
"status": "beta"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.8.
|
|
6
|
+
"version": "0.8.2",
|
|
7
7
|
"description": "Fayz SDK ecommerce layer — products, orders, customers, discounts, shipping",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./dist/index.cjs",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"lucide-react": "^0.400.0",
|
|
68
68
|
"@supabase/supabase-js": "^2.45.0",
|
|
69
69
|
"zustand": "^4.5.0",
|
|
70
|
-
"@fayz-ai/
|
|
71
|
-
"@fayz-ai/
|
|
72
|
-
"@fayz-ai/ui": "^0.8.
|
|
70
|
+
"@fayz-ai/core": "^0.8.2",
|
|
71
|
+
"@fayz-ai/auth": "^0.8.2",
|
|
72
|
+
"@fayz-ai/ui": "^0.8.1"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"react": "^18.0.0 || ^19.0.0",
|
package/src/index.ts
CHANGED
|
@@ -13,6 +13,10 @@ export type {
|
|
|
13
13
|
DiscountValidation, InventoryLine, InventoryIssue, InventoryCheck, CartTotalLine, CartTotals,
|
|
14
14
|
} from './types'
|
|
15
15
|
|
|
16
|
+
export type {
|
|
17
|
+
ShippingZone, CreateShippingZoneInput, UpdateShippingZoneInput,
|
|
18
|
+
ShippingQuoteOption, CustomerAddress,
|
|
19
|
+
} from './types'
|
|
16
20
|
export type { ShopProvider } from './provider'
|
|
17
21
|
export {
|
|
18
22
|
validateDiscount, applyDiscount, checkInventory, computeCartTotals, getCustomerOrders,
|
package/src/mock-provider.ts
CHANGED
|
@@ -237,6 +237,11 @@ export class MockShopProvider implements ShopProvider {
|
|
|
237
237
|
customerEmail: input.customerEmail ?? null,
|
|
238
238
|
discountCode: input.discountCode ?? null,
|
|
239
239
|
notes: input.notes ?? null,
|
|
240
|
+
shippingAddress: null,
|
|
241
|
+
// CreateOrderInput has no payment method — that is a PlaceOrderInput
|
|
242
|
+
// concern; the mock records none rather than inventing one.
|
|
243
|
+
paymentMethodKind: null,
|
|
244
|
+
paidAt: null,
|
|
240
245
|
items: input.items.map(i => ({ id: uid(), orderId, productId: i.productId ?? null, name: i.name, sku: i.sku ?? null, quantity: i.quantity, unitPrice: i.unitPrice, total: Math.round(i.quantity * i.unitPrice * 100) / 100, imageUrl: i.imageUrl ?? null })),
|
|
241
246
|
createdAt: now(),
|
|
242
247
|
updatedAt: now(),
|
package/src/provider.ts
CHANGED
|
@@ -6,6 +6,8 @@ import type {
|
|
|
6
6
|
CreateCategoryInput, UpdateCategoryInput,
|
|
7
7
|
CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput,
|
|
8
8
|
CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput,
|
|
9
|
+
CustomerAddress, ShippingQuoteOption,
|
|
10
|
+
ShippingZone, CreateShippingZoneInput, UpdateShippingZoneInput,
|
|
9
11
|
CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions,
|
|
10
12
|
} from './types'
|
|
11
13
|
|
|
@@ -18,6 +20,18 @@ export interface ShopProvider {
|
|
|
18
20
|
deleteProduct(id: string): Promise<void>
|
|
19
21
|
uploadProductImage(productId: string, file: File): Promise<ProductImage>
|
|
20
22
|
deleteProductImage(imageId: string): Promise<void>
|
|
23
|
+
/**
|
|
24
|
+
* Reorder a gallery or promote a photo to primary. Optional so a provider
|
|
25
|
+
* that only ever holds one image per product need not implement it.
|
|
26
|
+
*
|
|
27
|
+
* Setting `isPrimary` is exclusive: the previous primary is demoted in the
|
|
28
|
+
* same call, because two primaries make "the product photo" ambiguous
|
|
29
|
+
* everywhere it is read (card, cart line, order item, admin table).
|
|
30
|
+
*/
|
|
31
|
+
updateProductImage?(
|
|
32
|
+
imageId: string,
|
|
33
|
+
input: { isPrimary?: boolean; sortOrder?: number; altText?: string | null },
|
|
34
|
+
): Promise<ProductImage>
|
|
21
35
|
|
|
22
36
|
// Product enquiries
|
|
23
37
|
createProductEnquiry?(input: CreateProductEnquiryInput): Promise<ProductEnquiry>
|
|
@@ -60,6 +74,31 @@ export interface ShopProvider {
|
|
|
60
74
|
* Optional: providers without it fall back to listCustomers+createCustomer.
|
|
61
75
|
*/
|
|
62
76
|
resolveCustomer?(input: ResolveCustomerInput): Promise<ShopCustomer>
|
|
77
|
+
/**
|
|
78
|
+
* The signed-in shopper's saved delivery addresses, so checkout can offer
|
|
79
|
+
* them instead of inventing a placeholder. Optional: a provider without it
|
|
80
|
+
* (or an anonymous request) yields an empty book and a blank form.
|
|
81
|
+
*/
|
|
82
|
+
listCustomerAddresses?(customerId: string): Promise<CustomerAddress[]>
|
|
83
|
+
|
|
84
|
+
// Delivery
|
|
85
|
+
/**
|
|
86
|
+
* Delivery options for a postal code at a given subtotal. An empty array
|
|
87
|
+
* means the store does not deliver there — shown before the buyer commits to
|
|
88
|
+
* a cart, which is the whole point of quoting on the product page.
|
|
89
|
+
*
|
|
90
|
+
* This is for DISPLAY. shop_place_order recomputes the freight from the same
|
|
91
|
+
* zones and ignores whatever the client sends, so a tampered quote changes
|
|
92
|
+
* what the shopper sees and nothing about what they are charged.
|
|
93
|
+
*/
|
|
94
|
+
quoteShipping?(postalCode: string, subtotal: number): Promise<ShippingQuoteOption[]>
|
|
95
|
+
|
|
96
|
+
/** Delivery zones the merchant maintains. Admin-only: the storefront reads
|
|
97
|
+
* quotes, never the ranges themselves. */
|
|
98
|
+
listShippingZones?(): Promise<ShippingZone[]>
|
|
99
|
+
createShippingZone?(input: CreateShippingZoneInput): Promise<ShippingZone>
|
|
100
|
+
updateShippingZone?(id: string, input: UpdateShippingZoneInput): Promise<ShippingZone>
|
|
101
|
+
deleteShippingZone?(id: string): Promise<void>
|
|
63
102
|
|
|
64
103
|
// Discounts
|
|
65
104
|
listDiscounts(options?: ListDiscountsOptions): Promise<Discount[]>
|
package/src/supabase-provider.ts
CHANGED
|
@@ -9,8 +9,8 @@ import type {
|
|
|
9
9
|
CreateCategoryInput, UpdateCategoryInput,
|
|
10
10
|
CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput,
|
|
11
11
|
CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput,
|
|
12
|
-
CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions,
|
|
13
|
-
} from './types'
|
|
12
|
+
CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions, OrderItem,
|
|
13
|
+
ShippingZone, CreateShippingZoneInput, UpdateShippingZoneInput } from './types'
|
|
14
14
|
|
|
15
15
|
function getDb(): any {
|
|
16
16
|
const supabase = getSupabaseClientOptional()
|
|
@@ -31,6 +31,44 @@ function asUuid(value: string | null | undefined): string | null {
|
|
|
31
31
|
: null
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/** 8 bare digits, zero-padded — the shape shipping_zones stores and compares. */
|
|
35
|
+
function toPostalDigits(value: string | undefined | null): string | undefined {
|
|
36
|
+
const digits = String(value ?? '').replace(/\D/g, '')
|
|
37
|
+
return digits ? digits.padStart(8, '0').slice(0, 8) : undefined
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function rowToShippingZone(row: any): ShippingZone {
|
|
41
|
+
return {
|
|
42
|
+
id: row.id,
|
|
43
|
+
tenantId: row.tenant_id,
|
|
44
|
+
name: row.name,
|
|
45
|
+
carrier: row.carrier ?? null,
|
|
46
|
+
postalFrom: String(row.postal_from ?? '').trim(),
|
|
47
|
+
postalTo: String(row.postal_to ?? '').trim(),
|
|
48
|
+
rate: Number(row.rate ?? 0),
|
|
49
|
+
freeAbove: row.free_above == null ? null : Number(row.free_above),
|
|
50
|
+
etaMinDays: row.eta_min_days ?? null,
|
|
51
|
+
etaMaxDays: row.eta_max_days ?? null,
|
|
52
|
+
active: row.active ?? true,
|
|
53
|
+
sortOrder: row.sort_order ?? 0,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function shippingZonePayload(input: Partial<CreateShippingZoneInput>): Record<string, unknown> {
|
|
58
|
+
const payload: Record<string, unknown> = {}
|
|
59
|
+
if (input.name !== undefined) payload.name = input.name
|
|
60
|
+
if (input.carrier !== undefined) payload.carrier = input.carrier || null
|
|
61
|
+
if (input.postalFrom !== undefined) payload.postal_from = toPostalDigits(input.postalFrom)
|
|
62
|
+
if (input.postalTo !== undefined) payload.postal_to = toPostalDigits(input.postalTo)
|
|
63
|
+
if (input.rate !== undefined) payload.rate = input.rate
|
|
64
|
+
if (input.freeAbove !== undefined) payload.free_above = input.freeAbove ?? null
|
|
65
|
+
if (input.etaMinDays !== undefined) payload.eta_min_days = input.etaMinDays ?? null
|
|
66
|
+
if (input.etaMaxDays !== undefined) payload.eta_max_days = input.etaMaxDays ?? null
|
|
67
|
+
if (input.active !== undefined) payload.active = input.active
|
|
68
|
+
if (input.sortOrder !== undefined) payload.sort_order = input.sortOrder
|
|
69
|
+
return payload
|
|
70
|
+
}
|
|
71
|
+
|
|
34
72
|
function rowToProduct(row: any): Product {
|
|
35
73
|
return {
|
|
36
74
|
id: row.id,
|
|
@@ -82,6 +120,26 @@ function rowToCategory(row: any): Category {
|
|
|
82
120
|
}
|
|
83
121
|
}
|
|
84
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Order items were being passed through raw, so every snake_case column arrived
|
|
125
|
+
* undefined on the camelCase type: unit_price, image_url and product_id were all
|
|
126
|
+
* lost. `total` survived only because the name matches in both, which is exactly
|
|
127
|
+
* why the bug looked like "price is zero" instead of "nothing is mapped".
|
|
128
|
+
*/
|
|
129
|
+
function rowToOrderItem(row: any): OrderItem {
|
|
130
|
+
return {
|
|
131
|
+
id: row.id,
|
|
132
|
+
orderId: row.order_id,
|
|
133
|
+
productId: row.product_id ?? null,
|
|
134
|
+
name: row.name,
|
|
135
|
+
sku: row.sku ?? null,
|
|
136
|
+
quantity: row.quantity ?? 0,
|
|
137
|
+
unitPrice: row.unit_price ?? 0,
|
|
138
|
+
total: row.total ?? 0,
|
|
139
|
+
imageUrl: row.image_url ?? null,
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
85
143
|
function rowToOrder(row: any): Order {
|
|
86
144
|
return {
|
|
87
145
|
id: row.id,
|
|
@@ -101,7 +159,10 @@ function rowToOrder(row: any): Order {
|
|
|
101
159
|
customerEmail: row.customer_email,
|
|
102
160
|
discountCode: row.discount_code,
|
|
103
161
|
notes: row.notes,
|
|
104
|
-
|
|
162
|
+
shippingAddress: row.shipping_address ?? null,
|
|
163
|
+
paymentMethodKind: row.payment_method_kind ?? null,
|
|
164
|
+
paidAt: row.paid_at ?? null,
|
|
165
|
+
items: Array.isArray(row.items) ? row.items.map(rowToOrderItem) : [],
|
|
105
166
|
createdAt: row.created_at,
|
|
106
167
|
updatedAt: row.updated_at,
|
|
107
168
|
}
|
|
@@ -240,14 +301,61 @@ export class SupabaseShopProvider implements ShopProvider {
|
|
|
240
301
|
const { error: uploadErr } = await db.storage.from('shop-images').upload(path, file)
|
|
241
302
|
if (uploadErr) throw uploadErr
|
|
242
303
|
const { data: { publicUrl } } = db.storage.from('shop-images').getPublicUrl(path)
|
|
304
|
+
|
|
305
|
+
// Every upload used to land as sort_order 0 / is_primary false, so a product
|
|
306
|
+
// whose only photo was uploaded here had NO primary at all, and a second one
|
|
307
|
+
// tied with the first for position. New photos now go to the end, and the
|
|
308
|
+
// first photo a product ever gets becomes its primary.
|
|
309
|
+
const { data: existing } = await db
|
|
310
|
+
.from(T.productImages)
|
|
311
|
+
.select('id,sort_order')
|
|
312
|
+
.eq('product_id', productId)
|
|
313
|
+
.order('sort_order', { ascending: false })
|
|
314
|
+
.limit(1)
|
|
315
|
+
const first = !existing || existing.length === 0
|
|
316
|
+
const nextOrder = first ? 0 : (existing[0].sort_order ?? 0) + 1
|
|
317
|
+
|
|
243
318
|
const { data, error } = await db
|
|
244
319
|
.from(T.productImages)
|
|
245
|
-
.insert({
|
|
320
|
+
.insert({
|
|
321
|
+
product_id: productId, tenant_id: tenantId, url: publicUrl,
|
|
322
|
+
sort_order: nextOrder, is_primary: first,
|
|
323
|
+
})
|
|
246
324
|
.select().single()
|
|
247
325
|
if (error) throw error
|
|
248
326
|
return rowToImage(data)
|
|
249
327
|
}
|
|
250
328
|
|
|
329
|
+
async updateProductImage(
|
|
330
|
+
imageId: string,
|
|
331
|
+
input: { isPrimary?: boolean; sortOrder?: number; altText?: string | null },
|
|
332
|
+
): Promise<ProductImage> {
|
|
333
|
+
const db = getDb()
|
|
334
|
+
const updates: Record<string, unknown> = {}
|
|
335
|
+
if (input.sortOrder !== undefined) updates.sort_order = input.sortOrder
|
|
336
|
+
if (input.altText !== undefined) updates.alt_text = input.altText
|
|
337
|
+
if (input.isPrimary !== undefined) updates.is_primary = input.isPrimary
|
|
338
|
+
|
|
339
|
+
// Demote the incumbent first. Doing it after would leave a window with two
|
|
340
|
+
// primaries, and if the second statement failed the product would keep two
|
|
341
|
+
// for good.
|
|
342
|
+
if (input.isPrimary) {
|
|
343
|
+
const { data: target } = await db
|
|
344
|
+
.from(T.productImages).select('product_id').eq('id', imageId).single()
|
|
345
|
+
if (target?.product_id) {
|
|
346
|
+
await db.from(T.productImages)
|
|
347
|
+
.update({ is_primary: false })
|
|
348
|
+
.eq('product_id', target.product_id)
|
|
349
|
+
.neq('id', imageId)
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
const { data, error } = await db
|
|
354
|
+
.from(T.productImages).update(updates).eq('id', imageId).select().single()
|
|
355
|
+
if (error) throw error
|
|
356
|
+
return rowToImage(data)
|
|
357
|
+
}
|
|
358
|
+
|
|
251
359
|
async deleteProductImage(imageId: string): Promise<void> {
|
|
252
360
|
const { error } = await getDb().from(T.productImages).delete().eq('id', imageId)
|
|
253
361
|
if (error) throw error
|
|
@@ -353,6 +461,71 @@ export class SupabaseShopProvider implements ShopProvider {
|
|
|
353
461
|
return this.getOrder(id) as Promise<Order>
|
|
354
462
|
}
|
|
355
463
|
|
|
464
|
+
// -------------------------------------------------------------------------
|
|
465
|
+
// Delivery zones
|
|
466
|
+
//
|
|
467
|
+
// Postal codes are stored as 8 bare digits so the range test in
|
|
468
|
+
// shop_quote_shipping is a plain BETWEEN. Accepting '22.041-001' from the
|
|
469
|
+
// form and normalising here means the merchant never has to think about it.
|
|
470
|
+
// -------------------------------------------------------------------------
|
|
471
|
+
async listShippingZones(): Promise<ShippingZone[]> {
|
|
472
|
+
const tenantId = getTenantId()
|
|
473
|
+
const { data, error } = await getDb()
|
|
474
|
+
.from(T.shippingZones)
|
|
475
|
+
.select('*')
|
|
476
|
+
.eq('tenant_id', tenantId)
|
|
477
|
+
.order('sort_order', { ascending: true })
|
|
478
|
+
.order('postal_from', { ascending: true })
|
|
479
|
+
if (error) throw error
|
|
480
|
+
return (data ?? []).map(rowToShippingZone)
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
async createShippingZone(input: CreateShippingZoneInput): Promise<ShippingZone> {
|
|
484
|
+
const tenantId = getTenantId()
|
|
485
|
+
if (!tenantId) throw new Error('@fayz-ai/shop: createShippingZone requires a tenant id.')
|
|
486
|
+
const { data, error } = await getDb()
|
|
487
|
+
.from(T.shippingZones)
|
|
488
|
+
.insert({ tenant_id: tenantId, ...shippingZonePayload(input) })
|
|
489
|
+
.select()
|
|
490
|
+
.single()
|
|
491
|
+
if (error) throw error
|
|
492
|
+
return rowToShippingZone(data)
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
async updateShippingZone(id: string, input: UpdateShippingZoneInput): Promise<ShippingZone> {
|
|
496
|
+
const { data, error } = await getDb()
|
|
497
|
+
.from(T.shippingZones)
|
|
498
|
+
.update(shippingZonePayload(input))
|
|
499
|
+
.eq('id', id)
|
|
500
|
+
.select()
|
|
501
|
+
.single()
|
|
502
|
+
if (error) throw error
|
|
503
|
+
return rowToShippingZone(data)
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
async deleteShippingZone(id: string): Promise<void> {
|
|
507
|
+
const { error } = await getDb().from(T.shippingZones).delete().eq('id', id)
|
|
508
|
+
if (error) throw error
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* Settle a pending order: the merchant confirming that the money arrived.
|
|
513
|
+
*
|
|
514
|
+
* Goes through the RPC rather than an UPDATE so the payment ledger row in
|
|
515
|
+
* public.transactions closes in the same transaction as the order — set
|
|
516
|
+
* financial_status by hand and the order says paid while the ledger still
|
|
517
|
+
* says pending. Since 0019 the RPC also enforces who may call it: a member of
|
|
518
|
+
* the owning tenant, or a PSP webhook with the service role.
|
|
519
|
+
*/
|
|
520
|
+
async confirmPayment(id: string, reference?: string): Promise<Order | null> {
|
|
521
|
+
const { error } = await getDb().rpc('shop_confirm_payment', {
|
|
522
|
+
p_order_id: id,
|
|
523
|
+
p_reference: reference ?? null,
|
|
524
|
+
})
|
|
525
|
+
if (error) throw error
|
|
526
|
+
return this.getOrder(id)
|
|
527
|
+
}
|
|
528
|
+
|
|
356
529
|
// Trusted placement — delegates all price/discount/inventory authority to the
|
|
357
530
|
// shop_place_order RPC (SECURITY DEFINER). The browser never sets a price.
|
|
358
531
|
async placeOrder(input: PlaceOrderInput): Promise<Order> {
|
|
@@ -367,7 +540,25 @@ export class SupabaseShopProvider implements ShopProvider {
|
|
|
367
540
|
p_customer_email: input.customer?.email ?? null,
|
|
368
541
|
p_currency: input.currency ?? 'BRL',
|
|
369
542
|
p_discount_code: input.discountCode ?? null,
|
|
370
|
-
|
|
543
|
+
p_shipping_total: input.shippingTotal ?? 0,
|
|
544
|
+
// snake_case keys on purpose: the RPC freezes this jsonb onto the
|
|
545
|
+
// order and public.addresses uses these exact column names.
|
|
546
|
+
p_shipping_address: input.shippingAddress
|
|
547
|
+
? {
|
|
548
|
+
postal_code: input.shippingAddress.postalCode,
|
|
549
|
+
street: input.shippingAddress.street,
|
|
550
|
+
number: input.shippingAddress.number ?? null,
|
|
551
|
+
complement: input.shippingAddress.complement ?? null,
|
|
552
|
+
district: input.shippingAddress.district ?? null,
|
|
553
|
+
city: input.shippingAddress.city,
|
|
554
|
+
state: input.shippingAddress.state,
|
|
555
|
+
country: input.shippingAddress.country ?? 'BR',
|
|
556
|
+
recipient: input.shippingAddress.recipient ?? null,
|
|
557
|
+
phone: input.shippingAddress.phone ?? null,
|
|
558
|
+
label: input.shippingAddress.label ?? null,
|
|
559
|
+
}
|
|
560
|
+
: null,
|
|
561
|
+
p_payment_method: input.paymentMethod ?? null,
|
|
371
562
|
p_notes: input.notes ?? null,
|
|
372
563
|
})
|
|
373
564
|
if (error) throw error
|
package/src/tables.ts
CHANGED
|
@@ -9,4 +9,8 @@ export const T = {
|
|
|
9
9
|
orderItems: 'plg_shop_order_items',
|
|
10
10
|
customers: 'plg_shop_customers',
|
|
11
11
|
discounts: 'plg_shop_discounts',
|
|
12
|
+
// Core, not plg_shop_*: a delivery zone is a fact about the business, and
|
|
13
|
+
// fulfilment and financial read it too. Same reasoning as addresses and
|
|
14
|
+
// orders — see migration 0021.
|
|
15
|
+
shippingZones: 'shipping_zones',
|
|
12
16
|
} as const
|