feat(t239): persist freight item metadata
This commit is contained in:
@@ -318,10 +318,11 @@ func upsertFreightOrderItem(
|
||||
ctx,
|
||||
`INSERT INTO freight_order_items (
|
||||
id, freight_order_id, external_item_id, title, product_spec,
|
||||
sku, quantity, product_thumb_ref, purchase_status,
|
||||
sku, quantity, product_thumb_ref, original_unit_price_minor,
|
||||
original_currency, purchase_status,
|
||||
canonical_sha256, revision, is_present, first_sync_run_id,
|
||||
last_sync_run_id, created_at, updated_at
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, 1, ?, ?, ?, ?)
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, 1, ?, ?, ?, ?)
|
||||
ON CONFLICT (freight_order_id, external_item_id)
|
||||
DO UPDATE SET
|
||||
title = excluded.title,
|
||||
@@ -329,6 +330,8 @@ func upsertFreightOrderItem(
|
||||
sku = excluded.sku,
|
||||
quantity = excluded.quantity,
|
||||
product_thumb_ref = excluded.product_thumb_ref,
|
||||
original_unit_price_minor = excluded.original_unit_price_minor,
|
||||
original_currency = excluded.original_currency,
|
||||
purchase_status = excluded.purchase_status,
|
||||
revision = CASE
|
||||
WHEN freight_order_items.canonical_sha256 != excluded.canonical_sha256
|
||||
@@ -347,6 +350,8 @@ func upsertFreightOrderItem(
|
||||
item.SKU,
|
||||
nullableFreightQuantity(item.Quantity),
|
||||
nullableString(item.ProductThumbRef),
|
||||
nullableInt64(item.OriginalUnitPriceMinor),
|
||||
item.OriginalCurrency,
|
||||
nullableString(item.PurchaseStatus),
|
||||
item.CanonicalSHA256,
|
||||
runID,
|
||||
@@ -519,7 +524,8 @@ func (store *Store) GetFreightOrder(
|
||||
ctx,
|
||||
`SELECT
|
||||
id, freight_order_id, external_item_id, title, product_spec,
|
||||
sku, quantity, product_thumb_ref, purchase_status,
|
||||
sku, quantity, product_thumb_ref, original_unit_price_minor,
|
||||
original_currency, purchase_status,
|
||||
canonical_sha256, revision, is_present, first_sync_run_id,
|
||||
last_sync_run_id, created_at, updated_at
|
||||
FROM freight_order_items
|
||||
@@ -678,6 +684,7 @@ func scanFreightOrder(scanner rowScanner) (domain.FreightOrder, error) {
|
||||
func scanFreightOrderItem(scanner rowScanner) (domain.FreightOrderItem, error) {
|
||||
var item domain.FreightOrderItem
|
||||
var quantity sql.NullInt64
|
||||
var originalUnitPriceMinor sql.NullInt64
|
||||
var thumb, purchaseStatus sql.NullString
|
||||
var createdAt, updatedAt string
|
||||
err := scanner.Scan(
|
||||
@@ -689,6 +696,8 @@ func scanFreightOrderItem(scanner rowScanner) (domain.FreightOrderItem, error) {
|
||||
&item.SKU,
|
||||
&quantity,
|
||||
&thumb,
|
||||
&originalUnitPriceMinor,
|
||||
&item.OriginalCurrency,
|
||||
&purchaseStatus,
|
||||
&item.CanonicalSHA256,
|
||||
&item.Revision,
|
||||
@@ -706,6 +715,9 @@ func scanFreightOrderItem(scanner rowScanner) (domain.FreightOrderItem, error) {
|
||||
item.Quantity = &value
|
||||
}
|
||||
item.ProductThumbRef = optionalString(thumb)
|
||||
if originalUnitPriceMinor.Valid {
|
||||
item.OriginalUnitPriceMinor = &originalUnitPriceMinor.Int64
|
||||
}
|
||||
item.PurchaseStatus = optionalString(purchaseStatus)
|
||||
item.CreatedAt, err = parseTimestamp(createdAt)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user