Skip to content

Commit

Permalink
IMN-909 Fix Privacy Notice service retrieve from different Path (#1142)
Browse files Browse the repository at this point in the history
  • Loading branch information
Viktor-K authored Oct 28, 2024
1 parent 84281b5 commit f7b23e9
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 20 deletions.
3 changes: 2 additions & 1 deletion packages/backend-for-frontend/.env
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ RISK_ANALYSIS_DOCUMENTS_CONTAINER="interop-local-bucket"

PRIVACY_NOTICES_CONTAINER="interop-local-bucket"
PRIVACY_NOTICES_PATH="privacy-notices-path"
PRIVACY_NOTICES_FILE_NAME="privacy-notice.txt"
PRIVACY_NOTICES_PP_FILE_NAME="pp.json"
PRIVACY_NOTICES_TOS_FILE_NAME="tos.json"

PRIVACY_NOTICES_TOS_UUID="6bf8412a-41a7-41a0-82dc-26286ce61b1a"
PRIVACY_NOTICES_PP_UUID="0df21ff6-3e8f-4320-af8f-23dea9135d57"
Expand Down
8 changes: 5 additions & 3 deletions packages/backend-for-frontend/src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import {
APIEndpoint,
CommonHTTPServiceConfig,
FileManagerConfig,
RedisRateLimiterConfig,
SelfCareConfig,
SessionTokenGenerationConfig,
TokenGenerationConfig,
RedisRateLimiterConfig,
} from "pagopa-interop-commons";
import { z } from "zod";

Expand Down Expand Up @@ -103,12 +103,14 @@ export const S3PrivacyNoticeConfig = z
.object({
PRIVACY_NOTICES_CONTAINER: z.string(),
PRIVACY_NOTICES_PATH: z.string(),
PRIVACY_NOTICES_FILE_NAME: z.string(),
PRIVACY_NOTICES_TOS_FILE_NAME: z.string(),
PRIVACY_NOTICES_PP_FILE_NAME: z.string(),
})
.transform((c) => ({
privacyNoticesContainer: c.PRIVACY_NOTICES_CONTAINER,
privacyNoticesPath: c.PRIVACY_NOTICES_PATH,
privacyNoticesFileName: c.PRIVACY_NOTICES_FILE_NAME,
privacyNoticesTOSFileName: c.PRIVACY_NOTICES_TOS_FILE_NAME,
privacyNoticesPPFileName: c.PRIVACY_NOTICES_PP_FILE_NAME,
}));
export type S3PrivacyNoticeConfig = z.infer<typeof S3PrivacyNoticeConfig>;

Expand Down
24 changes: 8 additions & 16 deletions packages/backend-for-frontend/src/services/privacyNoticeService.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */

import { FileManager, Logger } from "pagopa-interop-commons";
import { bffApi } from "pagopa-interop-api-clients";
import { FileManager, Logger } from "pagopa-interop-commons";
import { match } from "ts-pattern";
import { config } from "../config/config.js";
import {
privacyNoticeNotFoundInConfiguration,
privacyNoticeNotFound,
privacyNoticeNotFoundInConfiguration,
privacyNoticeVersionIsNotTheLatest,
} from "../model/errors.js";
import { config } from "../config/config.js";
import {
UserPrivacyNotice,
UserPrivacyNoticeConsentType,
Expand Down Expand Up @@ -134,19 +134,11 @@ export function privacyNoticeServiceBuilder(
`Retrieving privacy notice content for consentType ${consentType}`
);

const privacyNoticeId = retrievePrivacyNoticeId(
consentType,
consentTypeMap
);

const latest = await retrieveLatestPrivacyNoticeVersion(
consentType,
privacyNoticeId,
privacyNoticeStorage,
logger
);

const path = `${config.privacyNoticesPath}/${privacyNoticeId}/${latest.privacyNoticeVersion.versionId}/it/${config.privacyNoticesFileName}`;
const basePath = `${config.privacyNoticesPath}/latest/it`;
const path = match(consentType)
.with("PP", () => `${basePath}/${config.privacyNoticesPPFileName}`)
.with("TOS", () => `${basePath}/${config.privacyNoticesTOSFileName}`)
.exhaustive();
const bytes = await fileManager.get(
config.privacyNoticesContainer,
path,
Expand Down

0 comments on commit f7b23e9

Please sign in to comment.