File tree Expand file tree Collapse file tree 1 file changed +31
-1
lines changed Expand file tree Collapse file tree 1 file changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -109,9 +109,39 @@ export async function loadSalesFromEActivites(
109109 if ( typeof product . eActivitiesId !== "number" ) {
110110 logger . warn ( `Product ${ product . id } has an invalid eActivities ID, so skipping!` ) ;
111111 }
112-
112+
113113 // Filter out sales
114114 const sales = allSales . filter ( ( sale ) => sale . ProductID === product . eActivitiesId ) ;
115+ if ( sales . length === 0 ) {
116+ logger . warn ( `No sales found for product ${ product . name } id ${ product . id } - skipping` ) ;
117+ continue ;
118+ }
119+
120+ // If length of sales === number of sales for product, skip
121+ const existingSales = await prisma . variant . findMany ( {
122+ select : {
123+ _count : {
124+ select : {
125+ OrderItem : true ,
126+ } ,
127+ } ,
128+ } ,
129+ where : {
130+ rootItemId : product . id ,
131+ } ,
132+ } ) ;
133+
134+ const existingSalesCount = existingSales . reduce (
135+ ( acc , curr ) => acc + curr . _count . OrderItem ,
136+ 0 ,
137+ ) ;
138+
139+ if ( existingSalesCount === sales . length ) {
140+ logger . warn (
141+ `All sales for product ${ product . name } id ${ product . id } already imported, skipping. (${ existingSalesCount } sales already imported)` ,
142+ ) ;
143+ continue ;
144+ }
115145
116146 // Pull product data as well
117147 let productData : Awaited < ReturnType < typeof eActivities . getProductById > > ;
You can’t perform that action at this time.
0 commit comments