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
@@ -12,7 +12,7 @@ import { isNonEmptyString } from '@sniptt/guards';
import { useState } from 'react';
import { useRecoilState, useRecoilValue } from 'recoil';
import { REACT_APP_SERVER_BASE_URL } from '~/config';
import { useUserLookupAdminPanelMutation } from '~/generated/graphql';
import { useUserLookupAdminPanelMutation } from '~/generated-metadata/graphql';
import { currentUserState } from '@/auth/states/currentUserState';
import { SettingsAdminTableCard } from '@/settings/admin-panel/components/SettingsAdminTableCard';
@@ -2,7 +2,7 @@ import { SettingsAdminTableCard } from '@/settings/admin-panel/components/Settin
import { SettingsAdminVersionDisplay } from '@/settings/admin-panel/components/SettingsAdminVersionDisplay';
import { t } from '@lingui/core/macro';
import { IconCircleDot, IconStatusChange } from 'twenty-ui/display';
import { useGetVersionInfoQuery } from '~/generated/graphql';
import { useGetVersionInfoQuery } from '~/generated-metadata/graphql';
export const SettingsAdminVersionContainer = () => {
const { data, loading } = useGetVersionInfoQuery();
@@ -36,7 +36,7 @@ import {
FeatureFlagKey,
useImpersonateMutation,
useUpdateWorkspaceFeatureFlagMutation,
} from '~/generated/graphql';
} from '~/generated-metadata/graphql';
type SettingsAdminWorkspaceContentProps = {
activeWorkspace: WorkspaceInfo | undefined;
@@ -13,7 +13,7 @@ import { Section } from 'twenty-ui/layout';
import {
ConfigSource,
useGetConfigVariablesGroupedQuery,
} from '~/generated/graphql';
} from '~/generated-metadata/graphql';
import { ConfigVariableSearchInput } from './ConfigVariableSearchInput';
const StyledControlsContainer = styled.div`
@@ -10,7 +10,7 @@ import {
useCreateDatabaseConfigVariableMutation,
useDeleteDatabaseConfigVariableMutation,
useUpdateDatabaseConfigVariableMutation,
} from '~/generated/graphql';
} from '~/generated-metadata/graphql';
export const useConfigVariableActions = (variableName: string) => {
const { t } = useLingui();
@@ -3,7 +3,7 @@ import { useForm } from 'react-hook-form';
import { ConfigVariableValue } from 'twenty-shared/types';
import { z } from 'zod';
import { ConfigVariable } from '~/generated/graphql';
import { ConfigVariable } from '~/generated-metadata/graphql';
type FormValues = {
value: ConfigVariableValue;
@@ -3,7 +3,7 @@ import { SettingsAdminIndicatorHealthContext } from '@/settings/admin-panel/heal
import styled from '@emotion/styled';
import { t } from '@lingui/core/macro';
import { useContext } from 'react';
import { AdminPanelHealthServiceStatus } from '~/generated/graphql';
import { AdminPanelHealthServiceStatus } from '~/generated-metadata/graphql';
const StyledErrorMessage = styled.div`
color: ${({ theme }) => theme.color.red};
@@ -4,7 +4,7 @@ import { useLingui } from '@lingui/react/macro';
import { useContext } from 'react';
import { JsonTree } from 'twenty-ui/json-visualizer';
import { Section } from 'twenty-ui/layout';
import { AdminPanelHealthServiceStatus } from '~/generated/graphql';
import { AdminPanelHealthServiceStatus } from '~/generated-metadata/graphql';
import { useCopyToClipboard } from '~/hooks/useCopyToClipboard';
const StyledDetailsContainer = styled.div`
@@ -1,9 +1,9 @@
import { SettingsAdminTabSkeletonLoader } from '@/settings/admin-panel/components/SettingsAdminTabSkeletonLoader';
import { SettingsHealthStatusListCard } from '@/settings/admin-panel/health-status/components/SettingsHealthStatusListCard';
import { t } from '@lingui/core/macro';
import { useGetSystemHealthStatusQuery } from '~/generated/graphql';
import { H2Title } from 'twenty-ui/display';
import { Section } from 'twenty-ui/layout';
import { useGetSystemHealthStatusQuery } from '~/generated-metadata/graphql';
export const SettingsAdminHealthStatus = () => {
const { data, loading: loadingHealthStatus } = useGetSystemHealthStatusQuery({
@@ -1,5 +1,5 @@
import { AdminPanelHealthServiceStatus } from '~/generated/graphql';
import { Status } from 'twenty-ui/display';
import { AdminPanelHealthServiceStatus } from '~/generated-metadata/graphql';
export const SettingsAdminHealthStatusRightContainer = ({
status,
@@ -1,9 +1,6 @@
import { SettingsListCard } from '@/settings/components/SettingsListCard';
import { SettingsPath } from '@/types/SettingsPath';
import { useTheme } from '@emotion/react';
import { HealthIndicatorId, SystemHealthService } from '~/generated/graphql';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { SettingsAdminHealthStatusRightContainer } from './SettingsAdminHealthStatusRightContainer';
import {
IconAppWindow,
IconComponent,
@@ -12,6 +9,12 @@ import {
IconTool,
IconUserCircle,
} from 'twenty-ui/display';
import {
HealthIndicatorId,
SystemHealthService,
} from '~/generated-metadata/graphql';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { SettingsAdminHealthStatusRightContainer } from './SettingsAdminHealthStatusRightContainer';
const HealthStatusIcons: { [k in HealthIndicatorId]: IconComponent } = {
[HealthIndicatorId.database]: IconDatabase,
@@ -2,7 +2,7 @@ import { WorkerQueueMetricsSection } from '@/settings/admin-panel/health-status/
import styled from '@emotion/styled';
import { t } from '@lingui/core/macro';
import { useContext } from 'react';
import { AdminPanelHealthServiceStatus } from '~/generated/graphql';
import { AdminPanelHealthServiceStatus } from '~/generated-metadata/graphql';
import { SettingsAdminIndicatorHealthContext } from '../contexts/SettingsAdminIndicatorHealthContext';
const StyledErrorMessage = styled.div`
@@ -9,7 +9,7 @@ import { ResponsiveLine } from '@nivo/line';
import {
QueueMetricsTimeRange,
useGetQueueMetricsQuery,
} from '~/generated/graphql';
} from '~/generated-metadata/graphql';
const StyledGraphContainer = styled.div`
background-color: ${({ theme }) => theme.background.secondary};
@@ -8,7 +8,7 @@ import { Section } from 'twenty-ui/layout';
import {
AdminPanelWorkerQueueHealth,
QueueMetricsTimeRange,
} from '~/generated/graphql';
} from '~/generated-metadata/graphql';
import { WorkerMetricsGraph } from './WorkerMetricsGraph';
type WorkerQueueMetricsSectionProps = {