diff --git a/ValidateProfileEmail/__tests__/handler.test.ts b/ValidateProfileEmail/__tests__/handler.test.ts index 19a7d7c..9129a30 100644 --- a/ValidateProfileEmail/__tests__/handler.test.ts +++ b/ValidateProfileEmail/__tests__/handler.test.ts @@ -120,8 +120,7 @@ describe.each` "", mockProfileModel, emailValidationUrls, - profileEmailReader, - constTrue + profileEmailReader ); const response = await verifyProfileEmailHandler( @@ -153,8 +152,7 @@ describe.each` emailValidationUrls, { list: generateProfileEmails(1, isThrowing) - }, - constTrue + } ); const response = await verifyProfileEmailHandler( @@ -186,8 +184,7 @@ describe("ValidateProfileEmailHandler#Happy path", () => { emailValidationUrls, { list: generateProfileEmails(0) - }, - constTrue + } ); const response = await verifyProfileEmailHandler( @@ -214,8 +211,7 @@ describe("ValidateProfileEmailHandler#Happy path", () => { emailValidationUrls, { list: generateProfileEmails(0) - }, - constTrue + } ); const response = await verifyProfileEmailHandler( diff --git a/ValidateProfileEmail/handler.ts b/ValidateProfileEmail/handler.ts index 03c7d9d..9cd4911 100644 --- a/ValidateProfileEmail/handler.ts +++ b/ValidateProfileEmail/handler.ts @@ -17,7 +17,6 @@ import { IResponseSeeOtherRedirect, ResponseSeeOtherRedirect } from "@pagopa/ts-commons/lib/responses"; -import { FiscalCode } from "@pagopa/ts-commons/lib/strings"; import { hashFiscalCode } from "@pagopa/ts-commons/lib/hash"; import { ValidationTokenEntity } from "@pagopa/io-functions-commons/dist/src/entities/validation_token"; import { ProfileModel } from "@pagopa/io-functions-commons/dist/src/models/profile"; @@ -61,8 +60,7 @@ export const ValidateProfileEmailHandler = ( readonly confirmValidationUrl: ValidUrl; readonly validationCallbackUrl: ValidUrl; }, - profileEmails: IProfileEmailReader, - FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED: (fiscalCode: FiscalCode) => boolean + profileEmails: IProfileEmailReader ): IValidateProfileEmailHandler => async ( context, token, @@ -174,22 +172,20 @@ export const ValidateProfileEmailHandler = ( } // Check if the e-mail is already taken - if (FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED(fiscalCode)) { - try { - const isEmailTaken = await isEmailAlreadyTaken(email)({ - profileEmails - }); - if (isEmailTaken) { - return ResponseSeeOtherRedirect( - vFailureUrl(ValidationErrors.EMAIL_ALREADY_TAKEN) - ); - } - } catch { - context.log.error(`${logPrefix}| Check for e-mail uniqueness failed`); + try { + const isEmailTaken = await isEmailAlreadyTaken(email)({ + profileEmails + }); + if (isEmailTaken) { return ResponseSeeOtherRedirect( - vFailureUrl(ValidationErrors.GENERIC_ERROR) + vFailureUrl(ValidationErrors.EMAIL_ALREADY_TAKEN) ); } + } catch { + context.log.error(`${logPrefix}| Check for e-mail uniqueness failed`); + return ResponseSeeOtherRedirect( + vFailureUrl(ValidationErrors.GENERIC_ERROR) + ); } // Update the profile and set isEmailValidated to `true` ONLY if the flowChoice equals to VALIDATE @@ -249,16 +245,14 @@ export const ValidateProfileEmail = ( readonly confirmValidationUrl: ValidUrl; readonly validationCallbackUrl: ValidUrl; }, - profileEmails: IProfileEmailReader, - FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED: (fiscalCode: FiscalCode) => boolean + profileEmails: IProfileEmailReader ): express.RequestHandler => { const handler = ValidateProfileEmailHandler( tableService, validationTokensTableName, profileModel, emailValidationUrls, - profileEmails, - FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED + profileEmails ); const middlewaresWrap = withRequestMiddlewares( diff --git a/ValidateProfileEmail/index.ts b/ValidateProfileEmail/index.ts index ce78a04..93715f9 100644 --- a/ValidateProfileEmail/index.ts +++ b/ValidateProfileEmail/index.ts @@ -22,10 +22,7 @@ import createAzureFunctionHandler from "@pagopa/express-azure-functions/dist/src import { DataTableProfileEmailsRepository } from "@pagopa/io-functions-commons/dist/src/utils/unique_email_enforcement/storage"; import { getConfigOrThrow } from "../utils/config"; -import { - profileEmailTableClient, - FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED -} from "../utils/unique_email_enforcement"; +import { profileEmailTableClient } from "../utils/unique_email_enforcement"; import { ValidateProfileEmail } from "./handler"; const config = getConfigOrThrow(); @@ -69,8 +66,7 @@ app.get( confirmValidationUrl: config.CONFIRM_CHOICE_PAGE_URL, validationCallbackUrl: validationCallbackValidUrl }, - profileEmailsReader, - FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED + profileEmailsReader ) ); diff --git a/env.example b/env.example index f73aeb7..0a91409 100644 --- a/env.example +++ b/env.example @@ -7,9 +7,6 @@ VALIDATION_CALLBACK_URL=localhost CONFIRM_CHOICE_PAGE_URL=localhost SLOT_TASK_HUBNAME=FNPUBLICTESTMOCK -FF_UNIQUE_EMAIL_ENFORCEMENT=NONE -UNIQUE_EMAIL_ENFORCEMENT_USERS=[] - PROFILE_EMAIL_STORAGE_CONNECTION_STRING=${STORAGE_CONNECTION_STRING} PROFILE_EMAIL_STORAGE_TABLE_NAME=profileEmails diff --git a/utils/config.ts b/utils/config.ts index cd24a32..af1f590 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -40,14 +40,11 @@ export const IConfig = t.type({ COSMOSDB_NAME: NonEmptyString, COSMOSDB_URI: NonEmptyString, - FF_UNIQUE_EMAIL_ENFORCEMENT: FeatureFlagFromString, - PROFILE_EMAIL_STORAGE_CONNECTION_STRING: NonEmptyString, PROFILE_EMAIL_STORAGE_TABLE_NAME: NonEmptyString, StorageConnection: NonEmptyString, - UNIQUE_EMAIL_ENFORCEMENT_USERS: BetaUsersFromString, VALIDATION_CALLBACK_URL: NonEmptyString, isProduction: t.boolean diff --git a/utils/unique_email_enforcement.ts b/utils/unique_email_enforcement.ts index 70dfc9c..6ae8dba 100644 --- a/utils/unique_email_enforcement.ts +++ b/utils/unique_email_enforcement.ts @@ -1,7 +1,5 @@ import { TableClient } from "@azure/data-tables"; -import { FiscalCode } from "@pagopa/ts-commons/lib/strings"; -import { getIsUserEligibleForNewFeature } from "@pagopa/ts-commons/lib/featureFlag"; import { getConfigOrThrow } from "../utils/config"; const config = getConfigOrThrow(); @@ -10,11 +8,3 @@ export const profileEmailTableClient = TableClient.fromConnectionString( config.PROFILE_EMAIL_STORAGE_CONNECTION_STRING, config.PROFILE_EMAIL_STORAGE_TABLE_NAME ); - -export const FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED = getIsUserEligibleForNewFeature< - FiscalCode ->( - fiscalCode => config.UNIQUE_EMAIL_ENFORCEMENT_USERS.includes(fiscalCode), - () => false, - config.FF_UNIQUE_EMAIL_ENFORCEMENT -);