This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
"./public-inventory": "./public-inventory.js",
|
||||
"./public-product": "./public-product.js",
|
||||
"./public-seller": "./public-seller.js"
|
||||
,"./pricing": "./pricing.js"
|
||||
,"./pricing": "./pricing.js",
|
||||
"./provider-mapping": "./provider-mapping.js"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
export function toAdminProviderMappingDto(mapping) {
|
||||
return {
|
||||
id: mapping.id,
|
||||
productId: mapping.productId,
|
||||
providerId: mapping.providerId,
|
||||
mappingType: mapping.mappingType,
|
||||
externalIdentifier: mapping.externalIdentifier ?? null,
|
||||
searchQuery: mapping.searchQuery ?? null,
|
||||
sourceUrl: mapping.sourceUrl ?? null,
|
||||
status: mapping.status,
|
||||
metadata: mapping.metadata ?? {},
|
||||
createdAt: mapping.createdAt instanceof Date ? mapping.createdAt.toISOString() : mapping.createdAt,
|
||||
updatedAt: mapping.updatedAt instanceof Date ? mapping.updatedAt.toISOString() : mapping.updatedAt,
|
||||
};
|
||||
}
|
||||
@@ -10,7 +10,8 @@
|
||||
"./listing": "./listing.js",
|
||||
"./sale": "./sale.js",
|
||||
"./product": "./product.js"
|
||||
,"./pricing": "./pricing.js"
|
||||
,"./pricing": "./pricing.js",
|
||||
"./provider-mapping": "./provider-mapping.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"zod": "^4.1.8"
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
export const createProviderMappingSchema = z.object({
|
||||
providerId: z.string().trim().min(1).max(100),
|
||||
mappingType: z.enum(['PRODUCT', 'SEARCH']),
|
||||
externalIdentifier: z.string().trim().max(255).optional(),
|
||||
searchQuery: z.string().trim().max(1000).optional(),
|
||||
sourceUrl: z.string().trim().url().optional(),
|
||||
metadata: z.record(z.string(), z.unknown()).optional(),
|
||||
}).strict();
|
||||
Reference in New Issue
Block a user