diff --git a/VAMobile/src/api/types/VeteranVerificationStatusPayload.ts b/VAMobile/src/api/types/VeteranVerificationStatusPayload.ts new file mode 100644 index 00000000000..824a80b0653 --- /dev/null +++ b/VAMobile/src/api/types/VeteranVerificationStatusPayload.ts @@ -0,0 +1,15 @@ +export type VeteranStatus = 'confirmed' | 'not confirmed' + +export type VeteranVerificationStatusDataAttributes = { + veteranStatus: VeteranStatus + notConfirmedReason?: string +} + +export type VeteranVerificationStatusPayload = { + data: { + id: string + type: string + attributes: VeteranVerificationStatusDataAttributes + message?: string[] + } +} diff --git a/VAMobile/src/api/types/index.ts b/VAMobile/src/api/types/index.ts index 6147a71e951..7de75507d2c 100644 --- a/VAMobile/src/api/types/index.ts +++ b/VAMobile/src/api/types/index.ts @@ -18,3 +18,4 @@ export * from './PrescriptionData' export * from './SecureMessagingData' export * from './ServiceHistoryData' export * from './VaccineData' +export * from './VeteranVerificationStatusPayload' diff --git a/VAMobile/src/api/veteranStatus/getVeteranStatus.tsx b/VAMobile/src/api/veteranStatus/getVeteranStatus.tsx new file mode 100644 index 00000000000..5c832a5b861 --- /dev/null +++ b/VAMobile/src/api/veteranStatus/getVeteranStatus.tsx @@ -0,0 +1,32 @@ +import { useQuery } from '@tanstack/react-query' + +import { VeteranVerificationStatusPayload } from 'api/types' +import { ACTIVITY_STALE_TIME } from 'constants/common' +import { get } from 'store/api' + +import { veteranStatusKeys } from './queryKeys' + +/** + * Fetch veteran verification status + */ +const getVeteranStatus = async (): Promise => { + const response = await get('/v0/vet_verification_status') + if (response) { + return response + } +} + +/** + * Returns a query for a veterans verification status + */ +export const useVeteranStatus = (options?: { enabled?: boolean }) => { + return useQuery({ + ...options, + queryKey: veteranStatusKeys.verification, + queryFn: () => getVeteranStatus(), + meta: { + errorName: 'getVeteranStatus: Service error', + }, + staleTime: ACTIVITY_STALE_TIME, + }) +} diff --git a/VAMobile/src/api/veteranStatus/index.ts b/VAMobile/src/api/veteranStatus/index.ts new file mode 100644 index 00000000000..ab77de4165b --- /dev/null +++ b/VAMobile/src/api/veteranStatus/index.ts @@ -0,0 +1,2 @@ +export * from './getVeteranStatus' +export * from './queryKeys' diff --git a/VAMobile/src/api/veteranStatus/queryKeys.ts b/VAMobile/src/api/veteranStatus/queryKeys.ts new file mode 100644 index 00000000000..fa85fab3dcc --- /dev/null +++ b/VAMobile/src/api/veteranStatus/queryKeys.ts @@ -0,0 +1,3 @@ +export const veteranStatusKeys = { + verification: ['verification'] as const, +}