diff --git a/src/api/OnboardingApiClient.ts b/src/api/OnboardingApiClient.ts index ae7c58c..4dad0ed 100644 --- a/src/api/OnboardingApiClient.ts +++ b/src/api/OnboardingApiClient.ts @@ -5,11 +5,9 @@ import { } from '@pagopa/selfcare-common-frontend/lib/utils/api-utils'; import { storageTokenOps } from '@pagopa/selfcare-common-frontend/lib/utils/storage'; import { ENV } from '../utils/env'; -import { CheckManagerDto } from './generated/onboarding/CheckManagerDto'; import { createClient, WithDefaultsT } from './generated/onboarding/client'; import { OnboardingUserDto } from './generated/onboarding/OnboardingUserDto'; import { UserDataValidationDto } from './generated/onboarding/UserDataValidationDto'; -import { UserTaxCodeDto } from './generated/onboarding/UserTaxCodeDto'; const withBearerAndInstitutionId: WithDefaultsT<'bearerAuth'> = (wrappedOperation) => (params: any) => { @@ -41,16 +39,6 @@ const onRedirectToLogin = () => ); export const OnboardingApi = { - searchUserApi: async (user: UserTaxCodeDto): Promise => { - const result = await apiClient.searchUserId({ body: user }); - return extractResponse(result, 200, onRedirectToLogin); - }, - - checkManagerApi: async (user: CheckManagerDto): Promise => { - const result = await apiClient.checkManager({ body: user }); - return extractResponse(result, 200, onRedirectToLogin); - }, - validateLegalRepresentative: async (user: UserDataValidationDto): Promise => { const result = await apiClient.validateUsingPOST({ body: { diff --git a/src/pages/addUserFlow/addManager/AddLegalRepresentativeForm.tsx b/src/pages/addUserFlow/addManager/AddLegalRepresentativeForm.tsx index d33860e..ad065da 100644 --- a/src/pages/addUserFlow/addManager/AddLegalRepresentativeForm.tsx +++ b/src/pages/addUserFlow/addManager/AddLegalRepresentativeForm.tsx @@ -1,8 +1,6 @@ import { Grid } from '@mui/material'; - import { ButtonNaked } from '@pagopa/mui-italia'; import { TitleBox, useErrorDispatcher, useLoading } from '@pagopa/selfcare-common-frontend/lib'; - import { trackEvent } from '@pagopa/selfcare-common-frontend/lib/services/analyticsService'; import { resolvePathVariables } from '@pagopa/selfcare-common-frontend/lib/utils/routes-utils'; import { useFormik } from 'formik'; @@ -17,18 +15,14 @@ import { Party } from '../../../model/Party'; import { AddedUsersList } from '../../../model/PartyUser'; import { RequestOutcomeMessage } from '../../../model/UserRegistry'; import { - checkManagerService, onboardingAggregatorService, onboardingPostUser, - searchUserService, validateLegalRepresentative, } from '../../../services/onboardingService'; import { getLegalRepresentativeService } from '../../../services/usersService'; import { - LOADING_TASK_CHECK_MANAGER, LOADING_TASK_GET_LEGAL_REPRESENTATIVE, LOADING_TASK_ONBOARDING_USER_WITH_LEGAL_REPRESENTATIVE, - LOADING_TASK_SEARCH_USER_PDV, } from '../../../utils/constants'; import { ENV } from '../../../utils/env'; import { findNewestManager, getOutcomeContent, renderErrorMessage } from '../utils/helpers'; @@ -62,8 +56,6 @@ export default function AddLegalRepresentativeForm({ const requestId = uniqueId(); const { t } = useTranslation(); - const setLoadingSearchUserPDV = useLoading(LOADING_TASK_SEARCH_USER_PDV); - const setLoadingCheckManager = useLoading(LOADING_TASK_CHECK_MANAGER); const setLoadingGetLegalRepresentative = useLoading(LOADING_TASK_GET_LEGAL_REPRESENTATIVE); const setLoadingOnboarding = useLoading(LOADING_TASK_ONBOARDING_USER_WITH_LEGAL_REPRESENTATIVE); const addError = useErrorDispatcher(); @@ -104,68 +96,6 @@ export default function AddLegalRepresentativeForm({ .finally(() => setLoadingGetLegalRepresentative(false)); }, [productId, party]); - const searchUser = async (user: AddedUsersList) => { - setLoadingSearchUserPDV(true); - await searchUserService({ taxCode: user.taxCode }) - .then(async (data) => { - if (data.id) { - await checkManager(data.id, user); - } else { - await validateUser(user); - } - }) - .catch(async (error) => { - await validateUser(user); - addError({ - id: `SEARCH_USER_ERROR`, - blocking: false, - error, - techDescription: `Something gone wrong while calling search-user`, - toNotify: true, - }); - }) - .finally(() => setLoadingSearchUserPDV(false)); - }; - - const checkManager = async (userId: string, user: AddedUsersList) => { - setLoadingCheckManager(true); - checkManagerService({ - institutionType: activeOnboardingOnSelectedProduct.institutionType as InstitutionTypeEnum, - origin: party?.origin, - originId: party?.originId, - productId, - subunitCode: party?.subunitCode, - taxCode: party.vatNumber, - userId, - }) - .then(async (data) => { - if (data) { - setIsChangedManager(!data.result); - if (!data.result) { - trackEvent('CHANGE_LEGAL_REPRESENTATIVE', { - request_id: requestId, - party_id: party.partyId, - product_id: productId, - from: 'dashboard', - }); - } else { - await validateUser(user); - } - } - }) - .catch(async (error) => { - await validateUser(user); - addError({ - id: `VALIDATE_USER_ERROR`, - blocking: false, - error, - techDescription: `Something gone wrong while calling validate-user`, - toNotify: true, - }); - }) - .finally(() => setLoadingCheckManager(false)); - }; - const initialFormData = { taxCode: '', name: '', @@ -179,9 +109,13 @@ export default function AddLegalRepresentativeForm({ validate: (user) => validateManagerForm(user, addedUserList, t), onSubmit: async (user) => { - if (previousLegalRepresentative) { - await searchUser(user); + if ( + previousLegalRepresentative?.fiscalCode && + previousLegalRepresentative.fiscalCode !== user.taxCode + ) { + setIsChangedManager(true); } else { + setIsChangedManager(false); await validateUser(user); } }, diff --git a/src/services/__mocks__/usersService.ts b/src/services/__mocks__/usersService.ts index a6bb4a3..03b3b14 100644 --- a/src/services/__mocks__/usersService.ts +++ b/src/services/__mocks__/usersService.ts @@ -11,10 +11,8 @@ import { mockedProductUserResource } from '../../api/__mocks__/DashboardApiClien import { CheckUserResponse } from '../../api/generated/b4f-dashboard/CheckUserResponse'; import { ProductUserResource } from '../../api/generated/b4f-dashboard/ProductUserResource'; import { UserCountResource } from '../../api/generated/b4f-dashboard/UserCountResource'; -import { CheckManagerDto } from '../../api/generated/onboarding/CheckManagerDto'; import { OnboardingUserDto } from '../../api/generated/onboarding/OnboardingUserDto'; import { UserDataValidationDto } from '../../api/generated/onboarding/UserDataValidationDto'; -import { UserTaxCodeDto } from '../../api/generated/onboarding/UserTaxCodeDto'; import { Party, UserRole, UserStatus } from '../../model/Party'; import { PartyGroup, PartyGroupStatus } from '../../model/PartyGroup'; import { @@ -1350,14 +1348,6 @@ export const fetchUserGroups = ( return Promise.resolve(userGroups); }; -export const searchUserMocked = (_user: UserTaxCodeDto): Promise => - Promise.resolve({ - id: '121312312', - }); - -export const checkManagerMocked = (_user: CheckManagerDto): Promise => - Promise.resolve({ result: false }); - export const validateLegalRepresentativeMocked = (_user: UserDataValidationDto): Promise => new Promise((resolve) => resolve()); diff --git a/src/services/onboardingService.ts b/src/services/onboardingService.ts index 5343fa8..651ce1a 100644 --- a/src/services/onboardingService.ts +++ b/src/services/onboardingService.ts @@ -1,33 +1,11 @@ -import { CheckManagerDto } from '../api/generated/onboarding/CheckManagerDto'; import { OnboardingUserDto } from '../api/generated/onboarding/OnboardingUserDto'; import { UserDataValidationDto } from '../api/generated/onboarding/UserDataValidationDto'; -import { UserTaxCodeDto } from '../api/generated/onboarding/UserTaxCodeDto'; import { OnboardingApi } from '../api/OnboardingApiClient'; import { - checkManagerMocked, onboardingPostUserMocked, - searchUserMocked, validateLegalRepresentativeMocked, } from './__mocks__/usersService'; -export const searchUserService = (userTaxCode: UserTaxCodeDto): Promise => { - /* istanbul ignore if */ - if (process.env.REACT_APP_API_MOCK_PARTY_USERS === 'true') { - return searchUserMocked(userTaxCode); - } else { - return OnboardingApi.searchUserApi(userTaxCode); - } -}; - -export const checkManagerService = (user: CheckManagerDto): Promise => { - /* istanbul ignore if */ - if (process.env.REACT_APP_API_MOCK_PARTY_USERS === 'true') { - return checkManagerMocked(user); - } else { - return OnboardingApi.checkManagerApi(user); - } -}; - export const validateLegalRepresentative = (user: UserDataValidationDto): Promise => { /* istanbul ignore if */ if (process.env.REACT_APP_API_MOCK_PARTY_USERS === 'true') {