Skip to content

Commit

Permalink
chore: [IOBP-694] Add platform session token generation (#388)
Browse files Browse the repository at this point in the history
* chore: Add platform session token generation

* chore: Add platform session token request response 201

* chore: changed name of return token

* chore: Add generic custom token to follow the definitions regex

* chore: Prettify

* chore: Updated openapi definitions

* chore: Add platform-session base path

* chore: changed platform pagopa session token definitions version

* chore: deifnitions upgrade

* chore: changed biz-events baseurl

* chore: updated tag version

* chore: update definitions
  • Loading branch information
Hantex9 authored Jun 21, 2024
1 parent 63ff162 commit 92910c7
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 10 deletions.
10 changes: 6 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@
"api_pn": "https://raw.githubusercontent.com/pagopa/io-backend/v13.39.1-RELEASE/api_pn.yaml",
"api_idpay": "https://raw.githubusercontent.com/pagopa/cstar-infrastructure/v6.5.0/src/domains/idpay-app/api/idpay_appio_full/openapi.appio.full.yml",
"api_fast_login": "https://raw.githubusercontent.com/pagopa/io-backend/v13.39.1-RELEASE/openapi/generated/api_fast_login.yaml",
"api_pagopa_walletv3": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.35.1/src/domains/wallet-app/api/payment-wallet/v1/_openapi.json.tpl",
"api_pagopa_ecommerce": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.35.1/src/domains/ecommerce-app/api/ecommerce-io/v1/_openapi.json.tpl",
"api_pagopa_biz_events": "https://raw.githubusercontent.com/pagopa/pagopa-infra/0a6784276fd43aaff7709dd90e0d379e77326f28/src/domains/bizevents-app/api/transaction-service/v1/_openapi-jwt.json.tpl",
"api_pagopa_walletv3": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.64.0/src/domains/pay-wallet-app/api/io-payment-wallet/v1/_openapi.json.tpl",
"api_pagopa_ecommerce": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.64.0/src/domains/ecommerce-app/api/ecommerce-io/v2/_openapi.json.tpl",
"api_pagopa_biz_events": "https://raw.githubusercontent.com/pagopa/pagopa-biz-events-service/0.1.37/openapi/openapi_io_patch.json",
"api_pagopa_platform": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.64.0/src/domains/shared-app/api/session-wallet/v1/_openapi.json.tpl",
"api_services": "https://raw.githubusercontent.com/pagopa/io-backend/master/api_services_app_backend.yaml",
"author": "Matteo Boschi",
"license": "MIT",
Expand All @@ -47,6 +48,7 @@
"generate:pagopa-walletv3-definitions": "rimraf generated/definitions/pagopa/walletv3 && mkdir -p generated/definitions/pagopa/walletv3 && gen-api-models --api-spec $npm_package_api_pagopa_walletv3 --out-dir ./generated/definitions/pagopa/walletv3",
"generate:pagopa-ecommerce-definitions": "rimraf generated/definitions/pagopa/ecommerce && mkdir -p generated/definitions/pagopa/ecommerce && gen-api-models --api-spec $npm_package_api_pagopa_ecommerce --out-dir ./generated/definitions/pagopa/ecommerce",
"generate:pagopa-transactions-definitions": "rimraf generated/definitions/pagopa/transactions && mkdir -p generated/definitions/pagopa/transactions && gen-api-models --api-spec $npm_package_api_pagopa_biz_events --out-dir ./generated/definitions/pagopa/transactions",
"generate:pagopa-platform-definitions": "rimraf generated/definitions/pagopa/platform && mkdir -p generated/definitions/pagopa/platform && gen-api-models --api-spec $npm_package_api_pagopa_platform --out-dir ./generated/definitions/pagopa/platform",
"generate:pagopa-api": "rimraf generated/definitions/pagopa && mkdir -p generated/definitions/pagopa && gen-api-models --api-spec $npm_package_api_pagopa --out-dir ./generated/definitions/pagopa",
"generate:cgn-definitions": "rimraf generated/definitions/cgn && mkdir -p generated/definitions/cgn && gen-api-models --api-spec $npm_package_api_cgn --out-dir ./generated/definitions/cgn ",
"generate:cgn-merchants-definitions": "rimraf generated/definitions/cgn/merchants && mkdir -p generated/definitions/cgn/merchants && gen-api-models --api-spec $npm_package_api_cgn_merchants --out-dir ./generated/definitions/cgn/merchants ",
Expand All @@ -57,7 +59,7 @@
"generate:pn-definitions": "rimraf generated/definitions/pn && mkdir -p generated/definitions/pn && gen-api-models --api-spec $npm_package_api_pn --out-dir ./generated/definitions/pn --no-strict --request-types --response-decoders",
"generate:idpay-definitions": "rimraf generated/definitions/idpay && mkdir -p generated/definitions/idpay && gen-api-models --api-spec $npm_package_api_idpay --out-dir ./generated/definitions/idpay --no-strict",
"generate:fast-login-definitions": "rimraf generated/definitions/fast_login && mkdir -p generated/definitions/fast_login && gen-api-models --api-spec $npm_package_api_fast_login --out-dir ./generated/definitions/fast_login --no-strict --request-types --response-decoders",
"generate:pagopa": "npm-run-all generate:pagopa-walletv2-definitions generate:pagopa-privative-configuration-definitions generate:pagopa-cobadge-configuration-definitions generate:pagopa-walletv3-definitions generate:pagopa-ecommerce-definitions generate:pagopa-transactions-definitions",
"generate:pagopa": "npm-run-all generate:pagopa-walletv2-definitions generate:pagopa-privative-configuration-definitions generate:pagopa-cobadge-configuration-definitions generate:pagopa-walletv3-definitions generate:pagopa-ecommerce-definitions generate:pagopa-transactions-definitions generate:pagopa-platform-definitions",
"generate:services-definitions": "rimraf generated/definitions/services && mkdir -p generated/definitions/services && gen-api-models --api-spec $npm_package_api_services --out-dir ./generated/definitions/services --no-strict",
"generate": "npm-run-all generate:*"
},
Expand Down
1 change: 1 addition & 0 deletions src/features/payments/routers/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import "./payment";
import "./wallets";
import "./transactions";
import "./platform";

