process/fingap: disable query refetching
This commit is contained in:
parent
4ae1212a65
commit
34bab4f715
@ -1,9 +1,16 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
import type { QueryFunctionContext } from '@tanstack/react-query';
|
||||
import axios from 'axios';
|
||||
import type { RequestFinGAP, ResponseFinGAP } from './types';
|
||||
|
||||
export async function calculateFinGAP(payload: RequestFinGAP, signal?: AbortSignal) {
|
||||
return axios.post<ResponseFinGAP>(process.env.NEXT_PUBLIC_URL_CORE_FINGAP_PROXY!, payload, {
|
||||
signal,
|
||||
});
|
||||
export async function calculateFinGAP(payload: RequestFinGAP, { signal }: QueryFunctionContext) {
|
||||
const { data } = await axios.post<ResponseFinGAP>(
|
||||
process.env.NEXT_PUBLIC_URL_CORE_FINGAP_PROXY!,
|
||||
payload,
|
||||
{
|
||||
signal,
|
||||
}
|
||||
);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
2
constants/request.js
Normal file
2
constants/request.js
Normal file
@ -0,0 +1,2 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
export const STALE_TIME = Number.POSITIVE_INFINITY;
|
||||
@ -7,11 +7,13 @@ import type { QueryClient, QueryFunctionContext } from '@tanstack/react-query';
|
||||
import { calculateFinGAP } from 'api/core/query';
|
||||
import type { RequestFinGAP } from 'api/core/types';
|
||||
import type { Risk } from 'Components/Calculation/Form/Insurance/FinGAPTable/types';
|
||||
import { STALE_TIME } from 'constants/request';
|
||||
import dayjs from 'dayjs';
|
||||
import utc from 'dayjs/plugin/utc';
|
||||
import type * as CRMTypes from 'graphql/crm.types';
|
||||
import { comparer, reaction, toJS } from 'mobx';
|
||||
import type RootStore from 'stores/root';
|
||||
import { flatten } from 'tools/object';
|
||||
|
||||
dayjs.extend(utc);
|
||||
|
||||
@ -195,12 +197,15 @@ export default function commonReactions(
|
||||
}
|
||||
|
||||
function makeRequestGetFinGAP(request: RequestFinGAP) {
|
||||
const queryCalculateFinGAP = ({ signal }: QueryFunctionContext) =>
|
||||
calculateFinGAP(request, signal);
|
||||
const queryCalculateFinGAP = (context: QueryFunctionContext) =>
|
||||
calculateFinGAP(request, context);
|
||||
|
||||
return queryClient.fetchQuery(
|
||||
['calculate', 'fingap', request.calcType],
|
||||
queryCalculateFinGAP
|
||||
['core', 'fingap', ...flatten(request)],
|
||||
queryCalculateFinGAP,
|
||||
{
|
||||
staleTime: STALE_TIME,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -211,8 +216,8 @@ export default function commonReactions(
|
||||
).then((results) => {
|
||||
const newRisks = risks.map((risk, i) => ({
|
||||
...risk,
|
||||
sum: results.at(i)?.data.sum || 0,
|
||||
premium: results.at(i)?.data.premium || 0,
|
||||
sum: results.at(i)?.sum || 0,
|
||||
premium: results.at(i)?.premium || 0,
|
||||
}));
|
||||
|
||||
$tables.fingap.setRisks(newRisks);
|
||||
|
||||
4
tools/object.ts
Normal file
4
tools/object.ts
Normal file
@ -0,0 +1,4 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
export function flatten(obj: object) {
|
||||
return Object.values(obj).flat();
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user