Skip to content

Commit

Permalink
feat(pn-10951): exchange qr code api migration (#1210)
Browse files Browse the repository at this point in the history
  • Loading branch information
afus0 authored May 20, 2024
1 parent 7afd7b3 commit 479bf47
Show file tree
Hide file tree
Showing 15 changed files with 255 additions and 213 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,38 @@ export interface BaseRegisteredLetterDetails {
*/
'physicalAddress': PhysicalAddress;
}
/**
* Le informazioni fornite per verificare l\'AAR-QR-CodeValue
* @export
* @interface BffCheckAarRequest
*/
export interface BffCheckAarRequest {
/**
* valore del token QR-Code presente sull\'avviso di avvenuta ricezione
* @type {string}
* @memberof BffCheckAarRequest
*/
'aarQrCodeValue': string;
}
/**
* Le informazioni fornite in risposta alla verifica del AAR-QR-CodeValue con possibile identificativo della delega attiva
* @export
* @interface BffCheckAarResponse
*/
export interface BffCheckAarResponse {
/**
* Identificativo Univoco Notifica
* @type {string}
* @memberof BffCheckAarResponse
*/
'iun': string;
/**
* identificativo della delega
* @type {string}
* @memberof BffCheckAarResponse
*/
'mandateId'?: string;
}
/**
*
* @export
Expand Down Expand Up @@ -2323,6 +2355,19 @@ export interface RefinementDetailsV23 {
*/
'eventTimestamp'?: string;
}
/**
* Le informazioni fornite per verificare l\'AAR-QR-CodeValue
* @export
* @interface RequestCheckAarMandateDto
*/
export interface RequestCheckAarMandateDto {
/**
* valore del token QR-Code presente sull\'avviso di avvenuta ricezione
* @type {string}
* @memberof RequestCheckAarMandateDto
*/
'aarQrCodeValue': string;
}
/**
*
* @export
Expand All @@ -2336,6 +2381,25 @@ export interface RequestRefusedDetailsV23 {
*/
'refusalReasons'?: Array<NotificationRefusedErrorV23>;
}
/**
* Le informazioni fornite in risposta alla verifica del AAR-QR-CodeValue con possibile identificativo della delega attiva
* @export
* @interface ResponseCheckAarMandateDto
*/
export interface ResponseCheckAarMandateDto {
/**
* Identificativo Univoco Notifica
* @type {string}
* @memberof ResponseCheckAarMandateDto
*/
'iun': string;
/**
* identificativo della delega
* @type {string}
* @memberof ResponseCheckAarMandateDto
*/
'mandateId'?: string;
}
/**
* stato risposta ricevuta da externalChannel
* @export
Expand Down Expand Up @@ -3204,6 +3268,42 @@ export type TimelineElementDetailsV23 = AarCreationRequestDetails | AarGeneratio
*/
export const NotificationReceivedApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
*
* @summary Servizio per la verifica del aar-qr-code
* @param {BffCheckAarRequest} bffCheckAarRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
checkAarQrCodeV1: async (bffCheckAarRequest: BffCheckAarRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'bffCheckAarRequest' is not null or undefined
assertParamExists('checkAarQrCodeV1', 'bffCheckAarRequest', bffCheckAarRequest)
const localVarPath = `/bff/v1/notifications/received/check-aar-qr-code`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}

const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;



localVarHeaderParameter['Content-Type'] = 'application/json';

setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(bffCheckAarRequest, localVarRequestOptions, configuration)

