From 9dceb6b19e35eae6c65e7924fd3615b72db13313 Mon Sep 17 00:00:00 2001 From: ccoeurderoy Date: Thu, 19 May 2022 15:38:36 +0200 Subject: [PATCH 1/3] fix(hooks): remove the user deletion from Bridge --- src/hooks/services/hooks.service.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/hooks/services/hooks.service.ts b/src/hooks/services/hooks.service.ts index ea093a2..e2c4bf4 100644 --- a/src/hooks/services/hooks.service.ts +++ b/src/hooks/services/hooks.service.ts @@ -306,14 +306,6 @@ export class HooksService { accounts: algoanAccounts, }); - // Delete the user from Bridge - const user = { - bridgeUserId, - id: customer.id, - accessToken, - }; - await this.aggregator.deleteUser(user, saConfig); - return; } catch (err) { this.logger.debug({ From 9f5d0b56fe1716e58f0ef3120c3da7a715bfa731 Mon Sep 17 00:00:00 2001 From: ccoeurderoy Date: Thu, 19 May 2022 16:09:18 +0200 Subject: [PATCH 2/3] test(hooks): set deleteUser spy to 0 --- src/hooks/services/hooks.service.spec.ts | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/hooks/services/hooks.service.spec.ts b/src/hooks/services/hooks.service.spec.ts index 6b4a912..f72f1a9 100644 --- a/src/hooks/services/hooks.service.spec.ts +++ b/src/hooks/services/hooks.service.spec.ts @@ -343,15 +343,7 @@ describe('HooksService', () => { expect(resourceNameSpy).toBeCalledTimes(2); expect(transactionSpy).toBeCalledTimes(2); expect(transactionSpy).toBeCalledWith('mockPermToken', undefined, mockServiceAccountConfig); - expect(deleteUserSpy).toHaveBeenNthCalledWith( - 1, - { - bridgeUserId: 'rrr', - id: customerMock.id, - accessToken: 'mockPermToken', - }, - mockServiceAccountConfig, - ); + expect(deleteUserSpy).toHaveBeenCalledTimes(0); }); it('refresh when userId is defined and synchronizes the accounts on bank details required', async () => { @@ -519,14 +511,6 @@ describe('HooksService', () => { expect(resourceNameSpy).toBeCalledTimes(2); expect(transactionSpy).toBeCalledTimes(2); expect(transactionSpy).toBeCalledWith('mockPermToken', undefined, mockServiceAccountConfig); - expect(deleteUserSpy).toHaveBeenNthCalledWith( - 1, - { - bridgeUserId: 'rrr', - id: customerMock.id, - accessToken: 'mockPermToken', - }, - mockServiceAccountConfig, - ); + expect(deleteUserSpy).toHaveBeenCalledTimes(0); }); }); From 292962ff15b99310fdc89478b7e5d436f28630de Mon Sep 17 00:00:00 2001 From: ccoeurderoy Date: Mon, 23 May 2022 10:56:58 +0200 Subject: [PATCH 3/3] fix(hooks): add a default and a sa config to enable users deletion --- config/default.json | 3 +- package-lock.json | 70 +++++++++++++++---- .../services/bridge/bridge.client.ts | 1 + src/hooks/services/hooks.service.spec.ts | 1 + src/hooks/services/hooks.service.ts | 15 ++++ 5 files changed, 76 insertions(+), 14 deletions(-) diff --git a/config/default.json b/config/default.json index e0be4e1..8c383d7 100644 --- a/config/default.json +++ b/config/default.json @@ -21,5 +21,6 @@ "restHooksSecret": "", "port": 8080, "customerIdPassword": "", - "activateBridgeRequestInterceptor": true + "activateBridgeRequestInterceptor": true, + "forceBridgeUsersDeletion": false } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d6e3399..1ff58b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1007,6 +1007,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-11.0.0.tgz", "integrity": "sha512-g01p1g4BmYlZ2+tdotCavrMunnPFPhTzG1ZiLKTCYrooHRbmvqo42ZZn4QMStUEIcn+jfLb6BRZX3JzIwA1ezQ==", "dev": true, + "optional": true, "engines": { "node": ">=v10.22.0" } @@ -1318,6 +1319,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-11.0.0.tgz", "integrity": "sha512-t5ZBrtgvgCwPfxmG811FCp39/o3SJ7L+SNsxFL92OR4WQxPcu6c8taD0CG2lzOHGuRyuMxZ7ps3EbngT2WpiCg==", "dev": true, + "optional": true, "dependencies": { "@commitlint/execute-rule": "^11.0.0", "@commitlint/resolve-extends": "^11.0.0", @@ -1336,6 +1338,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, + "optional": true, "dependencies": { "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" @@ -1352,6 +1355,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1368,6 +1372,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "optional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1379,13 +1384,15 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "optional": true }, "node_modules/@commitlint/load/node_modules/cosmiconfig": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, + "optional": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -1402,6 +1409,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1411,6 +1419,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", "dev": true, + "optional": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -1429,6 +1438,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1438,6 +1448,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1447,6 +1458,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "optional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -1661,6 +1673,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-11.0.0.tgz", "integrity": "sha512-WinU6Uv6L7HDGLqn/To13KM1CWvZ09VHZqryqxXa1OY+EvJkfU734CwnOEeNlSCK7FVLrB4kmodLJtL1dkEpXw==", "dev": true, + "optional": true, "dependencies": { "import-fresh": "^3.0.0", "lodash": "^4.17.19", @@ -1676,6 +1689,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1873,6 +1887,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", "dev": true, + "optional": true, "engines": { "node": ">=v10.22.0" } @@ -11576,7 +11591,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "dev": true, + "optional": true }, "node_modules/handlebars": { "version": "4.7.6", @@ -12408,6 +12424,7 @@ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true, + "optional": true, "bin": { "is-docker": "cli.js" }, @@ -12662,6 +12679,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "optional": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -17579,6 +17597,7 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", "dev": true, + "optional": true, "dependencies": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -17593,6 +17612,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, + "optional": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -17608,6 +17628,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, "dependencies": { "isexe": "^2.0.0" }, @@ -22765,7 +22786,8 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "dev": true, + "optional": true }, "node_modules/signal-exit": { "version": "3.0.3", @@ -26586,7 +26608,8 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-11.0.0.tgz", "integrity": "sha512-g01p1g4BmYlZ2+tdotCavrMunnPFPhTzG1ZiLKTCYrooHRbmvqo42ZZn4QMStUEIcn+jfLb6BRZX3JzIwA1ezQ==", - "dev": true + "dev": true, + "optional": true }, "@commitlint/format": { "version": "12.1.4", @@ -26814,6 +26837,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-11.0.0.tgz", "integrity": "sha512-t5ZBrtgvgCwPfxmG811FCp39/o3SJ7L+SNsxFL92OR4WQxPcu6c8taD0CG2lzOHGuRyuMxZ7ps3EbngT2WpiCg==", "dev": true, + "optional": true, "requires": { "@commitlint/execute-rule": "^11.0.0", "@commitlint/resolve-extends": "^11.0.0", @@ -26829,6 +26853,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, + "optional": true, "requires": { "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" @@ -26839,6 +26864,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, + "optional": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -26849,6 +26875,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "optional": true, "requires": { "color-name": "~1.1.4" } @@ -26857,13 +26884,15 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "optional": true }, "cosmiconfig": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, + "optional": true, "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -26876,13 +26905,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "dev": true, + "optional": true }, "parse-json": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", "dev": true, + "optional": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -26894,19 +26925,22 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "dev": true, + "optional": true }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "dev": true, + "optional": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "optional": true, "requires": { "has-flag": "^4.0.0" } @@ -27067,6 +27101,7 @@ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-11.0.0.tgz", "integrity": "sha512-WinU6Uv6L7HDGLqn/To13KM1CWvZ09VHZqryqxXa1OY+EvJkfU734CwnOEeNlSCK7FVLrB4kmodLJtL1dkEpXw==", "dev": true, + "optional": true, "requires": { "import-fresh": "^3.0.0", "lodash": "^4.17.19", @@ -27078,7 +27113,8 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "dev": true, + "optional": true } } }, @@ -27218,7 +27254,8 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", - "dev": true + "dev": true, + "optional": true }, "@dabh/diagnostics": { "version": "2.0.2", @@ -34768,7 +34805,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "dev": true, + "optional": true }, "handlebars": { "version": "4.7.6", @@ -35379,7 +35417,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true + "dev": true, + "optional": true }, "is-extendable": { "version": "0.1.1", @@ -35547,6 +35586,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "optional": true, "requires": { "is-docker": "^2.0.0" } @@ -39292,6 +39332,7 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", "dev": true, + "optional": true, "requires": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -39306,6 +39347,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, + "optional": true, "requires": { "lru-cache": "^6.0.0" } @@ -39315,6 +39357,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, "requires": { "isexe": "^2.0.0" } @@ -43113,7 +43156,8 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "dev": true, + "optional": true }, "signal-exit": { "version": "3.0.3", diff --git a/src/aggregator/services/bridge/bridge.client.ts b/src/aggregator/services/bridge/bridge.client.ts index 69fb1c9..27f77f5 100644 --- a/src/aggregator/services/bridge/bridge.client.ts +++ b/src/aggregator/services/bridge/bridge.client.ts @@ -26,6 +26,7 @@ export interface ClientConfig { clientSecret: string; bankinVersion: string; nbOfMonths?: number; + deleteBridgeUsers?: boolean; } /** diff --git a/src/hooks/services/hooks.service.spec.ts b/src/hooks/services/hooks.service.spec.ts index f72f1a9..fc6bef2 100644 --- a/src/hooks/services/hooks.service.spec.ts +++ b/src/hooks/services/hooks.service.spec.ts @@ -60,6 +60,7 @@ describe('HooksService', () => { clientId: 'mockClientId', clientSecret: 'mockClientSecret', bankinVersion: 'mockBankinVersion', + deleteBridgeUsers: false, }; const mockServiceAccount: ServiceAccount = new ServiceAccount('mockBaseURL', { diff --git a/src/hooks/services/hooks.service.ts b/src/hooks/services/hooks.service.ts index e2c4bf4..841d0df 100644 --- a/src/hooks/services/hooks.service.ts +++ b/src/hooks/services/hooks.service.ts @@ -306,6 +306,21 @@ export class HooksService { accounts: algoanAccounts, }); + // Delete the user from Bridge + const user = { + bridgeUserId, + id: customer.id, + accessToken, + }; + + if ( + this.config.forceBridgeUsersDeletion || + saConfig.deleteBridgeUsers === undefined || + saConfig.deleteBridgeUsers + ) { + await this.aggregator.deleteUser(user, saConfig); + } + return; } catch (err) { this.logger.debug({