Skip to content

Commit

Permalink
[#IOPID-2195] remove FF and dead-code (#83)
Browse files Browse the repository at this point in the history
* [#IOPID-2195] remove FF and dead-code

* chore: linting

* refactor: remove unused `UNIQUE_EMAIL_ENFORCEMENT_USERS`

---------

Co-authored-by: Salvatore Laiso <salvatore.laiso@it.ey.com>
  • Loading branch information
salvatorelaiso and Salvatore Laiso authored Sep 30, 2024
1 parent 0d134d1 commit ded342a
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 50 deletions.
12 changes: 4 additions & 8 deletions ValidateProfileEmail/__tests__/handler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ describe.each`
"",
mockProfileModel,
emailValidationUrls,
profileEmailReader,
constTrue
profileEmailReader
);

const response = await verifyProfileEmailHandler(
Expand Down Expand Up @@ -153,8 +152,7 @@ describe.each`
emailValidationUrls,
{
list: generateProfileEmails(1, isThrowing)
},
constTrue
}
);

const response = await verifyProfileEmailHandler(
Expand Down Expand Up @@ -186,8 +184,7 @@ describe("ValidateProfileEmailHandler#Happy path", () => {
emailValidationUrls,
{
list: generateProfileEmails(0)
},
constTrue
}
);

const response = await verifyProfileEmailHandler(
Expand All @@ -214,8 +211,7 @@ describe("ValidateProfileEmailHandler#Happy path", () => {
emailValidationUrls,
{
list: generateProfileEmails(0)
},
constTrue
}
);

const response = await verifyProfileEmailHandler(
Expand Down
34 changes: 14 additions & 20 deletions ValidateProfileEmail/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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(
Expand Down
8 changes: 2 additions & 6 deletions ValidateProfileEmail/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -69,8 +66,7 @@ app.get(
confirmValidationUrl: config.CONFIRM_CHOICE_PAGE_URL,
validationCallbackUrl: validationCallbackValidUrl
},
profileEmailsReader,
FF_UNIQUE_EMAIL_ENFORCEMENT_ENABLED
profileEmailsReader
)
);

Expand Down
3 changes: 0 additions & 3 deletions env.example
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
3 changes: 0 additions & 3 deletions utils/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 0 additions & 10 deletions utils/unique_email_enforcement.ts
Original file line number Diff line number Diff line change
@@ -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();
Expand All @@ -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
);

0 comments on commit ded342a

Please sign in to comment.