return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @summary Questa operazione permette di scaricare qualsiasi documento legato alla notifica.
Expand Down Expand Up @@ -3525,6 +3625,19 @@ export const NotificationReceivedApiAxiosParamCreator = function (configuration?
export const NotificationReceivedApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = NotificationReceivedApiAxiosParamCreator(configuration)
return {
/**
*
* @summary Servizio per la verifica del aar-qr-code
* @param {BffCheckAarRequest} bffCheckAarRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async checkAarQrCodeV1(bffCheckAarRequest: BffCheckAarRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BffCheckAarResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.checkAarQrCodeV1(bffCheckAarRequest, options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['NotificationReceivedApi.checkAarQrCodeV1']?.[localVarOperationServerIndex]?.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
/**
*
* @summary Questa operazione permette di scaricare qualsiasi documento legato alla notifica.
Expand Down Expand Up @@ -3625,6 +3738,16 @@ export const NotificationReceivedApiFp = function(configuration?: Configuration)
export const NotificationReceivedApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = NotificationReceivedApiFp(configuration)
return {
/**
*
* @summary Servizio per la verifica del aar-qr-code
* @param {BffCheckAarRequest} bffCheckAarRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
checkAarQrCodeV1(bffCheckAarRequest: BffCheckAarRequest, options?: any): AxiosPromise<BffCheckAarResponse> {
return localVarFp.checkAarQrCodeV1(bffCheckAarRequest, options).then((request) => request(axios, basePath));
},
/**
*
* @summary Questa operazione permette di scaricare qualsiasi documento legato alla notifica.
Expand Down Expand Up @@ -3710,6 +3833,18 @@ export const NotificationReceivedApiFactory = function (configuration?: Configur
* @extends {BaseAPI}
*/
export class NotificationReceivedApi extends BaseAPI {
/**
*
* @summary Servizio per la verifica del aar-qr-code
* @param {BffCheckAarRequest} bffCheckAarRequest
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof NotificationReceivedApi
*/
public checkAarQrCodeV1(bffCheckAarRequest: BffCheckAarRequest, options?: RawAxiosRequestConfig) {
return NotificationReceivedApiFp(this.configuration).checkAarQrCodeV1(bffCheckAarRequest, options).then((request) => request(this.axios, this.basePath));
}

/**
*
* @summary Questa operazione permette di scaricare qualsiasi documento legato alla notifica.
Expand Down
29 changes: 17 additions & 12 deletions packages/pn-personafisica-webapp/src/navigation/AARGuard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import { Outlet, useLocation, useNavigate } from 'react-router-dom';

import { AccessDenied, IllusQuestion, LoadingPage } from '@pagopa-pn/pn-commons';

import { NotificationsApi } from '../api/notifications/Notifications.api';
import { NotificationId } from '../models/Notifications';
import { PFEventsType } from '../models/PFEventsType';
import { useAppDispatch } from '../redux/hooks';
import { exchangeNotificationQrCode } from '../redux/notification/actions';
import PFEventStrategyFactory from '../utility/MixpanelUtils/PFEventStrategyFactory';
import {
DETTAGLIO_NOTIFICA_QRCODE_QUERY_PARAM,
Expand All @@ -23,6 +24,7 @@ function notificationDetailPath(notificationId: NotificationId): string {

const AARGuard = () => {
const location = useLocation();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const { t } = useTranslation(['notifiche']);
const [fetchError, setFetchError] = useState(false);
Expand All @@ -34,17 +36,20 @@ const AARGuard = () => {
}, [location]);

useEffect(() => {
const fetchNotificationFromQrCode = async () => {
if (aar) {
try {
const fetchedData = await NotificationsApi.exchangeNotificationQrCode(aar);
setNotificationId(fetchedData);
} catch {
setFetchError(true);
}
}
};
void fetchNotificationFromQrCode();
if (aar) {
const fetchNotificationFromQrCode = () =>
dispatch(exchangeNotificationQrCode({ aarQrCodeValue: aar }))
.unwrap()
.then((notification) => {
if (notification) {
setNotificationId(notification);
}
})
.catch(() => {
setFetchError(true);
});
void fetchNotificationFromQrCode();
}
}, [aar]);

useEffect(() => {
Expand Down
Loading

0 comments on commit 479bf47

Please sign in to comment.