Fix optimistic effect breaking build
This commit is contained in:
@ -8,8 +8,8 @@ import { isNonEmptyArray } from '@sniptt/guards';
|
|||||||
import { useRecoilCallback } from 'recoil';
|
import { useRecoilCallback } from 'recoil';
|
||||||
|
|
||||||
import { GET_COMPANIES } from '@/companies/graphql/queries/getCompanies';
|
import { GET_COMPANIES } from '@/companies/graphql/queries/getCompanies';
|
||||||
|
import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem';
|
||||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||||
import { useGenerateFindManyCustomObjectsQuery } from '@/object-record/utils/useGenerateFindManyCustomObjectsQuery';
|
|
||||||
import { GET_PEOPLE } from '@/people/graphql/queries/getPeople';
|
import { GET_PEOPLE } from '@/people/graphql/queries/getPeople';
|
||||||
import { GET_API_KEYS } from '@/settings/developers/graphql/queries/getApiKeys';
|
import { GET_API_KEYS } from '@/settings/developers/graphql/queries/getApiKeys';
|
||||||
import {
|
import {
|
||||||
@ -22,8 +22,11 @@ import { optimisticEffectState } from '../states/optimisticEffectState';
|
|||||||
import { OptimisticEffect } from '../types/internal/OptimisticEffect';
|
import { OptimisticEffect } from '../types/internal/OptimisticEffect';
|
||||||
import { OptimisticEffectDefinition } from '../types/OptimisticEffectDefinition';
|
import { OptimisticEffectDefinition } from '../types/OptimisticEffectDefinition';
|
||||||
|
|
||||||
export const useOptimisticEffect = () => {
|
export const useOptimisticEffect = (objectNameSingular: string) => {
|
||||||
const apolloClient = useApolloClient();
|
const apolloClient = useApolloClient();
|
||||||
|
const { findManyQuery } = useFindOneObjectMetadataItem({
|
||||||
|
objectNameSingular,
|
||||||
|
});
|
||||||
|
|
||||||
const registerOptimisticEffect = useRecoilCallback(
|
const registerOptimisticEffect = useRecoilCallback(
|
||||||
({ snapshot, set }) =>
|
({ snapshot, set }) =>
|
||||||
@ -54,12 +57,8 @@ export const useOptimisticEffect = () => {
|
|||||||
objectMetadataItem?: ObjectMetadataItem;
|
objectMetadataItem?: ObjectMetadataItem;
|
||||||
}) => {
|
}) => {
|
||||||
if (isUsingFlexibleBackend && objectMetadataItem) {
|
if (isUsingFlexibleBackend && objectMetadataItem) {
|
||||||
const generatedQuery = useGenerateFindManyCustomObjectsQuery({
|
|
||||||
objectMetadataItem,
|
|
||||||
});
|
|
||||||
|
|
||||||
const existingData = cache.readQuery({
|
const existingData = cache.readQuery({
|
||||||
query: generatedQuery,
|
query: findManyQuery,
|
||||||
variables,
|
variables,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -68,7 +67,7 @@ export const useOptimisticEffect = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cache.writeQuery({
|
cache.writeQuery({
|
||||||
query: generatedQuery,
|
query: findManyQuery,
|
||||||
variables,
|
variables,
|
||||||
data: {
|
data: {
|
||||||
[objectMetadataItem.namePlural]: definition.resolver({
|
[objectMetadataItem.namePlural]: definition.resolver({
|
||||||
|
|||||||
@ -24,7 +24,7 @@ const defaultFieldValues: Record<FieldMetadataType, unknown> = {
|
|||||||
export const useCreateOneObjectRecord = ({
|
export const useCreateOneObjectRecord = ({
|
||||||
objectNamePlural,
|
objectNamePlural,
|
||||||
}: Pick<ObjectMetadataItemIdentifier, 'objectNamePlural'>) => {
|
}: Pick<ObjectMetadataItemIdentifier, 'objectNamePlural'>) => {
|
||||||
const { triggerOptimisticEffects } = useOptimisticEffect();
|
const { triggerOptimisticEffects } = useOptimisticEffect('CompanyV2');
|
||||||
|
|
||||||
const {
|
const {
|
||||||
foundObjectMetadataItem,
|
foundObjectMetadataItem,
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import { useFindManyObjectRecords } from './useFindManyObjectRecords';
|
|||||||
export const useObjectRecordTable = () => {
|
export const useObjectRecordTable = () => {
|
||||||
const { scopeId: objectNamePlural } = useRecordTable();
|
const { scopeId: objectNamePlural } = useRecordTable();
|
||||||
|
|
||||||
const { registerOptimisticEffect } = useOptimisticEffect();
|
const { registerOptimisticEffect } = useOptimisticEffect('CompanyV2');
|
||||||
|
|
||||||
const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
|
const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
|
||||||
objectNamePlural,
|
objectNamePlural,
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export const RecordTableEffect = ({
|
|||||||
const { setRecordTableData } = useRecordTable();
|
const { setRecordTableData } = useRecordTable();
|
||||||
const { tableSortsOrderBySelector, tableFiltersWhereSelector } =
|
const { tableSortsOrderBySelector, tableFiltersWhereSelector } =
|
||||||
useRecordTableScopedStates();
|
useRecordTableScopedStates();
|
||||||
const { registerOptimisticEffect } = useOptimisticEffect();
|
const { registerOptimisticEffect } = useOptimisticEffect('CompanyV2');
|
||||||
|
|
||||||
const tableSortsOrderBy = useRecoilValue(tableSortsOrderBySelector);
|
const tableSortsOrderBy = useRecoilValue(tableSortsOrderBySelector);
|
||||||
const sortsOrderBy = defaults(tableSortsOrderBy, [
|
const sortsOrderBy = defaults(tableSortsOrderBy, [
|
||||||
|
|||||||
@ -29,7 +29,7 @@ export const Companies = () => {
|
|||||||
recordTableScopeId: 'companies',
|
recordTableScopeId: 'companies',
|
||||||
});
|
});
|
||||||
const upsertTableRowIds = useUpsertTableRowId();
|
const upsertTableRowIds = useUpsertTableRowId();
|
||||||
const { triggerOptimisticEffects } = useOptimisticEffect();
|
const { triggerOptimisticEffects } = useOptimisticEffect('Company');
|
||||||
|
|
||||||
const handleAddButtonClick = async () => {
|
const handleAddButtonClick = async () => {
|
||||||
const newCompanyId: string = v4();
|
const newCompanyId: string = v4();
|
||||||
|
|||||||
@ -27,7 +27,7 @@ export const People = () => {
|
|||||||
recordTableScopeId: 'people',
|
recordTableScopeId: 'people',
|
||||||
});
|
});
|
||||||
const upsertTableRowIds = useUpsertTableRowId();
|
const upsertTableRowIds = useUpsertTableRowId();
|
||||||
const { triggerOptimisticEffects } = useOptimisticEffect();
|
const { triggerOptimisticEffects } = useOptimisticEffect('Person');
|
||||||
|
|
||||||
const handleAddButtonClick = async () => {
|
const handleAddButtonClick = async () => {
|
||||||
const newPersonId: string = v4();
|
const newPersonId: string = v4();
|
||||||
|
|||||||
@ -41,7 +41,7 @@ const StyledInputContainer = styled.div`
|
|||||||
export const SettingsDevelopersApiKeyDetail = () => {
|
export const SettingsDevelopersApiKeyDetail = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { apiKeyId = '' } = useParams();
|
const { apiKeyId = '' } = useParams();
|
||||||
const { triggerOptimisticEffects } = useOptimisticEffect();
|
const { triggerOptimisticEffects } = useOptimisticEffect('ApiKeyV2');
|
||||||
|
|
||||||
const setGeneratedApi = useGeneratedApiKeys();
|
const setGeneratedApi = useGeneratedApiKeys();
|
||||||
const [generatedApiKey] = useRecoilState(
|
const [generatedApiKey] = useRecoilState(
|
||||||
|
|||||||
@ -39,7 +39,7 @@ const StyledH1Title = styled(H1Title)`
|
|||||||
|
|
||||||
export const SettingsDevelopersApiKeys = () => {
|
export const SettingsDevelopersApiKeys = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { registerOptimisticEffect } = useOptimisticEffect();
|
const { registerOptimisticEffect } = useOptimisticEffect('ApiKeyV2');
|
||||||
const apiKeysQuery = useGetApiKeysQuery({
|
const apiKeysQuery = useGetApiKeysQuery({
|
||||||
onCompleted: () => {
|
onCompleted: () => {
|
||||||
registerOptimisticEffect({
|
registerOptimisticEffect({
|
||||||
|
|||||||
@ -19,7 +19,7 @@ import { useInsertOneApiKeyMutation } from '~/generated/graphql';
|
|||||||
|
|
||||||
export const SettingsDevelopersApiKeysNew = () => {
|
export const SettingsDevelopersApiKeysNew = () => {
|
||||||
const [insertOneApiKey] = useInsertOneApiKeyMutation();
|
const [insertOneApiKey] = useInsertOneApiKeyMutation();
|
||||||
const { triggerOptimisticEffects } = useOptimisticEffect();
|
const { triggerOptimisticEffects } = useOptimisticEffect('ApiKeyV2');
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const setGeneratedApi = useGeneratedApiKeys();
|
const setGeneratedApi = useGeneratedApiKeys();
|
||||||
const [formValues, setFormValues] = useState<{
|
const [formValues, setFormValues] = useState<{
|
||||||
|
|||||||
Reference in New Issue
Block a user