mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
fix(Setup): fix organization setup.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { useMutation } from 'react-query';
|
||||
import { useMutation, useQueryClient } from 'react-query';
|
||||
import { batch } from 'react-redux';
|
||||
import t from './types';
|
||||
import useApiRequest from '../useRequest';
|
||||
import { useRequestQuery } from '../useQueryRequest';
|
||||
import { useEffect } from 'react';
|
||||
import { useSetOrganizations, useSetSubscriptions } from '../state';
|
||||
import { omit } from 'lodash';
|
||||
|
||||
@@ -33,29 +33,26 @@ export function useCurrentOrganization(props) {
|
||||
const setOrganizations = useSetOrganizations();
|
||||
const setSubscriptions = useSetSubscriptions();
|
||||
|
||||
const query = useRequestQuery(
|
||||
return useRequestQuery(
|
||||
[t.ORGANIZATION_CURRENT],
|
||||
{ method: 'get', url: `organization/current` },
|
||||
{
|
||||
select: (res) => res.data.organization,
|
||||
defaultData: {},
|
||||
onSuccess: (data) => {
|
||||
const organization = omit(data, ['subscriptions']);
|
||||
|
||||
batch(() => {
|
||||
// Sets subscriptions.
|
||||
setSubscriptions(data.subscriptions);
|
||||
|
||||
// Sets organizations.
|
||||
setOrganizations([organization]);
|
||||
});
|
||||
},
|
||||
...props,
|
||||
},
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (query.isSuccess) {
|
||||
const organization = omit(query.data, ['subscriptions']);
|
||||
|
||||
// Sets organizations.
|
||||
setOrganizations([organization]);
|
||||
|
||||
// Sets subscriptions.
|
||||
setSubscriptions(query.data.subscriptions);
|
||||
}
|
||||
}, [query.data, query.isSuccess, setOrganizations, setSubscriptions]);
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,30 +60,46 @@ export function useCurrentOrganization(props) {
|
||||
*/
|
||||
export function useBuildTenant(props) {
|
||||
const apiRequest = useApiRequest();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation(
|
||||
(values) => apiRequest.post('organization/build'),
|
||||
{
|
||||
onSuccess: (res, values) => {
|
||||
|
||||
},
|
||||
...props,
|
||||
return useMutation((values) => apiRequest.post('organization/build'), {
|
||||
onSuccess: (res, values) => {
|
||||
queryClient.invalidateQueries(t.ORGANIZATION_CURRENT);
|
||||
queryClient.invalidateQueries(t.ORGANIZATIONS);
|
||||
},
|
||||
);
|
||||
};
|
||||
...props,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Seeds the current tenant
|
||||
*/
|
||||
export function useSeedTenant() {
|
||||
const apiRequest = useApiRequest();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation((values) => apiRequest.post('organization/seed'), {
|
||||
onSuccess: (res) => {
|
||||
queryClient.invalidateQueries(t.ORGANIZATION_CURRENT);
|
||||
queryClient.invalidateQueries(t.ORGANIZATIONS);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Organization setup.
|
||||
*/
|
||||
export function useOrganizationSetup() {
|
||||
const apiRequest = useApiRequest();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation(
|
||||
(values) => apiRequest.post('organization/seed'),
|
||||
(values) => apiRequest.post(`setup/organization`, values),
|
||||
{
|
||||
onSuccess: (res) => {
|
||||
|
||||
queryClient.invalidateQueries(t.ORGANIZATION_CURRENT);
|
||||
queryClient.invalidateQueries(t.ORGANIZATIONS);
|
||||
},
|
||||
}
|
||||
)
|
||||
};
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user