Updated apollo fetch policies to always be network only.

This commit is contained in:
Patrick Fic
2021-12-14 13:14:21 -08:00
parent 920c8f6910
commit 94c4b07318
91 changed files with 1450 additions and 1657 deletions

View File

@@ -44,7 +44,10 @@ const JobsList = (props) => (
);
const JobsFilter = (props) => {
const { loading, error, data } = useQuery(QUERY_ALL_SHOPS);
const { loading, error, data } = useQuery(QUERY_ALL_SHOPS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <CircularProgress />;
if (error) return JSON.stringify(error);

View File

@@ -1,57 +1,51 @@
{
"name": "bodyshop",
"version": "0.1.1",
"version": "0.2.1",
"private": true,
"proxy": "http://localhost:4000",
"dependencies": {
"@apollo/client": "^3.4.17",
"@apollo/client": "^3.5.6",
"@asseinfo/react-kanban": "^2.2.0",
"@craco/craco": "^6.4.0",
"@fingerprintjs/fingerprintjs": "^3.3.0",
"@openreplay/tracker": "^3.4.7",
"@openreplay/tracker-assist": "^3.4.4",
"@openreplay/tracker-graphql": "^3.0.0",
"@openreplay/tracker-redux": "^3.0.0",
"@sentry/react": "^6.14.3",
"@sentry/tracing": "^6.14.3",
"@fingerprintjs/fingerprintjs": "^3.3.1",
"@sentry/react": "^6.16.1",
"@sentry/tracing": "^6.16.1",
"@splitsoftware/splitio-react": "^1.3.0",
"@stripe/react-stripe-js": "^1.6.0",
"@stripe/stripe-js": "^1.21.1",
"@stripe/stripe-js": "^1.22.0",
"@tanem/react-nprogress": "^3.0.82",
"antd": "^4.16.13",
"antd": "^4.17.3",
"apollo-link-logger": "^2.0.0",
"axios": "^0.24.0",
"craco-less": "^1.20.0",
"dinero.js": "^1.9.1",
"dotenv": "^10.0.0",
"enquire-js": "^0.2.1",
"env-cmd": "^10.1.0",
"exifr": "^7.1.3",
"firebase": "^9.4.1",
"graphql": "^16.0.1",
"i18next": "^21.4.2",
"firebase": "^9.6.1",
"graphql": "^16.1.0",
"i18next": "^21.6.0",
"i18next-browser-languagedetector": "^6.1.2",
"jsoneditor": "^9.5.7",
"jsreport-browser-client-dist": "^1.3.0",
"libphonenumber-js": "^1.9.42",
"logrocket": "^2.1.1",
"markerjs2": "^2.17.0",
"libphonenumber-js": "^1.9.44",
"logrocket": "^2.1.2",
"markerjs2": "^2.17.2",
"moment-business-days": "^1.2.0",
"phone": "^3.1.9",
"phone": "^3.1.10",
"preval.macro": "^5.0.0",
"prop-types": "^15.7.2",
"query-string": "^7.0.1",
"rc-queue-anim": "^2.0.0",
"rc-scroll-anim": "^2.7.6",
"react": "^17.0.1",
"react": "^17.0.2",
"react-big-calendar": "^0.38.1",
"react-color": "^2.19.3",
"react-cookie": "^4.1.1",
"react-dom": "^17.0.1",
"react-dom": "^17.0.2",
"react-drag-listview": "^0.1.8",
"react-grid-gallery": "^0.5.5",
"react-grid-layout": "^1.3.0",
"react-i18next": "^11.14.2",
"react-i18next": "^11.15.1",
"react-icons": "^4.3.1",
"react-number-format": "^4.8.0",
"react-redux": "^7.2.6",
@@ -60,39 +54,38 @@
"react-scripts": "^4.0.3",
"react-sublime-video": "^0.2.5",
"react-virtualized": "^9.22.3",
"recharts": "^2.1.6",
"recharts": "^2.1.8",
"redux": "^4.1.2",
"redux-persist": "^6.0.0",
"redux-saga": "^1.1.3",
"redux-state-sync": "^3.1.2",
"reselect": "^4.1.2",
"sass": "^1.43.4",
"socket.io-client": "^4.3.2",
"reselect": "^4.1.5",
"sass": "^1.45.0",
"socket.io-client": "^4.4.0",
"styled-components": "^5.3.3",
"subscriptions-transport-ws": "^0.11.0",
"web-vitals": "^2.1.2",
"workbox-background-sync": "^6.3.0",
"workbox-broadcast-update": "^6.3.0",
"workbox-cacheable-response": "^6.3.0",
"workbox-core": "^6.3.0",
"workbox-expiration": "^6.3.0",
"workbox-google-analytics": "^6.3.0",
"workbox-navigation-preload": "^6.3.0",
"workbox-precaching": "^6.3.0",
"workbox-range-requests": "^6.3.0",
"workbox-routing": "^6.3.0",
"workbox-strategies": "^6.3.0",
"workbox-streams": "^6.3.0"
"workbox-background-sync": "^6.4.2",
"workbox-broadcast-update": "^6.4.2",
"workbox-cacheable-response": "^6.4.2",
"workbox-core": "^6.4.2",
"workbox-expiration": "^6.4.2",
"workbox-google-analytics": "^6.4.2",
"workbox-navigation-preload": "^6.4.2",
"workbox-precaching": "^6.4.2",
"workbox-range-requests": "^6.4.2",
"workbox-routing": "^6.4.2",
"workbox-strategies": "^6.4.2",
"workbox-streams": "^6.4.2"
},
"scripts": {
"postinstall": "patch-package",
"analyze": "source-map-explorer 'build/static/js/*.js'",
"start": "craco start",
"build": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` craco build",
"start": "react-scripts start",
"build": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` react-scripts build",
"build:test": "env-cmd -f .env.test yarn run build",
"build-deploy:test": "yarn run build:test && s3cmd sync build/* s3://imex-online-test && echo '🚀 TESTING Deployed!'",
"buildcra": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` react-scripts build",
"test": "craco test",
"test": "react-scripts test",
"eject": "react-scripts eject",
"madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular ."
},
@@ -116,7 +109,6 @@
},
"devDependencies": {
"@sentry/webpack-plugin": "^1.18.3",
"patch-package": "^6.4.7",
"redux-logger": "^3.0.6",
"source-map-explorer": "^2.5.2"
}

View File

@@ -9,6 +9,7 @@ export default function AuditTrailListContainer({ recordId }) {
const { loading, error, data } = useQuery(QUERY_AUDIT_TRAIL, {
variables: { id: recordId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
logImEXEvent("audittrail_view", { recordId });

View File

@@ -77,6 +77,8 @@ export function BillDetailEditcontainer({
const { loading, error, data, refetch } = useQuery(QUERY_BILL_BY_PK, {
variables: { billid: search.billid },
skip: !!!search.billid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const handleSave = () => {

View File

@@ -18,7 +18,10 @@ export function BillFormContainer({
disabled,
disableInvNumber,
}) {
const { data: VendorAutoCompleteData } = useQuery(SEARCH_VENDOR_AUTOCOMPLETE);
const { data: VendorAutoCompleteData } = useQuery(
SEARCH_VENDOR_AUTOCOMPLETE,
{ fetchPolicy: "network-only", nextFetchPolicy: "network-only" }
);
const [loadLines, { data: lineData }] = useLazyQuery(
GET_JOB_LINES_TO_ENTER_BILL

View File

@@ -12,7 +12,10 @@ export default function BillsVendorsList() {
const search = queryString.parse(useLocation().search);
const history = useHistory();
const { loading, error, data } = useQuery(QUERY_ALL_VENDORS);
const { loading, error, data } = useQuery(QUERY_ALL_VENDORS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();

View File

@@ -25,6 +25,8 @@ export function ChatConversationContainer({ bodyshop, selectedConversation }) {
data: convoData,
} = useQuery(GET_CONVERSATION_DETAILS, {
variables: { conversationId: selectedConversation },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { loading, error, data } = useSubscription(

View File

@@ -27,12 +27,15 @@ export function ChatMediaSelector({
const [visible, setVisible] = useState(false);
const { loading, error, data } = useQuery(GET_DOCUMENTS_BY_JOB, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
jobId:
conversation.job_conversations[0] &&
conversation.job_conversations[0].jobid,
},
fetchPolicy: "network-only",
skip:
!visible ||
!conversation.job_conversations ||

View File

@@ -38,6 +38,8 @@ export function ChatPopupComponent({
const { t } = useTranslation();
const [pollInterval, setpollInterval] = useState(0);
const { loading, data, refetch, called } = useQuery(CONVERSATION_LIST_QUERY, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
...(pollInterval > 0 ? { pollInterval } : {}),
});

View File

@@ -8,6 +8,8 @@ import ContractCarsComponent from "./contract-cars.component";
export default function ContractCarsContainer({ selectedCarState, form }) {
const { loading, error, data } = useQuery(QUERY_AVAILABLE_CC, {
variables: { today: moment().format("YYYY-MM-DD") },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [selectedCar, setSelectedCar] = selectedCarState;

View File

@@ -16,6 +16,8 @@ export function ContractJobsContainer({ selectedJobState, bodyshop }) {
variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"],
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [selectedJob, setSelectedJob] = selectedJobState;

View File

@@ -19,6 +19,8 @@ export default function CsiResponseFormContainer() {
id: responseid,
},
skip: !!!responseid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -59,7 +59,8 @@ export function DashboardGridComponent({ currentUser, bodyshop }) {
});
const { loading, error, data, refetch } = useQuery(
createDashboardQuery(state)
createDashboardQuery(state),
{ fetchPolicy: "network-only", nextFetchPolicy: "network-only" }
);
const [updateLayout] = useMutation(UPDATE_DASHBOARD_LAYOUT);

View File

@@ -29,6 +29,7 @@ export function DocumentEditorContainer({ setBodyshop }) {
data: dataShop,
} = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {
@@ -38,6 +39,8 @@ export function DocumentEditorContainer({ setBodyshop }) {
const { loading, error, data } = useQuery(GET_DOCUMENT_BY_PK, {
variables: { documentId },
skip: !documentId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading || loadingShop) return <LoadingSpinner />;

View File

@@ -34,6 +34,8 @@ export function EmailDocumentsComponent({
jobId: emailConfig.jobid,
},
skip: !emailConfig.jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
return (

View File

@@ -27,6 +27,8 @@ export function Jobd3RdPartyModal({ bodyshop, jobId }) {
SEARCH_VENDOR_AUTOCOMPLETE_WITH_ADDR,
{
skip: !isModalVisible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}
);

View File

@@ -10,6 +10,8 @@ export default function JobAuditTrail({ jobId }) {
const { loading, data } = useQuery(QUERY_AUDIT_TRAIL, {
variables: { jobid: jobId },
skip: !jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const columns = [

View File

@@ -54,6 +54,8 @@ export function JobDetailCards({ setPrintCenterContext }) {
const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, {
variables: { id: selected },
skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();

View File

@@ -30,6 +30,8 @@ function JobReconciliationModalContainer({
const { loading, error, data } = useQuery(GET_JOB_RECONCILIATION_BY_PK, {
variables: { id: job && job.id },
skip: !(job && job.id) || !visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const handleCancel = () => {

View File

@@ -55,6 +55,7 @@ export function JobsAvailableContainer({
}) {
const { loading, error, data, refetch } = useQuery(QUERY_AVAILABLE_JOBS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { clm_no, availableJobId } = queryString.parse(useLocation().search);
const history = useHistory();

View File

@@ -10,6 +10,8 @@ export default function JobsCreateOwnerContainer() {
const { loading, error, data } = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
variables: { search: `%${state.owner.search}%` },
skip: !state.owner.search,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -10,6 +10,8 @@ export default function JobsCreateVehicleInfoContainer({ form }) {
const { loading, error, data } = useQuery(SEARCH_VEHICLES, {
variables: { search: `%${state.vehicle.search}%` },
skip: !state.vehicle.search,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -8,6 +8,8 @@ export default function JobsDetailLaborContainer({ jobId, techConsole, job }) {
const { loading, error, data, refetch } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: { id: jobId },
skip: !!!jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -8,6 +8,8 @@ import JobsDetailPliComponent from "./jobs-detail-pli.component";
export default function JobsDetailPliContainer({ job }) {
const billsQuery = useQuery(QUERY_BILLS_BY_JOBID, {
variables: { jobid: job.id },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const search = queryString.parse(useLocation().search);

View File

@@ -14,6 +14,7 @@ export default function JobsDocumentsContainer({
const { loading, error, data, refetch } = useQuery(GET_DOCUMENTS_BY_JOB, {
variables: { jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!billId,
});

View File

@@ -33,6 +33,8 @@ export default connect(
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"],
},
skip: !modalProps.visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const modalSearch = modalSearchState[0];

View File

@@ -29,6 +29,8 @@ export function JobsList({ bodyshop }) {
variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"],
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [state, setState] = useState({

View File

@@ -28,6 +28,7 @@ export function JobNotesContainer({ jobId, insertAuditTrail }) {
const { loading, error, data, refetch } = useQuery(QUERY_NOTES_BY_JOB_PK, {
variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [deleteNote] = useMutation(DELETE_NOTE);

View File

@@ -12,6 +12,8 @@ export default function OwnersListContainer() {
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_OWNERS_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -77,6 +77,8 @@ export function PartsOrderModalContainer({
const { loading, error, data } = useQuery(QUERY_ALL_VENDORS_FOR_ORDER, {
skip: !visible,
variables: { jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [insertPartOrder] = useMutation(INSERT_NEW_PARTS_ORDERS);
@@ -248,8 +250,6 @@ export function PartsOrderModalContainer({
}),
});
}
} catch (error) {
console.log("Error OEC.", error);
notification["error"]({

View File

@@ -13,6 +13,8 @@ export default function PaymentFormTotalPayments({ jobid }) {
const { loading, error, data } = useQuery(QUERY_JOB_PAYMENT_TOTALS, {
variables: { id: jobid },
skip: !jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <LoadingSpinner />;

View File

@@ -31,6 +31,7 @@ function PhonebookFormContainer({ refetch, bodyshop }) {
const { loading, error, data } = useQuery(QUERY_PHONEBOOK_BY_ID, {
variables: { id: phonebookentry },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!!phonebookentry || phonebookentry === "new",
});

View File

@@ -23,6 +23,8 @@ const mapStateToProps = createStructuredSelector({
export function ProductionBoardKanbanContainer({ bodyshop, currentUser }) {
const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, {
pollInterval: 3600000,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const client = useApolloClient();
const [joblist, setJoblist] = useState([]);

View File

@@ -32,6 +32,8 @@ export default function ProductionListDetail({ jobs }) {
const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, {
variables: { id: selected },
skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
return (

View File

@@ -1,5 +1,6 @@
import { DeleteOutlined } from "@ant-design/icons";
import { useMutation } from "@apollo/client";
import { Button, Popconfirm, Select } from "antd";
import { Popconfirm, Select } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
@@ -12,7 +13,6 @@ import {
selectCurrentUser,
} from "../../redux/user/user.selectors";
import ProductionListColumns from "../production-list-columns/production-list-columns.data";
import { DeleteOutlined } from "@ant-design/icons";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
technician: selectTechnician,

View File

@@ -12,6 +12,8 @@ import _ from "lodash";
export default function ProductionListTableContainer() {
const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, {
pollInterval: 3600000,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const client = useApolloClient();
const [joblist, setJoblist] = useState([]);

View File

@@ -9,7 +9,10 @@ import AlertComponent from "../alert/alert.component";
import ProfileShopsComponent from "./profile-shops.component";
export default function ProfileShopsContainer() {
const { loading, error, data } = useQuery(QUERY_ALL_ASSOCIATIONS);
const { loading, error, data } = useQuery(QUERY_ALL_ASSOCIATIONS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [updateAssocation] = useMutation(UPDATE_ASSOCIATION);
const updateActiveShop = async (activeShopId) => {

View File

@@ -28,6 +28,8 @@ export function ScheduleCalendarContainer({ calculateScheduleLoad }) {
{
variables: { start: range.start.toDate(), end: range.end.toDate() },
skip: !!!range.start || !!!range.end,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}
);

View File

@@ -13,6 +13,7 @@ export default function ScheduleDayViewContainer({ day }) {
},
skip: !moment(day).isValid(),
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
if (!day) return <div>{t("appointments.labels.nodateselected")}</div>;

View File

@@ -44,6 +44,8 @@ export function ScheduleJobModalContainer({
const { data: lbrHrsData } = useQuery(QUERY_LBR_HRS_BY_PK, {
variables: { id: job && job.id },
skip: !job || !job.id,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [loading, setLoading] = useState(false);
@@ -60,6 +62,7 @@ export function ScheduleJobModalContainer({
const existingAppointments = useQuery(QUERY_APPOINTMENTS_BY_JOBID, {
variables: { jobid: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !visible || !!!jobId,
});

View File

@@ -10,7 +10,10 @@ import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import ShopCsiConfigForm from "../shop-csi-config-form/shop-csi-config-form.component";
export default function ShopCsiConfig() {
const { loading, error, data } = useQuery(GET_ALL_QUESTION_SETS);
const { loading, error, data } = useQuery(GET_ALL_QUESTION_SETS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [selectedCsi, setselectedCsi] = useState(null);
const { t } = useTranslation();

View File

@@ -25,6 +25,7 @@ function ShopEmployeesContainer({ bodyshop }) {
const employeeState = useState(null);
const { loading, error, data, refetch } = useQuery(QUERY_EMPLOYEES, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [updateEmployee] = useMutation(UPDATE_EMPLOYEE);

View File

@@ -16,6 +16,7 @@ export default function ShopInfoContainer() {
const [updateBodyshop] = useMutation(UPDATE_SHOP);
const { loading, error, data, refetch } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const handleFinish = (values) => {

View File

@@ -38,7 +38,7 @@ export function ShopTemplateTestRender({
// const { data: contextData } = await client.query({
// query: gql(query),
// variables: variables,
// fetchPolicy: "network-only",
//
// });
// const renderResponse = await axios.post("/render", {

View File

@@ -13,7 +13,10 @@ import ShopTemplateDeleteComponent from "../shop-template-delete/shop-template-d
export default function ShopTemplatesListContainer({ visibleState }) {
const [visible, setVisible] = visibleState;
const { loading, error, data, refetch } = useQuery(QUERY_CUSTOM_TEMPLATES);
const { loading, error, data, refetch } = useQuery(QUERY_CUSTOM_TEMPLATES, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
const search = queryString.parse(useLocation().search);
const history = useHistory();

View File

@@ -26,6 +26,8 @@ export function ShopInfoUsersComponent({ bodyshop }) {
const { t } = useTranslation();
const { loading, error, data } = useQuery(QUERY_SHOP_ASSOCIATIONS, {
variables: { shopid: bodyshop.id },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const columns = [
{

View File

@@ -27,6 +27,8 @@ export function TechClockedInList({ technician }) {
variables: {
employeeId: technician.id,
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}
);

View File

@@ -50,9 +50,10 @@ export function JobDetailCards({ setPrintCenterContext }) {
const { selected } = searchParams;
const history = useHistory();
const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, {
fetchPolicy: "network-only",
variables: { id: selected },
skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();

View File

@@ -25,6 +25,8 @@ export function TechLookupJobsList({ bodyshop }) {
variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"],
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [state, setState] = useState({

View File

@@ -272,6 +272,8 @@ export function LaborAllocationContainer({ jobid }) {
const { loading, data: lineTicketData } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: { id: jobid },
skip: !jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <LoadingSkeleton />;
if (!lineTicketData) return null;

View File

@@ -37,6 +37,8 @@ export function TimeTicketModalContainer({
const { data: EmployeeAutoCompleteData } = useQuery(QUERY_ACTIVE_EMPLOYEES, {
skip: !timeTicketModal.visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const handleFinish = (values) => {

View File

@@ -45,6 +45,8 @@ export function TimeTicketShiftContainer({
variables: {
employeeId: isTechConsole ? technician && technician.id : employeeId,
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}
);

View File

@@ -27,6 +27,8 @@ export default function VehiclesListContainer() {
},
],
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}
);

View File

@@ -31,6 +31,7 @@ function VendorsFormContainer({ refetch, bodyshop }) {
const { loading, error, data } = useQuery(QUERY_VENDOR_BY_ID, {
variables: { id: selectedvendor },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!!selectedvendor || selectedvendor === "new",
});

View File

@@ -7,7 +7,10 @@ import { QUERY_ALL_VENDORS } from "../../graphql/vendors.queries";
import VendorsListComponent from "./vendors-list.component";
export default function VendorsListContainer() {
const { loading, error, data, refetch } = useQuery(QUERY_ALL_VENDORS);
const { loading, error, data, refetch } = useQuery(QUERY_ALL_VENDORS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const search = queryString.parse(useLocation().search);
const history = useHistory();

View File

@@ -1,6 +1,5 @@
import * as Sentry from "@sentry/react";
//import "antd/dist/antd.css";
import "antd/dist/antd.less";
import "antd/dist/antd.css";
import Dinero from "dinero.js";
import React from "react";
import ReactDOM from "react-dom";

View File

@@ -40,7 +40,10 @@ export function AccountingPayablesContainer({
]);
}, [t, setBreadcrumbs, setSelectedHeader]);
const { loading, error, data } = useQuery(QUERY_BILLS_FOR_EXPORT);
const { loading, error, data } = useQuery(QUERY_BILLS_FOR_EXPORT, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -39,7 +39,10 @@ export function AccountingPaymentsContainer({
]);
}, [t, setBreadcrumbs, setSelectedHeader]);
const { loading, error, data } = useQuery(QUERY_PAYMENTS_FOR_EXPORT);
const { loading, error, data } = useQuery(QUERY_PAYMENTS_FOR_EXPORT, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -43,6 +43,8 @@ export function AccountingReceivablesContainer({
variables: {
invoicedStatus: bodyshop.md_ro_statuses.default_invoiced || "Invoiced*",
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -35,6 +35,8 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_BILLS_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -41,6 +41,8 @@ export function ContractDetailPageContainer({
const { loading, error, data, refetch } = useQuery(QUERY_CONTRACT_BY_PK, {
variables: { id: contractId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -25,6 +25,8 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery(
QUERY_ACTIVE_CONTRACTS_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -53,6 +53,8 @@ export function CourtesyCarDetailPageContainer({
},
],
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -20,7 +20,10 @@ export function CourtesyCarsPageContainer({
setBreadcrumbs,
setSelectedHeader,
}) {
const { loading, error, data, refetch } = useQuery(QUERY_ALL_CC);
const { loading, error, data, refetch } = useQuery(QUERY_ALL_CC, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
useEffect(() => {
document.title = t("titles.courtesycars");

View File

@@ -29,6 +29,8 @@ export function CsiContainerPage({ currentUser }) {
const { loading, error, data } = useQuery(QUERY_SURVEY, {
variables: { surveyId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();

View File

@@ -7,7 +7,7 @@ import {
Result,
Row,
Select,
Space
Space,
} from "antd";
import queryString from "query-string";
import React, { useEffect, useRef, useState } from "react";
@@ -26,7 +26,7 @@ import { auth } from "../../firebase/firebase.utils";
import { QUERY_JOB_EXPORT_DMS } from "../../graphql/jobs.queries";
import {
setBreadcrumbs,
setSelectedHeader
setSelectedHeader,
} from "../../redux/application/application.actions";
import { selectBodyshop } from "../../redux/user/user.selectors";
@@ -65,6 +65,8 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data } = useQuery(QUERY_JOB_EXPORT_DMS, {
variables: { id: jobId },
skip: !jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const logsRef = useRef(null);
@@ -159,7 +161,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
<DmsCustomerSelector />
<Col span={24}>
<div ref={logsRef}>
<div ref={logsRef}>
<Card
title={t("jobs.labels.dms.logs")}
extra={
@@ -193,8 +195,8 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
>
<DmsLogEvents socket={socket} logs={logs} />
</Card>
</div>
</Col>
</div>
</Col>
</Row>
</div>
);

View File

@@ -25,6 +25,8 @@ export function ExportLogsPageComponent({ bodyshop }) {
const { loading, error, data, refetch } = useQuery(
QUERY_EXPORT_LOG_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -45,6 +45,8 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader }) {
const { jobId } = useParams();
const { loading, error, data } = useQuery(GET_JOB_BY_PK, {
variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
useEffect(() => {

View File

@@ -30,6 +30,8 @@ export function AllJobs({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -34,6 +34,8 @@ export function JobsChecklistViewContainer({
const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_JOB_CHECKLISTS, {
variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -32,6 +32,8 @@ export function JobsCloseContainer({
const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_JOB_CLOSE_DETAILS, {
variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
useEffect(() => {

View File

@@ -33,6 +33,8 @@ export function JobsDeliverContainer({
const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_DELIVER_CHECKLIST, {
variables: { shopId: bodyshop.id, jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -44,6 +44,7 @@ function JobsDetailPageContainer({
const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, {
variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [mutationUpdateJob] = useMutation(UPDATE_JOB);

View File

@@ -35,6 +35,8 @@ export function JobsIntakeContainer({
const { loading, error, data } = useQuery(QUERY_INTAKE_CHECKLIST, {
variables: { shopId: bodyshop.id, jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -16,6 +16,7 @@ const mapDispatchToProps = (dispatch) => ({
function ManagePageContainer({ match, setBodyshop }) {
const { loading, error, data } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();

View File

@@ -33,6 +33,7 @@ export function OwnersDetailContainer({
const { loading, data, error, refetch } = useQuery(QUERY_OWNER_BY_ID, {
variables: { id: ownerId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -28,6 +28,8 @@ export function PartsQueuePageComponent({ bodyshop }) {
const history = useHistory();
const { loading, error, data, refetch } = useQuery(QUERY_PARTS_QUEUE, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
offset: page ? (page - 1) * 25 : 0,
limit: 25,

View File

@@ -31,6 +31,8 @@ export function AllJobs({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_PAYMENTS_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -31,6 +31,8 @@ export function PhonebookPageComponent({ bodyshop, authLevel }) {
const { loading, error, data, refetch } = useQuery(
QUERY_PHONEBOOK_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -38,6 +38,8 @@ export function ShopCsiContainer({
const { loading, error, data, refetch } = useQuery(
QUERY_CSI_RESPONSE_PAGINATED,
{
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: {
//search: search || "",
offset: page ? (page - 1) * 25 : 0,

View File

@@ -22,6 +22,7 @@ const mapDispatchToProps = (dispatch) => ({
export function TechPageContainer({ bodyshop, setBodyshop, match }) {
const { loading, error, data } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation();
useEffect(() => {

View File

@@ -6,7 +6,10 @@ import LoadingSpinner from "../../components/loading-spinner/loading-spinner.com
import { QUERY_TEMPORARY_DOCS } from "../../graphql/documents.queries";
export default function TemporaryDocsComponent() {
const { loading, error, data, refetch } = useQuery(QUERY_TEMPORARY_DOCS);
const { loading, error, data, refetch } = useQuery(QUERY_TEMPORARY_DOCS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <LoadingSpinner />;
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -55,6 +55,8 @@ export function TimeTicketsContainer({
start: startDate,
end: endDate,
},
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -32,6 +32,7 @@ export function VehicleDetailContainer({
const { loading, data, error, refetch } = useQuery(QUERY_VEHICLE_BY_ID, {
variables: { id: vehId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
useEffect(() => {

View File

@@ -29,7 +29,6 @@ export function* calculateScheduleLoad({ payload: end }) {
start: today,
end: end,
},
fetchPolicy: "network-only",
});
const { prodJobs, arrJobs, compJobs } = result.data;

View File

@@ -40,7 +40,6 @@ export function* openChatByPhone({ payload }) {
} = yield client.query({
query: CONVERSATION_ID_BY_PHONE,
variables: { phone: phone(phone_num).phoneNumber },
fetchPolicy: "network-only",
});
if (conversations.length === 0) {

View File

@@ -48,6 +48,7 @@ const roundTripLink = new ApolloLink((operation, forward) => {
});
const TrackExecutionTime = async (operationName, time) => {
if (process.env.NODE_ENV === "development") return;
const rdxStore = store.getState();
try {
axios.post("/ioevent", {
@@ -146,11 +147,17 @@ export default new ApolloClient({
cache,
connectToDevTools: process.env.NODE_ENV !== "production",
defaultOptions: {
query: {
fetchPolicy: "network-only",
},
watchQuery: {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
errorPolicy: "ignore",
},
query: {
fetchPolicy: "network-only",
errorPolicy: "all",
},
mutate: {
errorPolicy: "all",
},
},
});

View File

@@ -232,7 +232,6 @@ const fetchContextData = async (templateObject) => {
const { data } = await client.query({
query: gql(templateQueryToExecute),
variables: { ...templateObject.variables },
fetchPolicy: "network-only",
});
contextData = data;
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
"version": "0.0.1",
"license": "UNLICENSED",
"engines": {
"node": "12.22.6",
"node": "14.18.1",
"npm": "7.17.0"
},
"scripts": {

View File

@@ -525,7 +525,7 @@ exports.QUERY_EMPLOYEE_PIN = `query QUERY_EMPLOYEE_PIN($shopId: uuid!, $employee
}`;
exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshopid: uuid!) {
jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]}, limit: 50) {
jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]}) {
id
ro_number
status