export { walletRouter } from "./router";
5 changes: 0 additions & 5 deletions src/features/payments/routers/payment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,6 @@ import { generateOnboardablePaymentMethods } from "../utils/onboarding";
import { WALLET_PAYMENT_PATH } from "../utils/payment";
import { addPaymentHandler } from "./router";

// eCommerce session token
addPaymentHandler("post", "/sessions", (req, res) =>
res.status(200).json({ sessionToken: ulid() })
);

// Verify single payment notices
addPaymentHandler("get", "/payment-requests/:rpt_id", (req, res) =>
pipe(
Expand Down
7 changes: 7 additions & 0 deletions src/features/payments/routers/platform.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { PAGOPA_PLATFORM_SESSION_TOKEN } from "../utils/platform";
import { addPlatformHandler } from "./router";

// Generates a new pagoPA platform session token
addPlatformHandler("post", "/session", (_, res) =>
res.status(201).json({ token: PAGOPA_PLATFORM_SESSION_TOKEN })
);
11 changes: 10 additions & 1 deletion src/features/payments/routers/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ export const walletRouter = Router();

export const PAYMENT_WALLET_PREFIX = "/payment-wallet/v1";
export const ECOMMERCE_PREFIX = "/ecommerce/io/v1";
export const TRANSACTIONS_PREFIX = "/bizevents/bizevents/tx-service-jwt/v1";
export const TRANSACTIONS_PREFIX = "/bizevents/tx-service-jwt/v1";
export const PLATFORM_PREFIX = "/session-wallet/v1";

export const addPaymentWalletPrefix = (path: string) =>
`${PAYMENT_WALLET_PREFIX}${path}`;
Expand All @@ -16,6 +17,8 @@ export const addECommercePrefix = (path: string) =>
export const addTransactionPrefix = (path: string) =>
`${TRANSACTIONS_PREFIX}${path}`;

export const addPlatformPrefix = (path: string) => `${PLATFORM_PREFIX}${path}`;

export const addPaymentWalletHandler = (
method: SupportedMethod,
path: string,
Expand All @@ -35,3 +38,9 @@ export const addTransactionHandler = (
handleRequest: (request: Request, response: Response) => void
) =>
addHandler(walletRouter, method, addTransactionPrefix(path), handleRequest);

export const addPlatformHandler = (
method: SupportedMethod,
path: string,
handleRequest: (request: Request, response: Response) => void
) => addHandler(walletRouter, method, addPlatformPrefix(path), handleRequest);
2 changes: 2 additions & 0 deletions src/features/payments/utils/platform.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export const PAGOPA_PLATFORM_SESSION_TOKEN =
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJncm91cCI6ImFuZHJvaWQiLCJhdWQiOiJhbmRyb2lkIiwiaXNzIjoiYXBpLnNvY2lhbGRlYWwubmwiLCJtZW1iZXIiOnsibmFtZSI6ImVyaWsifSwiZXhwIjoxNDUyMDgzMjA3LCJpYXQiOjE0NTE5OTY4MDd9.u7ZBa9RB8U4QL8eBk4hmsjg8oFW19AHuen12c8CvLMj0IQUsNqeC-vwNQvAINpgBM0bzDf5cotyrUzf55eXch6mzfKMa-OJXguO-lARp4fc40HaBWbfnEvGe7yEgSESkt6gJNuprG51A6f4AJyNlXG_3u7O4bAMwiPZJc3AAU84_JXC7Vlq1X3FMaLVGmZdxzA4TvYZEiTt_KHoA49UgzeZtNXo3YiDq-GgL1eV8Li01fwy-M--xzbp4cPcY89jkPyYxUIJEoITOULr3zXQwRfYVe6i0P28oyu5ZzAwYCajBb2T98zN7sFJarNmtcxSKNfhCPnMVn3wrpxx4_Kd2Pw";

0 comments on commit 92910c7

Please sign in to comment.