diff --git a/processor/package-lock.json b/processor/package-lock.json index 6d80f94..3d7809c 100644 --- a/processor/package-lock.json +++ b/processor/package-lock.json @@ -10,7 +10,7 @@ "license": "ISC", "dependencies": { "@commercetools-backend/loggers": "22.38.1", - "@commercetools/connect-payments-sdk": "0.14.0", + "@commercetools/connect-payments-sdk": "0.15.0", "@fastify/autoload": "6.0.3", "@fastify/cors": "10.0.2", "@fastify/formbody": "8.0.2", @@ -605,13 +605,13 @@ } }, "node_modules/@commercetools/connect-payments-sdk": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@commercetools/connect-payments-sdk/-/connect-payments-sdk-0.14.0.tgz", - "integrity": "sha512-V0cg1fpVw3wDZ5dR3fUV3IRvXR9HUrCTbsC8xrL9jd6VVSVvNA6P9o5DnOjlqDHFonCWEfk9TLgt6UxDNc0s4w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@commercetools/connect-payments-sdk/-/connect-payments-sdk-0.15.0.tgz", + "integrity": "sha512-F+H/cDmfi6jNsBEY2xFFuQOyTVk2Y2vSVoGUtduJt3Un2exK9NpuM/I2FOb8Z6NZr1YtXWDoNrKkS82F/g2Pyw==", "license": "ISC", "dependencies": { - "@commercetools-backend/loggers": "22.37.0", - "@commercetools/platform-sdk": "7.25.1", + "@commercetools-backend/loggers": "22.38.1", + "@commercetools/platform-sdk": "8.0.0", "@commercetools/sdk-client-v2": "2.5.0", "jsonwebtoken": "9.0.2", "jwks-rsa": "3.1.0", @@ -619,39 +619,6 @@ "logform": "2.7.0" } }, - "node_modules/@commercetools/connect-payments-sdk/node_modules/@commercetools-backend/loggers": { - "version": "22.37.0", - "resolved": "https://registry.npmjs.org/@commercetools-backend/loggers/-/loggers-22.37.0.tgz", - "integrity": "sha512-85SnVxR0OTJR7RFXFR2KYZQ9wZgEbDahejXXJSL189Cv0N92B8dgzPSR2Jghb5erhWZflXpULH57QbowTEKIqA==", - "dependencies": { - "@babel/runtime": "^7.22.15", - "@babel/runtime-corejs3": "^7.22.15", - "@types/lodash": "^4.14.198", - "@types/triple-beam": "1.3.5", - "express-winston": "4.2.0", - "fast-safe-stringify": "2.1.1", - "lodash": "4.17.21", - "logform": "2.6.0", - "triple-beam": "1.4.1", - "winston": "3.13.0" - } - }, - "node_modules/@commercetools/connect-payments-sdk/node_modules/@commercetools-backend/loggers/node_modules/logform": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", - "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", - "dependencies": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, "node_modules/@commercetools/connect-payments-sdk/node_modules/logform": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", @@ -669,19 +636,31 @@ } }, "node_modules/@commercetools/platform-sdk": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-7.25.1.tgz", - "integrity": "sha512-GIfq3FN1JijElR4y3JZxLqu1S98IJ16UtWbAfwUqDnbBOREXpH52fdd5fHBMKpqXSxaYkzcmHLH+qrwlqWHQ7A==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-8.0.0.tgz", + "integrity": "sha512-jpDA3E2p00evwRf252+XtbZGa2RQ74yFHQxRgzWrOFPbIs0b19SPk5fDS8kHks7ssGpiJ+DTseAAEcj1ZDCUyQ==", "license": "MIT", "dependencies": { - "@commercetools/sdk-client-v2": "^2.5.0", + "@commercetools/sdk-client-v2": "^3.0.0", "@commercetools/sdk-middleware-auth": "^7.0.0", "@commercetools/sdk-middleware-http": "^7.0.0", "@commercetools/sdk-middleware-logger": "^3.0.0", - "@commercetools/ts-client": "^2.1.7" + "@commercetools/ts-client": "^3.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" + } + }, + "node_modules/@commercetools/platform-sdk/node_modules/@commercetools/sdk-client-v2": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@commercetools/sdk-client-v2/-/sdk-client-v2-3.0.0.tgz", + "integrity": "sha512-AU0qyd41lv3l7X/e17mwRbtqGUMCJrCP25/ca3CMGvLGYGLx8zFu5zUYggOyEMTkViwG3NlY83zTTG0/YoUo8Q==", + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3" + }, + "engines": { + "node": ">=18" } }, "node_modules/@commercetools/sdk-client-v2": { @@ -768,37 +747,15 @@ } }, "node_modules/@commercetools/ts-client": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@commercetools/ts-client/-/ts-client-2.1.7.tgz", - "integrity": "sha512-69QfOfimc89+lbX2M0U1LXZkZNt+ZOnKaH/ODA+1vxZMSINUrRkZ6SNXEKycYVzswfT4/Fy+GtUnYxjJvESslQ==", - "license": "MIT", - "dependencies": { - "abort-controller": "3.0.0", - "buffer": "^6.0.3", - "node-fetch": "^2.6.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@commercetools/ts-client/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@commercetools/ts-client/-/ts-client-3.0.1.tgz", + "integrity": "sha512-ooUnon3p4YtNtWTlSolFqS1dCOQ6+zadPGx7Og5qPqYHuOrAToUwjru8zBUAZC/mgiCMHtgBHXuXMwFZ3emyaw==", "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "buffer": "^6.0.3" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">=18" } }, "node_modules/@cspotcode/source-map-support": { @@ -9177,12 +9134,12 @@ } }, "@commercetools/connect-payments-sdk": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@commercetools/connect-payments-sdk/-/connect-payments-sdk-0.14.0.tgz", - "integrity": "sha512-V0cg1fpVw3wDZ5dR3fUV3IRvXR9HUrCTbsC8xrL9jd6VVSVvNA6P9o5DnOjlqDHFonCWEfk9TLgt6UxDNc0s4w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@commercetools/connect-payments-sdk/-/connect-payments-sdk-0.15.0.tgz", + "integrity": "sha512-F+H/cDmfi6jNsBEY2xFFuQOyTVk2Y2vSVoGUtduJt3Un2exK9NpuM/I2FOb8Z6NZr1YtXWDoNrKkS82F/g2Pyw==", "requires": { - "@commercetools-backend/loggers": "22.37.0", - "@commercetools/platform-sdk": "7.25.1", + "@commercetools-backend/loggers": "22.38.1", + "@commercetools/platform-sdk": "8.0.0", "@commercetools/sdk-client-v2": "2.5.0", "jsonwebtoken": "9.0.2", "jwks-rsa": "3.1.0", @@ -9190,38 +9147,6 @@ "logform": "2.7.0" }, "dependencies": { - "@commercetools-backend/loggers": { - "version": "22.37.0", - "resolved": "https://registry.npmjs.org/@commercetools-backend/loggers/-/loggers-22.37.0.tgz", - "integrity": "sha512-85SnVxR0OTJR7RFXFR2KYZQ9wZgEbDahejXXJSL189Cv0N92B8dgzPSR2Jghb5erhWZflXpULH57QbowTEKIqA==", - "requires": { - "@babel/runtime": "^7.22.15", - "@babel/runtime-corejs3": "^7.22.15", - "@types/lodash": "^4.14.198", - "@types/triple-beam": "1.3.5", - "express-winston": "4.2.0", - "fast-safe-stringify": "2.1.1", - "lodash": "4.17.21", - "logform": "2.6.0", - "triple-beam": "1.4.1", - "winston": "3.13.0" - }, - "dependencies": { - "logform": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", - "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", - "requires": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - } - } - } - }, "logform": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", @@ -9238,15 +9163,25 @@ } }, "@commercetools/platform-sdk": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-7.25.1.tgz", - "integrity": "sha512-GIfq3FN1JijElR4y3JZxLqu1S98IJ16UtWbAfwUqDnbBOREXpH52fdd5fHBMKpqXSxaYkzcmHLH+qrwlqWHQ7A==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@commercetools/platform-sdk/-/platform-sdk-8.0.0.tgz", + "integrity": "sha512-jpDA3E2p00evwRf252+XtbZGa2RQ74yFHQxRgzWrOFPbIs0b19SPk5fDS8kHks7ssGpiJ+DTseAAEcj1ZDCUyQ==", "requires": { - "@commercetools/sdk-client-v2": "^2.5.0", + "@commercetools/sdk-client-v2": "^3.0.0", "@commercetools/sdk-middleware-auth": "^7.0.0", "@commercetools/sdk-middleware-http": "^7.0.0", "@commercetools/sdk-middleware-logger": "^3.0.0", - "@commercetools/ts-client": "^2.1.7" + "@commercetools/ts-client": "^3.0.0" + }, + "dependencies": { + "@commercetools/sdk-client-v2": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@commercetools/sdk-client-v2/-/sdk-client-v2-3.0.0.tgz", + "integrity": "sha512-AU0qyd41lv3l7X/e17mwRbtqGUMCJrCP25/ca3CMGvLGYGLx8zFu5zUYggOyEMTkViwG3NlY83zTTG0/YoUo8Q==", + "requires": { + "buffer": "^6.0.3" + } + } } }, "@commercetools/sdk-client-v2": { @@ -9297,23 +9232,11 @@ "integrity": "sha512-DhMXAA2yIch/AaGxy7st85Z1HFmeLtHWGkr9z5rX4xKjan4PHGB/IE5saAR+SNGHhs6+1Lp8vZEHDo3tFqVLmg==" }, "@commercetools/ts-client": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@commercetools/ts-client/-/ts-client-2.1.7.tgz", - "integrity": "sha512-69QfOfimc89+lbX2M0U1LXZkZNt+ZOnKaH/ODA+1vxZMSINUrRkZ6SNXEKycYVzswfT4/Fy+GtUnYxjJvESslQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@commercetools/ts-client/-/ts-client-3.0.1.tgz", + "integrity": "sha512-ooUnon3p4YtNtWTlSolFqS1dCOQ6+zadPGx7Og5qPqYHuOrAToUwjru8zBUAZC/mgiCMHtgBHXuXMwFZ3emyaw==", "requires": { - "abort-controller": "3.0.0", - "buffer": "^6.0.3", - "node-fetch": "^2.6.1" - }, - "dependencies": { - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - } + "buffer": "^6.0.3" } }, "@cspotcode/source-map-support": { diff --git a/processor/package.json b/processor/package.json index 1d81c32..bcb468c 100644 --- a/processor/package.json +++ b/processor/package.json @@ -21,7 +21,7 @@ "license": "ISC", "dependencies": { "@commercetools-backend/loggers": "22.38.1", - "@commercetools/connect-payments-sdk": "0.14.0", + "@commercetools/connect-payments-sdk": "0.15.0", "@fastify/autoload": "6.0.3", "@fastify/cors": "10.0.2", "@fastify/formbody": "8.0.2", diff --git a/processor/src/libs/fastify/context/context.ts b/processor/src/libs/fastify/context/context.ts index d029597..693ab00 100644 --- a/processor/src/libs/fastify/context/context.ts +++ b/processor/src/libs/fastify/context/context.ts @@ -1,4 +1,4 @@ -import { Authentication, SessionAuthentication } from '@commercetools/connect-payments-sdk'; +import * as paymentSdk from '@commercetools/connect-payments-sdk'; import { fastifyRequestContext, requestContext } from '@fastify/request-context'; import { randomUUID } from 'crypto'; import { FastifyInstance, FastifyRequest } from 'fastify'; @@ -15,7 +15,7 @@ export type ContextData = { query?: any; correlationId: string; requestId: string; - authentication?: Authentication; + authentication?: paymentSdk.Authentication; }; export const getRequestContext = (): Partial => { @@ -35,38 +35,38 @@ export const updateRequestContext = (ctx: Partial) => { }; export const getCtSessionIdFromContext = (): string => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getCredentials(); + const contextData = getRequestContext() as ContextData; + return paymentSdk.getCtSessionIdFromContext(contextData) as string; }; export const getCartIdFromContext = (): string => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().cartId; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getCartIdFromContext(contextData) as string; }; export const getAllowedPaymentMethodsFromContext = (): string[] => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().allowedPaymentMethods; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getAllowedPaymentMethodsFromContext(contextData) as string[]; }; export const getPaymentInterfaceFromContext = (): string | undefined => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().paymentInterface; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getPaymentInterfaceFromContext(contextData); }; export const getProcessorUrlFromContext = (): string => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().processorUrl; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getProcessorUrlFromContext(contextData) as string; }; export const getMerchantReturnUrlFromContext = (): string | undefined => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().merchantReturnUrl; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getMerchantReturnUrlFromContext(contextData); }; export const getFutureOrderNumberFromContext = (): string | undefined => { - const authentication = getRequestContext().authentication as SessionAuthentication; - return authentication?.getPrincipal().futureOrderNumber; + const contextData = getRequestContext() as ContextData; + return paymentSdk.getFutureOrderNumberFromContext(contextData); }; export const requestContextPlugin = fp(async (fastify: FastifyInstance) => {