From ae2cefb1834a774ba054b11b4ab3f0e9a9753fda Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sat, 29 Aug 2026 23:13:46 +0100 Subject: [PATCH] Enhance sales schemas with synchronization fields - Added `syncHash`, `syncImageHash`, and `marketplaceImageUrls` fields to the `listing`, `listingVariant`, and `marketplaceMapping` schemas to support improved synchronization and image management across marketplaces. --- src/database/schemas/sales/listing.schema.js | 3 +++ src/database/schemas/sales/listingvarient.schema.js | 3 +++ src/database/schemas/sales/marketplaceMapping.schema.js | 1 + 3 files changed, 7 insertions(+) diff --git a/src/database/schemas/sales/listing.schema.js b/src/database/schemas/sales/listing.schema.js index a110f27..7e6039b 100644 --- a/src/database/schemas/sales/listing.schema.js +++ b/src/database/schemas/sales/listing.schema.js @@ -42,6 +42,9 @@ const listingSchema = new Schema( price: { type: Number, required: false }, currency: { type: String, required: false }, lastSyncedAt: { type: Date, required: false }, + syncHash: { type: String, required: false }, + syncImageHash: { type: String, required: false }, + marketplaceImageUrls: [{ type: String, required: false }], stockQuantity: { type: Number, required: false, default: 0 }, condition: { type: String, diff --git a/src/database/schemas/sales/listingvarient.schema.js b/src/database/schemas/sales/listingvarient.schema.js index a8072fc..975ecba 100644 --- a/src/database/schemas/sales/listingvarient.schema.js +++ b/src/database/schemas/sales/listingvarient.schema.js @@ -47,6 +47,9 @@ const listingVarientSchema = new Schema( priceTaxRate: { type: Schema.Types.ObjectId, ref: 'taxRate', required: false }, priceWithTax: { type: Number, required: false }, lastSyncedAt: { type: Date, required: false }, + syncHash: { type: String, required: false }, + syncImageHash: { type: String, required: false }, + marketplaceImageUrls: [{ type: String, required: false }], listingImages: [{ type: Schema.Types.ObjectId, ref: 'file', required: false }], stockQuantity: { type: Number, required: false, default: 0 }, }, diff --git a/src/database/schemas/sales/marketplaceMapping.schema.js b/src/database/schemas/sales/marketplaceMapping.schema.js index 1326d4e..92043ff 100644 --- a/src/database/schemas/sales/marketplaceMapping.schema.js +++ b/src/database/schemas/sales/marketplaceMapping.schema.js @@ -9,6 +9,7 @@ export function marketplaceSyncMappingSchema() { { marketplace: { type: Schema.Types.ObjectId, ref: 'marketplace', required: true }, externalReference: { type: String, required: false }, + syncHash: { type: String, required: false }, state: { type: { type: String,