From 8da3a1eb32445fe1383648d950c2ad9ef826a766 Mon Sep 17 00:00:00 2001 From: magdo Date: Fri, 6 Mar 2026 23:26:33 +0100 Subject: [PATCH] =?UTF-8?q?negyedik=20gyakorlat=20megold=C3=A1s=20jav?= =?UTF-8?q?=C3=ADtva?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Backend/negyedik gyakorlat_minta/package.json | 3 +- .../src/api/server.js | 2 +- .../src/application/services/Container.js | 38 +++++++++++++++++-- .../src/application/services/EmailService.js | 3 +- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/Backend/negyedik gyakorlat_minta/package.json b/Backend/negyedik gyakorlat_minta/package.json index cfae78a..aa07c8c 100644 --- a/Backend/negyedik gyakorlat_minta/package.json +++ b/Backend/negyedik gyakorlat_minta/package.json @@ -22,8 +22,9 @@ "license": "ISC", "dependencies": { "@prisma/client": "^5.9.1", - "bcrypt": "^5.1.1", + "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", + "cors": "^2.8.5", "dotenv": "^16.4.1", "express": "^4.18.2", "handlebars": "^4.7.8", diff --git a/Backend/negyedik gyakorlat_minta/src/api/server.js b/Backend/negyedik gyakorlat_minta/src/api/server.js index f072be0..74db405 100644 --- a/Backend/negyedik gyakorlat_minta/src/api/server.js +++ b/Backend/negyedik gyakorlat_minta/src/api/server.js @@ -93,7 +93,7 @@ container.registerTransient('UserController', (c) => ); // ===== Middleware ===== -app.use(corsMiddleware()); // CORS with whitelist +app.use(corsMiddleware); // CORS with whitelist app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(cookieParser()); diff --git a/Backend/negyedik gyakorlat_minta/src/application/services/Container.js b/Backend/negyedik gyakorlat_minta/src/application/services/Container.js index bc54a91..e49d058 100644 --- a/Backend/negyedik gyakorlat_minta/src/application/services/Container.js +++ b/Backend/negyedik gyakorlat_minta/src/application/services/Container.js @@ -27,11 +27,41 @@ class Container { // Ha singleton, azonnal példányosítjuk if (lifetime === 'singleton') { - const instance = factory(); + const instance = factory(this); this.services.set(name, instance); } } + /** + * Singleton service regisztráció (kényelmi függvény) + * + * @param {string} name - Service neve + * @param {Function} factory - Factory függvény ami az instance-t létrehozza + */ + registerSingleton(name, factory) { + this.register(name, factory, 'singleton'); + } + + /** + * Transient service regisztráció (kényelmi függvény) + * + * @param {string} name - Service neve + * @param {Function} factory - Factory függvény ami az instance-t létrehozza + */ + registerTransient(name, factory) { + this.register(name, factory, 'transient'); + } + + /** + * Scoped service regisztráció (kényelmi függvény) + * + * @param {string} name - Service neve + * @param {Function} factory - Factory függvény ami az instance-t létrehozza + */ + registerScoped(name, factory) { + this.register(name, factory, 'scoped'); + } + /** * Service feloldás * @@ -52,7 +82,7 @@ class Container { if (scope.has(name)) { return scope.get(name); } - const instance = this.factories.get(name)(); + const instance = this.factories.get(name)(this); scope.set(name, instance); return instance; } @@ -64,7 +94,7 @@ class Container { // TRANSIENT: Mindig új instance if (lifetime === 'transient') { - return this.factories.get(name)(); + return this.factories.get(name)(this); } // Default: singleton behavior @@ -123,4 +153,4 @@ class Container { } } -export default Container; +export { Container }; diff --git a/Backend/negyedik gyakorlat_minta/src/application/services/EmailService.js b/Backend/negyedik gyakorlat_minta/src/application/services/EmailService.js index 3b5c293..42663af 100644 --- a/Backend/negyedik gyakorlat_minta/src/application/services/EmailService.js +++ b/Backend/negyedik gyakorlat_minta/src/application/services/EmailService.js @@ -154,5 +154,4 @@ class EmailService { } } } - -export default EmailService; +export { EmailService };