Separate system operations from core objects in GraphQL endpoints (#12977)

Moves system-level operations (auth, billing, admin) to use the
/metadata endpoint instead of /graphql.

This cleans up the endpoint separation so /graphql is purely for core
objects (Company, People, etc.) and /metadata handles all system
operations.

Part of prep work for webhook/API key core migration.
This commit is contained in:
nitin
2025-07-01 21:59:32 +05:30
committed by GitHub
parent 76c517aa29
commit d2ddd6f473
229 changed files with 9425 additions and 8804 deletions

View File

@ -1,7 +1,7 @@
import { useApolloClient } from '@apollo/client';
import gql from 'graphql-tag';
import { useRecoilValue } from 'recoil';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
@ -24,7 +24,7 @@ export const useCreateOneRecordInCache = <T extends ObjectRecord>({
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
const { objectPermissionsByObjectMetadataId } = useObjectPermissions();
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
return (record: ObjectRecord) => {
const prefilledRecord = prefillRecord({
@ -60,7 +60,7 @@ export const useCreateOneRecordInCache = <T extends ObjectRecord>({
...recordToCreateWithNestedConnections,
};
apolloClient.writeFragment({
apolloCoreClient.writeFragment({
id: `${capitalize(objectMetadataItem.nameSingular)}:${record.id}`,
fragment,
data: cachedObjectRecord,

View File

@ -1,5 +1,4 @@
import { useApolloClient } from '@apollo/client';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
import { deleteRecordFromCache } from '@/object-record/cache/utils/deleteRecordFromCache';
@ -10,7 +9,7 @@ export const useDeleteRecordFromCache = ({
}: {
objectNameSingular: string;
}) => {
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular,
@ -23,7 +22,7 @@ export const useDeleteRecordFromCache = ({
objectMetadataItem,
objectMetadataItems,
recordToDestroy,
cache: apolloClient.cache,
cache: apolloCoreClient.cache,
});
};
};

View File

@ -1,7 +1,7 @@
import { useApolloClient } from '@apollo/client';
import { useCallback } from 'react';
import { useRecoilValue } from 'recoil';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { getRecordFromCache } from '@/object-record/cache/utils/getRecordFromCache';
@ -27,12 +27,12 @@ export const useGetRecordFromCache = ({
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
const { objectPermissionsByObjectMetadataId } = useObjectPermissions();
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
return useCallback(
<T extends ObjectRecord = ObjectRecord>(
recordId: string,
cache = apolloClient.cache,
cache = apolloCoreClient.cache,
) => {
return getRecordFromCache<T>({
cache,
@ -44,7 +44,7 @@ export const useGetRecordFromCache = ({
});
},
[
apolloClient.cache,
apolloCoreClient.cache,
objectMetadataItems,
objectMetadataItem,
appliedRecordGqlFields,

View File

@ -1,5 +1,4 @@
import { useApolloClient } from '@apollo/client';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { getRecordsFromRecordConnection } from '@/object-record/cache/utils/getRecordsFromRecordConnection';
@ -15,7 +14,7 @@ export const useReadFindManyRecordsQueryInCache = ({
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
const { objectMetadataItems } = useObjectMetadataItems();
@ -38,7 +37,7 @@ export const useReadFindManyRecordsQueryInCache = ({
});
const existingRecordsQueryResult =
apolloClient.readQuery<RecordGqlOperationFindManyResult>({
apolloCoreClient.readQuery<RecordGqlOperationFindManyResult>({
query: findManyRecordsQueryForCacheRead,
variables: queryVariables,
});

View File

@ -1,6 +1,6 @@
import { useApolloClient } from '@apollo/client';
import { useRecoilValue } from 'recoil';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { getRecordConnectionFromRecords } from '@/object-record/cache/utils/getRecordConnectionFromRecords';
@ -14,7 +14,7 @@ export const useUpsertFindManyRecordsQueryInCache = ({
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
const { objectPermissionsByObjectMetadataId } = useObjectPermissions();
@ -48,7 +48,7 @@ export const useUpsertFindManyRecordsQueryInCache = ({
computeReferences,
});
apolloClient.writeQuery({
apolloCoreClient.writeQuery({
query: findManyRecordsQueryForCacheOverwrite,
variables: queryVariables,
data: {

View File

@ -1,5 +1,4 @@
import { useApolloClient } from '@apollo/client';
import { useApolloCoreClient } from '@/object-metadata/hooks/useApolloCoreClient';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { useFindOneRecordQuery } from '@/object-record/hooks/useFindOneRecordQuery';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
@ -13,7 +12,7 @@ export const useUpsertFindOneRecordQueryInCache = ({
recordGqlFields: Record<string, any>;
withSoftDeleted?: boolean;
}) => {
const apolloClient = useApolloClient();
const apolloCoreClient = useApolloCoreClient();
const { findOneRecordQuery } = useFindOneRecordQuery({
objectNameSingular: objectMetadataItem.nameSingular,
@ -30,7 +29,7 @@ export const useUpsertFindOneRecordQueryInCache = ({
objectRecordId: string;
objectRecordToOverwrite: T;
}) => {
apolloClient.writeQuery({
apolloCoreClient.writeQuery({
query: findOneRecordQuery,
variables: { objectRecordId },
data: {