diff --git a/client/src/components/App.js b/client/src/components/App.js
index 438b0c41d..e1cfeb14b 100644
--- a/client/src/components/App.js
+++ b/client/src/components/App.js
@@ -3,6 +3,8 @@ import { RawIntlProvider } from 'react-intl';
import { Router, Switch, Route } from 'react-router';
import { createBrowserHistory } from 'history';
import { QueryClientProvider, QueryClient } from 'react-query';
+import { ReactQueryDevtools } from 'react-query/devtools';
+
import 'style/App.scss';
import PrivateRoute from 'components/Guards/PrivateRoute';
@@ -42,6 +44,8 @@ function App({ locale }) {
+
+
);
diff --git a/client/src/containers/Organization/withOrganizationActions.js b/client/src/containers/Organization/withOrganizationActions.js
index 7d7f4c075..dcac4731a 100644
--- a/client/src/containers/Organization/withOrganizationActions.js
+++ b/client/src/containers/Organization/withOrganizationActions.js
@@ -10,6 +10,7 @@ const mapDispatchToProps = (dispatch) => ({
requestOrganizationBuild: () => dispatch(buildTenant()),
requestOrganizationSeed: () => dispatch(seedTenant()),
requestAllOrganizations: () => dispatch(fetchOrganizations()),
+
setOrganizationSetupCompleted: (congrats) => dispatch(setOrganizationSetupCompleted(congrats)),
});
diff --git a/client/src/hooks/query/accounts.js b/client/src/hooks/query/accounts.js
index 7be82d97d..7eac66ef8 100644
--- a/client/src/hooks/query/accounts.js
+++ b/client/src/hooks/query/accounts.js
@@ -1,4 +1,5 @@
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import t from './types';
@@ -21,7 +22,7 @@ const commonInvalidateQueries = (query) => {
export function useAccounts(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.ACCOUNTS, query],
() => apiRequest.get('accounts', { params: query }),
{
@@ -46,7 +47,7 @@ export function useAccounts(query, props) {
export function useAccount(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.ACCOUNT, id],
() => apiRequest.get(`accounts/${id}`).then(transformAccount),
{
@@ -65,7 +66,7 @@ export function useAccount(id, props) {
export function useAccountsTypes(props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.ACCOUNTS_TYPES],
() => apiRequest.get('account_types'),
{
diff --git a/client/src/hooks/query/bills.js b/client/src/hooks/query/bills.js
index 7e48fe6ef..68d302aaf 100644
--- a/client/src/hooks/query/bills.js
+++ b/client/src/hooks/query/bills.js
@@ -1,4 +1,5 @@
-import { useQueryClient, useQuery, useMutation } from 'react-query';
+import { useQueryClient, useMutation } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { defaultTo } from 'lodash';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
@@ -100,7 +101,7 @@ export function useDeleteBill(props) {
export function useBills(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.BILLS, query],
() =>
apiRequest.get('purchases/bills', { params: query }),
@@ -135,7 +136,7 @@ export function useBills(query, props) {
export function useBill(id, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.BILL, id],
() => apiRequest.get(`/purchases/bills/${id}`),
{
@@ -157,7 +158,7 @@ export function useBill(id, props) {
export function useDueBills(vendorId, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.BILLS, t.BILLS_DUE, vendorId],
() =>
apiRequest.get(`purchases/bills/due`, {
diff --git a/client/src/hooks/query/contacts.js b/client/src/hooks/query/contacts.js
index 16b0d44c1..0c56b1c5d 100644
--- a/client/src/hooks/query/contacts.js
+++ b/client/src/hooks/query/contacts.js
@@ -1,5 +1,5 @@
-import { useQuery } from 'react-query';
import useApiRequest from '../useRequest';
+import { useQueryTenant } from '../useQueryTenant';
/**
* Retrieve the contact duplicate.
@@ -7,7 +7,7 @@ import useApiRequest from '../useRequest';
export function useContact(id, props) {
const apiRequest = useApiRequest();
- return useQuery(['CONTACT', id], () => apiRequest.get(`contacts/${id}`), {
+ return useQueryTenant(['CONTACT', id], () => apiRequest.get(`contacts/${id}`), {
select: (res) => res.data.customer,
...props,
});
diff --git a/client/src/hooks/query/currencies.js b/client/src/hooks/query/currencies.js
index 93047f1b6..98277abbf 100644
--- a/client/src/hooks/query/currencies.js
+++ b/client/src/hooks/query/currencies.js
@@ -1,4 +1,5 @@
-import { useMutation, useQueryClient, useQuery } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import t from './types';
@@ -63,7 +64,7 @@ export function useDeleteCurrency(props) {
export function useCurrencies(props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.CURRENCIES],
() => apiRequest.get('currencies').then((res) => res.data.currencies),
{
diff --git a/client/src/hooks/query/customers.js b/client/src/hooks/query/customers.js
index 0ef48ab38..eec674867 100644
--- a/client/src/hooks/query/customers.js
+++ b/client/src/hooks/query/customers.js
@@ -1,4 +1,5 @@
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
import t from './types';
@@ -27,7 +28,7 @@ const commonInvalidateQueries = (queryClient) => {
export function useCustomers(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.CUSTOMERS, query],
() => apiRequest.get(`customers`, { params: query }),
{
@@ -118,7 +119,7 @@ export function useCreateCustomer(props) {
export function useCustomer(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.CUSTOMER, id],
() => apiRequest.get(`customers/${id}`),
{
diff --git a/client/src/hooks/query/estimates.js b/client/src/hooks/query/estimates.js
index 6f671cddf..68afdc961 100644
--- a/client/src/hooks/query/estimates.js
+++ b/client/src/hooks/query/estimates.js
@@ -1,4 +1,5 @@
-import { useQueryClient, useQuery, useMutation } from 'react-query';
+import { useQueryClient, useMutation } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import { transformPagination } from 'utils';
import t from './types';
@@ -56,7 +57,7 @@ export function useEditEstimate(props) {
export function useEstimate(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.SALE_ESTIMATE, id],
() => apiRequest.get(`sales/estimates/${id}`),
{
@@ -76,7 +77,7 @@ export function useEstimate(id, props) {
export function useEstimates(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.SALE_ESTIMATES, query],
() => apiRequest.get('sales/estimates', { params: query }),
{
diff --git a/client/src/hooks/query/exchangeRates.js b/client/src/hooks/query/exchangeRates.js
index 7f2d4fd6c..214affa13 100644
--- a/client/src/hooks/query/exchangeRates.js
+++ b/client/src/hooks/query/exchangeRates.js
@@ -1,6 +1,7 @@
-import { useQuery, useMutation, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
import { defaultTo } from 'lodash';
-import { transformPagination, transformResponse } from 'utils';
+import { useQueryTenant } from '../useQueryTenant';
+import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
const defaultPagination = {
@@ -62,7 +63,7 @@ export function useDeleteExchangeRate(props) {
export function useExchangeRates(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
['EXCHANGES_RATES', query],
() => apiRequest.get('exchange_rates', { params: query }),
{
diff --git a/client/src/hooks/query/expenses.js b/client/src/hooks/query/expenses.js
index 555759ca9..2340f241e 100644
--- a/client/src/hooks/query/expenses.js
+++ b/client/src/hooks/query/expenses.js
@@ -1,5 +1,6 @@
-import { useQuery, useMutation, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
import useApiRequest from '../useRequest';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import t from './types';
@@ -28,7 +29,7 @@ const commonInvalidateQueries = (queryClient) => {
export function useExpenses(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.EXPENSES, query],
() => apiRequest.get(`expenses`, { params: { ...query } }),
{
@@ -57,7 +58,7 @@ export function useExpenses(query, props) {
export function useExpense(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.EXPENSE, id],
() => apiRequest.get(`expenses/${id}`),
{
diff --git a/client/src/hooks/query/financialReports.js b/client/src/hooks/query/financialReports.js
index 1e47acb82..988b340a4 100644
--- a/client/src/hooks/query/financialReports.js
+++ b/client/src/hooks/query/financialReports.js
@@ -1,5 +1,5 @@
-import { useQuery } from 'react-query';
import { defaultTo } from 'lodash';
+import { useQueryTenant } from '../useQueryTenant';
import {
trialBalanceSheetReducer,
balanceSheetRowsReducer,
@@ -18,7 +18,7 @@ import t from './types';
export function useBalanceSheet(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.FINANCIAL_REPORT, t.BALANCE_SHEET, query],
() =>
apiRequest.get('/financial_statements/balance_sheet', {
@@ -50,7 +50,7 @@ export function useBalanceSheet(query, props) {
export function useTrialBalanceSheet(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.FINANCIAL_REPORT, t.TRIAL_BALANCE_SHEET, query],
() =>
apiRequest.get('/financial_statements/trial_balance_sheet', {
@@ -81,7 +81,7 @@ export function useTrialBalanceSheet(query, props) {
export function useProfitLossSheet(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.FINANCIAL_REPORT, t.PROFIT_LOSS_SHEET, query],
() =>
apiRequest.get('/financial_statements/profit_loss_sheet', {
@@ -112,7 +112,7 @@ export function useProfitLossSheet(query, props) {
export function useGeneralLedgerSheet(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.FINANCIAL_REPORT, t.GENERAL_LEDGER, query],
() =>
apiRequest.get('/financial_statements/general_ledger', {
@@ -143,7 +143,7 @@ export function useGeneralLedgerSheet(query, props) {
export function useJournalSheet(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.FINANCIAL_REPORT, t.JOURNAL, query],
() => apiRequest.get('/financial_statements/journal', { params: query }),
{
@@ -171,7 +171,7 @@ export function useJournalSheet(query, props) {
export function useARAgingSummaryReport(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.FINANCIAL_REPORT, t.AR_AGING_SUMMARY, query],
() =>
apiRequest.get('/financial_statements/receivable_aging_summary', {
@@ -210,7 +210,7 @@ export function useARAgingSummaryReport(query, props) {
export function useAPAgingSummaryReport(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.FINANCIAL_REPORT, t.AP_AGING_SUMMARY, query],
() =>
apiRequest.get('/financial_statements/payable_aging_summary', {
diff --git a/client/src/hooks/query/inventoryAdjustments.js b/client/src/hooks/query/inventoryAdjustments.js
index 513b92c23..618fcd28b 100644
--- a/client/src/hooks/query/inventoryAdjustments.js
+++ b/client/src/hooks/query/inventoryAdjustments.js
@@ -1,4 +1,5 @@
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
import t from './types';
@@ -71,7 +72,7 @@ const inventoryAdjustmentsTransformer = (response) => {
export function useInventoryAdjustments(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
['INVENTORY_ADJUSTMENTS', query],
() => apiRequest.get('inventory_adjustments', { params: query })
.then(inventoryAdjustmentsTransformer),
diff --git a/client/src/hooks/query/invite.js b/client/src/hooks/query/invite.js
index 0318c12d1..fbd1f5154 100644
--- a/client/src/hooks/query/invite.js
+++ b/client/src/hooks/query/invite.js
@@ -1,4 +1,5 @@
-import { useMutation, useQuery } from 'react-query';
+import { useMutation } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
/**
@@ -20,7 +21,7 @@ export const useAuthInviteAccept = (props) => {
export const useInviteMetaByToken = (token, props) => {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
['INVITE_META', token],
() => apiRequest.get(`invite/invited/${token}`),
{
diff --git a/client/src/hooks/query/invoices.js b/client/src/hooks/query/invoices.js
index c0229358f..ceba88910 100644
--- a/client/src/hooks/query/invoices.js
+++ b/client/src/hooks/query/invoices.js
@@ -1,4 +1,5 @@
-import { useQueryClient, useQuery, useMutation } from 'react-query';
+import { useQueryClient, useMutation } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
import t from './types';
@@ -95,7 +96,7 @@ export function useDeleteInvoice(props) {
export function useInvoices(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.SALE_INVOICES, query],
() => apiRequest.get('sales/invoices', { params: query }),
{
@@ -150,7 +151,7 @@ export function useDeliverInvoice(props) {
export function useInvoice(invoiceId, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.SALE_INVOICE, invoiceId],
() => apiRequest.get(`sales/invoices/${invoiceId}`),
{
@@ -173,7 +174,7 @@ export function useInvoice(invoiceId, props) {
export function useDueInvoices(customerId, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.SALE_INVOICES, t.SALE_INVOICES_DUE, customerId],
() =>
apiRequest.get(`sales/invoices/payable`, {
diff --git a/client/src/hooks/query/items.js b/client/src/hooks/query/items.js
index a1385e3bc..8013949d1 100644
--- a/client/src/hooks/query/items.js
+++ b/client/src/hooks/query/items.js
@@ -1,5 +1,6 @@
import { useMutation, useQuery, useQueryClient } from 'react-query';
import { transformPagination, transformResponse } from 'utils';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import t from './types';
@@ -126,8 +127,8 @@ const transformItemsResponse = (response) => {
export function useItems(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
- ['ITEMS', query],
+ return useQueryTenant(
+ [t.ITEMS, query],
() => apiRequest.get(`items`, { params: query }).then(transformItemsResponse),
{
initialDataUpdatedAt: 0,
@@ -148,8 +149,8 @@ export function useItems(query, props) {
export function useItem(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
- ['ITEM', id],
+ return useQueryTenant(
+ [t.ITEM, id],
() => apiRequest.get(`items/${id}`).then((response) => response.data.item),
{
initialDataUpdatedAt: 0,
diff --git a/client/src/hooks/query/itemsCategories.js b/client/src/hooks/query/itemsCategories.js
index cd5dbd63b..0cdb52f5f 100644
--- a/client/src/hooks/query/itemsCategories.js
+++ b/client/src/hooks/query/itemsCategories.js
@@ -1,4 +1,5 @@
-import { useQuery, useMutation, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import t from './types';
@@ -73,7 +74,7 @@ export function useDeleteItemCategory(props) {
export function useItemsCategories(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.ITEMS_CATEGORIES, query],
() => apiRequest.get(`item_categories`, { params: query }),
{
@@ -100,7 +101,7 @@ export function useItemsCategories(query, props) {
export function useItemCategory(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.ITEM_CATEGORY, id],
() =>
apiRequest.get(`item_categories/${id}`).then((res) => res.data.category),
diff --git a/client/src/hooks/query/manualJournals.js b/client/src/hooks/query/manualJournals.js
index 9d1f831c6..e79a99c9e 100644
--- a/client/src/hooks/query/manualJournals.js
+++ b/client/src/hooks/query/manualJournals.js
@@ -1,5 +1,6 @@
import { defaultTo } from 'lodash';
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
import t from './types';
@@ -113,7 +114,7 @@ export function usePublishJournal(props) {
export function useJournals(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.MANUAL_JOURNALS, query],
() => apiRequest.get('manual-journals', { params: query }),
{
@@ -142,7 +143,7 @@ export function useJournals(query, props) {
export function useJournal(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.MANUAL_JOURNAL, id],
() => apiRequest.get(`manual-journals/${id}`),
{
diff --git a/client/src/hooks/query/organization.js b/client/src/hooks/query/organization.js
new file mode 100644
index 000000000..46bbfe988
--- /dev/null
+++ b/client/src/hooks/query/organization.js
@@ -0,0 +1,25 @@
+import t from 'store/types';
+import useApiRequest from '../useRequest';
+import { useQueryTenant } from '../useQueryTenant';
+
+/**
+ * Retrieve the contact duplicate.
+ */
+export function useOrganizations(props) {
+ const apiRequest = useApiRequest();
+
+ return useQueryTenant(
+ [t.ORGANIZATIONS],
+ () => apiRequest.get(`organization/all`),
+ {
+ select: (res) => res.data.organizations,
+ initialDataUpdatedAt: 0,
+ initialData: {
+ data: {
+ organizations: [],
+ },
+ },
+ ...props,
+ },
+ );
+}
diff --git a/client/src/hooks/query/paymentMades.js b/client/src/hooks/query/paymentMades.js
index b0ccedd86..8c30152f0 100644
--- a/client/src/hooks/query/paymentMades.js
+++ b/client/src/hooks/query/paymentMades.js
@@ -1,5 +1,6 @@
import { defaultTo } from 'lodash';
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
import t from './types';
@@ -35,7 +36,7 @@ const commonInvalidateQueries = (client) => {
export function usePaymentMades(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.PAYMENT_MADES, query],
() => apiRequest.get('purchases/bill_payments', { params: query }),
{
@@ -127,7 +128,7 @@ export function useDeletePaymentMade(props) {
export function usePaymentMadeEditPage(id, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.PAYMENT_MADE_EDIT_PAGE, id],
() => apiRequest.get(`purchases/bill_payments/${id}/edit-page`),
{
@@ -152,7 +153,7 @@ export function usePaymentMadeEditPage(id, props) {
export function usePaymentMadeNewPageEntries(vendorId, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.PAYMENT_MADE_NEW_ENTRIES, vendorId],
() =>
apiRequest.get(`purchases/bill_payments/new-page/entries`, {
diff --git a/client/src/hooks/query/paymentReceives.js b/client/src/hooks/query/paymentReceives.js
index d95e0b62e..ccb4f47da 100644
--- a/client/src/hooks/query/paymentReceives.js
+++ b/client/src/hooks/query/paymentReceives.js
@@ -1,4 +1,5 @@
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { defaultTo } from 'lodash';
import useApiRequest from '../useRequest';
import { transformPagination, saveInvoke } from 'utils';
@@ -32,7 +33,7 @@ const commonInvalidateQueries = (client) => {
export function usePaymentReceives(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.PAYMENT_RECEIVES, query],
() => apiRequest.get('sales/payment_receives', { params: query }),
{
@@ -137,7 +138,7 @@ export function useDeletePaymentReceive(props) {
export function usePaymentReceive(id, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.PAYMENT_RECEIVE, id],
() => apiRequest.get(`sales/payment_receives/${id}`),
{
@@ -161,7 +162,7 @@ export function usePaymentReceive(id, props) {
export function usePaymentReceiveEditPage(id, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
[t.PAYMENT_RECEIVE_EDIT_PAGE, id],
() => apiRequest.get(`sales/payment_receives/${id}/edit-page`),
{
diff --git a/client/src/hooks/query/receipts.js b/client/src/hooks/query/receipts.js
index 607e05e3b..0e8c43805 100644
--- a/client/src/hooks/query/receipts.js
+++ b/client/src/hooks/query/receipts.js
@@ -1,4 +1,5 @@
-import { useQueryClient, useQuery, useMutation } from 'react-query';
+import { useQueryClient, useMutation } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { defaultTo } from 'lodash';
import useApiRequest from '../useRequest';
import { transformPagination } from 'utils';
@@ -104,7 +105,7 @@ export function useCloseReceipt(props) {
export function useReceipts(query, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
['SALE_RECEIPTS', query],
() => apiRequest.get('sales/receipts', { params: query }),
{
@@ -137,7 +138,7 @@ export function useReceipts(query, props) {
export function useReceipt(id, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
['SALE_RECEIPT', id],
() => apiRequest.get(`sales/receipts/${id}`),
{
diff --git a/client/src/hooks/query/settings.js b/client/src/hooks/query/settings.js
index 856c85d68..b91463b92 100644
--- a/client/src/hooks/query/settings.js
+++ b/client/src/hooks/query/settings.js
@@ -1,5 +1,6 @@
import { useEffect } from 'react';
-import { useQuery, useMutation, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
+import { useQueryTenant } from '../useQueryTenant';
import { useDispatch } from 'react-redux';
import useApiRequest from '../useRequest';
import t from 'store/types';
@@ -23,7 +24,7 @@ function useSettingsQuery(key, query, props) {
const dispatch = useDispatch();
const apiRequest = useApiRequest();
- const state = useQuery(
+ const state = useQueryTenant(
key,
() => apiRequest.get('settings', { params: query }),
{
diff --git a/client/src/hooks/query/types.js b/client/src/hooks/query/types.js
index 33a27ac85..766230392 100644
--- a/client/src/hooks/query/types.js
+++ b/client/src/hooks/query/types.js
@@ -89,6 +89,10 @@ const SETTING = {
SETTING_MANUAL_JOURNALS: 'SETTING_MANUAL_JOURNALS',
};
+const ORGANIZATIONS = {
+ ORGANIZATIONS: 'ORGANIZATIONS'
+};
+
export default {
...ACCOUNTS,
...BILLS,
@@ -104,5 +108,6 @@ export default {
...PAYMENT_RECEIVES,
...SALE_INVOICES,
...USERS,
- ...SETTING
+ ...SETTING,
+ ...ORGANIZATIONS,
}
\ No newline at end of file
diff --git a/client/src/hooks/query/users.js b/client/src/hooks/query/users.js
index 9ca5bb9ff..713fd1393 100644
--- a/client/src/hooks/query/users.js
+++ b/client/src/hooks/query/users.js
@@ -1,5 +1,6 @@
-import { useMutation, useQueryClient, useQuery } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
import { defaultTo } from 'lodash';
+import { useQueryTenant } from '../useQueryTenant';
import useApiRequest from '../useRequest';
import t from './types';
@@ -26,7 +27,6 @@ export function useCreateInviteUser(props) {
/**
* Edits the given user.
- *
*/
export function useEditUser(props) {
const queryClient = useQueryClient();
@@ -67,7 +67,7 @@ export function useDeleteUser(props) {
export function useUsers(props) {
const apiRequest = useApiRequest();
- const result = useQuery(
+ const result = useQueryTenant(
[t.USERS],
() => apiRequest.get(`USERS`).then((response) => response.data.users),
props,
@@ -85,7 +85,7 @@ export function useUsers(props) {
export function useUser(id, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
['USER', id],
() => apiRequest.get(`users/${id}`).then((response) => response.data.item),
props,
diff --git a/client/src/hooks/query/vendors.js b/client/src/hooks/query/vendors.js
index 892fc8239..6ba25aff6 100644
--- a/client/src/hooks/query/vendors.js
+++ b/client/src/hooks/query/vendors.js
@@ -1,7 +1,8 @@
-import { useMutation, useQuery, useQueryClient } from 'react-query';
+import { useMutation, useQueryClient } from 'react-query';
import t from './types';
import { transformPagination } from 'utils';
import useApiRequest from '../useRequest';
+import { useQueryTenant } from '../useQueryTenant';
// Common invalidate queries.
const commonInvalidateQueries = (queryClient) => {
@@ -22,7 +23,7 @@ const commonInvalidateQueries = (queryClient) => {
export function useVendors(query, props) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
[t.VENDORS, query],
() => apiRequest.get(`vendors`, { params: query }),
{
@@ -107,7 +108,7 @@ export function useCreateVendor(props) {
export function useVendor(id, props) {
const apiRequest = useApiRequest();
- return useQuery([t.VENDOR, id], () => apiRequest.get(`vendors/${id}`), {
+ return useQueryTenant([t.VENDOR, id], () => apiRequest.get(`vendors/${id}`), {
select: (res) => res.data.vendor,
initialDataUpdatedAt: 0,
initialData: {
diff --git a/client/src/hooks/query/views.js b/client/src/hooks/query/views.js
index 81f4de439..cf9b52922 100644
--- a/client/src/hooks/query/views.js
+++ b/client/src/hooks/query/views.js
@@ -1,11 +1,11 @@
-import { useQuery } from 'react-query';
import { defaultTo } from 'lodash';
import useApiRequest from '../useRequest';
+import { useQueryTenant } from '../useQueryTenant';
export function useResourceViews(resourceSlug) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
['RESOURCE_VIEW', resourceSlug],
() => apiRequest.get(`views/resource/${resourceSlug}`)
.then((response) => response.data.views),
@@ -17,11 +17,10 @@ export function useResourceViews(resourceSlug) {
}
}
-
export function useResourceColumns(resourceSlug) {
const apiRequest = useApiRequest();
- return useQuery(
+ return useQueryTenant(
['RESOURCE_COLUMNS', resourceSlug],
() => apiRequest.get(`resources/${resourceSlug}/columns`),
{
@@ -33,7 +32,7 @@ export function useResourceColumns(resourceSlug) {
export function useResourceFields(resourceSlug, props) {
const apiRequest = useApiRequest();
- const states = useQuery(
+ const states = useQueryTenant(
['RESOURCE_FIELDS', resourceSlug],
() => apiRequest.get(`resources/${resourceSlug}/fields`)
.then((res) => res.data.resource_fields),
diff --git a/client/src/hooks/useQueryTenant.js b/client/src/hooks/useQueryTenant.js
new file mode 100644
index 000000000..dbd2192ca
--- /dev/null
+++ b/client/src/hooks/useQueryTenant.js
@@ -0,0 +1,12 @@
+import { useQuery } from 'react-query';
+import { castArray } from 'lodash';
+import { useAuthOrganizationId } from './state';
+
+/**
+ * Query for tenant requests.
+ */
+ export function useQueryTenant(query, callback, props) {
+ const organizationId = useAuthOrganizationId();
+
+ return useQuery([...castArray(query), organizationId], callback, props);
+}