1
1
diff --git a/Dockerfile b/Dockerfile
2
- index 0577738..dc1e81c 100644
2
+ index 0577738..87af1b8 100644
3
3
--- a/Dockerfile
4
4
+++ b/Dockerfile
5
5
@@ -5,7 +5,7 @@
@@ -11,36 +11,38 @@ index 0577738..dc1e81c 100644
11
11
12
12
# Setup a non-root user to run the app
13
13
WORKDIR /usr/local/app
14
- @@ -25,7 +25,7 @@ COPY --chown=appuser:appuser package.json package-lock.json ./
14
+ @@ -23,7 +23,7 @@ COPY --chown=appuser:appuser package.json package-lock.json ./
15
+ # and automatically restart the app.
16
+ ###########################################################
15
17
FROM base AS dev
16
- ENV NODE_ENV=development
18
+ - ENV NODE_ENV=development
19
+ + ENV NODE_ENV development
17
20
RUN npm install
18
- - CMD ["yarn", "dev-container"]
19
- + CMD ["npm", "run", "dev-container"]
20
-
21
+ CMD ["yarn", "dev-container"]
21
22
23
+ @@ -35,7 +35,7 @@ CMD ["yarn", "dev-container"]
24
+ # installs only the production dependencies.
22
25
###########################################################
23
- @@ -41,4 +41,4 @@ COPY ./src ./src
24
-
25
- EXPOSE 3000
26
+ FROM base AS final
27
+ - ENV NODE_ENV=production
28
+ + ENV NODE_ENV production
29
+ RUN npm ci --production --ignore-scripts && npm cache clean --force
30
+ COPY ./src ./src
26
31
27
- - CMD [ "node", "src/index.js" ]
28
- \ No newline at end of file
29
- + CMD [ "node", "src/index.js" ]
30
32
diff --git a/package-lock.json b/package-lock.json
31
- index d3706f8..0a0c834 100644
33
+ index 87fa860..ef8a336 100644
32
34
--- a/package-lock.json
33
35
+++ b/package-lock.json
34
36
@@ -10,7 +10,7 @@
35
37
"dependencies": {
36
38
"@aws-sdk/client-s3": "^3.651.1",
37
39
"dotenv": "^16.4.5",
38
40
- "express": "^4.21.1",
39
- + "express": "4.17.1",
41
+ + "express": "^ 4.17.1",
40
42
"kafkajs": "^2.2.4",
41
- "multer": "^1.4.5-lts.1 ",
43
+ "multer": "^2.0.2 ",
42
44
"node-fetch": "v2",
43
- @@ -3509 ,27 +3509 ,24 @@
45
+ @@ -3627 ,27 +3627 ,24 @@
44
46
}
45
47
},
46
48
"node_modules/body-parser": {
@@ -80,7 +82,7 @@ index d3706f8..0a0c834 100644
80
82
}
81
83
},
82
84
"node_modules/bowser": {
83
- @@ -3678 ,43 +3675 ,14 @@
85
+ @@ -3796 ,43 +3793 ,14 @@
84
86
}
85
87
},
86
88
"node_modules/bytes": {
@@ -127,7 +129,7 @@ index d3706f8..0a0c834 100644
127
129
"node_modules/callsites": {
128
130
"version": "3.1.0",
129
131
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
130
- @@ -4058 ,17 +4026 ,23 @@
132
+ @@ -4190 ,17 +4158 ,23 @@
131
133
}
132
134
},
133
135
"node_modules/content-disposition": {
@@ -155,7 +157,7 @@ index d3706f8..0a0c834 100644
155
157
"node_modules/content-type": {
156
158
"version": "1.0.5",
157
159
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
158
- @@ -4086 ,9 +4060 ,9 @@
160
+ @@ -4218 ,9 +4192 ,9 @@
159
161
"license": "MIT"
160
162
},
161
163
"node_modules/cookie": {
@@ -168,7 +170,7 @@ index d3706f8..0a0c834 100644
168
170
"license": "MIT",
169
171
"engines": {
170
172
"node": ">= 0.6"
171
- @@ -4247 ,23 +4221 ,19 @@
173
+ @@ -4380 ,23 +4354 ,19 @@
172
174
}
173
175
},
174
176
"node_modules/depd": {
@@ -200,7 +202,7 @@ index d3706f8..0a0c834 100644
200
202
},
201
203
"node_modules/detect-newline": {
202
204
"version": "3.1.0",
203
- @@ -4426 ,20 +4396 ,6 @@
205
+ @@ -4577 ,20 +4547 ,6 @@
204
206
"url": "https://dotenvx.com"
205
207
}
206
208
},
@@ -221,7 +223,7 @@ index d3706f8..0a0c834 100644
221
223
"node_modules/eastasianwidth": {
222
224
"version": "0.2.0",
223
225
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
224
- @@ -4481 ,9 +4437 ,9 @@
226
+ @@ -4632 ,9 +4588 ,9 @@
225
227
"license": "MIT"
226
228
},
227
229
"node_modules/encodeurl": {
@@ -234,7 +236,7 @@ index d3706f8..0a0c834 100644
234
236
"license": "MIT",
235
237
"engines": {
236
238
"node": ">= 0.8"
237
- @@ -4549 ,36 +4505 ,6 @@
239
+ @@ -4700 ,36 +4656 ,6 @@
238
240
"is-arrayish": "^0.2.1"
239
241
}
240
242
},
@@ -271,7 +273,7 @@ index d3706f8..0a0c834 100644
271
273
"node_modules/escalade": {
272
274
"version": "3.2.0",
273
275
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
274
- @@ -4706 ,51 +4632 ,52 @@
276
+ @@ -4857 ,51 +4783 ,52 @@
275
277
}
276
278
},
277
279
"node_modules/express": {
@@ -349,7 +351,7 @@ index d3706f8..0a0c834 100644
349
351
"node_modules/fast-fifo": {
350
352
"version": "1.3.2",
351
353
"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
352
- @@ -4811 ,17 +4738 ,17 @@
354
+ @@ -4962 ,17 +4889 ,17 @@
353
355
}
354
356
},
355
357
"node_modules/finalhandler": {
@@ -373,15 +375,15 @@ index d3706f8..0a0c834 100644
373
375
"unpipe": "~1.0.0"
374
376
},
375
377
"engines": {
376
- @@ -4923 ,6 +4850 ,7 @@
378
+ @@ -5074 ,6 +5001 ,7 @@
377
379
"version": "1.1.2",
378
380
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
379
381
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
380
382
+ "dev": true,
381
383
"license": "MIT",
382
384
"funding": {
383
385
"url": "https://github.com/sponsors/ljharb"
384
- @@ -4961 ,30 +4889 ,6 @@
386
+ @@ -5112 ,30 +5040 ,6 @@
385
387
"url": "https://github.com/sponsors/sindresorhus"
386
388
}
387
389
},
@@ -412,7 +414,7 @@ index d3706f8..0a0c834 100644
412
414
"node_modules/get-package-type": {
413
415
"version": "0.1.0",
414
416
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
415
- @@ -5008 ,19 +4912 ,6 @@
417
+ @@ -5159 ,19 +5063 ,6 @@
416
418
"url": "https://github.com/sponsors/sindresorhus"
417
419
}
418
420
},
@@ -432,7 +434,7 @@ index d3706f8..0a0c834 100644
432
434
"node_modules/get-stream": {
433
435
"version": "6.0.1",
434
436
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
435
- @@ -5079 ,18 +4970 ,6 @@
437
+ @@ -5230 ,18 +5121 ,6 @@
436
438
"node": ">=4"
437
439
}
438
440
},
@@ -451,7 +453,7 @@ index d3706f8..0a0c834 100644
451
453
"node_modules/graceful-fs": {
452
454
"version": "4.2.11",
453
455
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
454
- @@ -5108 ,22 +4987 ,11 @@
456
+ @@ -5259 ,22 +5138 ,11 @@
455
457
"node": ">=8"
456
458
}
457
459
},
@@ -475,7 +477,7 @@ index d3706f8..0a0c834 100644
475
477
"license": "MIT",
476
478
"dependencies": {
477
479
"function-bind": "^1.1.2"
478
- @@ -5140 ,21 +5008 ,27 @@
480
+ @@ -5291 ,21 +5159 ,27 @@
479
481
"license": "MIT"
480
482
},
481
483
"node_modules/http-errors": {
@@ -512,7 +514,7 @@ index d3706f8..0a0c834 100644
512
514
"node_modules/human-signals": {
513
515
"version": "2.1.0",
514
516
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
515
- @@ -6641 ,15 +6515 ,6 @@
517
+ @@ -6807 ,15 +6681 ,6 @@
516
518
"tmpl": "1.0.5"
517
519
}
518
520
},
@@ -528,7 +530,7 @@ index d3706f8..0a0c834 100644
528
530
"node_modules/media-typer": {
529
531
"version": "0.3.0",
530
532
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
531
- @@ -6660 ,13 +6525 ,10 @@
533
+ @@ -6826 ,13 +6691 ,10 @@
532
534
}
533
535
},
534
536
"node_modules/merge-descriptors": {
@@ -546,7 +548,7 @@ index d3706f8..0a0c834 100644
546
548
},
547
549
"node_modules/merge-stream": {
548
550
"version": "2.0.0",
549
- @@ -7015 ,22 +6877 ,10 @@
551
+ @@ -7181 ,22 +7043 ,10 @@
550
552
"node": ">=0.10.0"
551
553
}
552
554
},
@@ -572,7 +574,7 @@ index d3706f8..0a0c834 100644
572
574
"license": "MIT",
573
575
"dependencies": {
574
576
"ee-first": "1.1.1"
575
- @@ -7217 ,9 +7067 ,9 @@
577
+ @@ -7383 ,9 +7233 ,9 @@
576
578
"license": "ISC"
577
579
},
578
580
"node_modules/path-to-regexp": {
@@ -585,7 +587,7 @@ index d3706f8..0a0c834 100644
585
587
"license": "MIT"
586
588
},
587
589
"node_modules/pg": {
588
- @@ -7571 ,18 +7421 ,12 @@
590
+ @@ -7763 ,18 +7613 ,12 @@
589
591
"license": "MIT"
590
592
},
591
593
"node_modules/qs": {
@@ -607,7 +609,7 @@ index d3706f8..0a0c834 100644
607
609
}
608
610
},
609
611
"node_modules/queue-tick": {
610
- @@ -7602 ,13 +7446 ,13 @@
612
+ @@ -7794 ,13 +7638 ,13 @@
611
613
}
612
614
},
613
615
"node_modules/raw-body": {
@@ -626,15 +628,15 @@ index d3706f8..0a0c834 100644
626
628
"iconv-lite": "0.4.24",
627
629
"unpipe": "1.0.0"
628
630
},
629
- @@ -7821 ,6 +7665 ,7 @@
631
+ @@ -8015 ,6 +7859 ,7 @@
630
632
"version": "5.2.1",
631
633
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
632
634
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
633
635
+ "dev": true,
634
636
"funding": [
635
637
{
636
638
"type": "github",
637
- @@ -7854 ,63 +7699 ,54 @@
639
+ @@ -8048 ,63 +7893 ,54 @@
638
640
}
639
641
},
640
642
"node_modules/send": {
@@ -718,7 +720,7 @@ index d3706f8..0a0c834 100644
718
720
"license": "ISC"
719
721
},
720
722
"node_modules/shebang-command": {
721
- @@ -7936 ,78 +7772 ,6 @@
723
+ @@ -8130 ,78 +7966 ,6 @@
722
724
"node": ">=8"
723
725
}
724
726
},
@@ -797,7 +799,7 @@ index d3706f8..0a0c834 100644
797
799
"node_modules/signal-exit": {
798
800
"version": "3.0.7",
799
801
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
800
- @@ -8186 ,12 +7950 ,12 @@
802
+ @@ -8380 ,12 +8144 ,12 @@
801
803
}
802
804
},
803
805
"node_modules/statuses": {
@@ -814,7 +816,7 @@ index d3706f8..0a0c834 100644
814
816
}
815
817
},
816
818
"node_modules/streamsearch": {
817
- @@ -8560 ,9 +8324 ,9 @@
819
+ @@ -8754 ,9 +8518 ,9 @@
818
820
}
819
821
},
820
822
"node_modules/toidentifier": {
@@ -828,15 +830,27 @@ index d3706f8..0a0c834 100644
828
830
"engines": {
829
831
"node": ">=0.6"
830
832
diff --git a/package.json b/package.json
831
- index 8438638..14bdcf1 100644
833
+ index 6da46f4..6df390c 100644
832
834
--- a/package.json
833
835
+++ b/package.json
834
836
@@ -16,7 +16,7 @@
835
837
"dependencies": {
836
838
"@aws-sdk/client-s3": "^3.651.1",
837
839
"dotenv": "^16.4.5",
838
840
- "express": "^4.21.1",
839
- + "express": "4.17.1",
841
+ + "express": "^ 4.17.1",
840
842
"kafkajs": "^2.2.4",
841
- "multer": "^1.4.5-lts.1 ",
843
+ "multer": "^2.0.2 ",
842
844
"node-fetch": "v2",
845
+ diff --git a/src/services/ProductService.js b/src/services/ProductService.js
846
+ index 31eaed7..a212fd8 100644
847
+ --- a/src/services/ProductService.js
848
+ +++ b/src/services/ProductService.js
849
+ @@ -49,7 +49,6 @@ async function createProduct(product) {
850
+ action: "product_created",
851
+ id: newProductId,
852
+ name: product.name,
853
+ - upc: product.upc,
854
+ price: product.price,
855
+ description: product.description,
856
+ });
0 commit comments