useGettingStartedProgress() — supabase Function Reference
Architecture documentation for the useGettingStartedProgress() function in useGettingStartedProgress.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD 2b942197_cc1f_9040_908f_497d02691d6c["useGettingStartedProgress()"] 4a2bd464_5f31_b7aa_976f_6a2afeca5117["GettingStartedSection()"] 4a2bd464_5f31_b7aa_976f_6a2afeca5117 -->|calls| 2b942197_cc1f_9040_908f_497d02691d6c style 2b942197_cc1f_9040_908f_497d02691d6c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/HomeNew/GettingStarted/useGettingStartedProgress.ts lines 29–142
export const useGettingStartedProgress = (): GettingStartedStatuses => {
const { data: project } = useSelectedProjectQuery()
const { data: organization } = useSelectedOrganizationQuery()
const projectRef = project?.ref
const connectionString = project?.connectionString
const isProjectActive = project?.status === PROJECT_STATUS.ACTIVE_HEALTHY
const { data: tablesData } = useTablesQuery(
{ projectRef, connectionString, schema: 'public' },
{ enabled: !!projectRef && isProjectActive }
)
const { data: storageTablesData } = useTablesQuery(
{ projectRef, connectionString, schema: 'storage' },
{ enabled: !!projectRef && isProjectActive }
)
const { data: policiesData } = useDatabasePoliciesQuery(
{ projectRef, connectionString, schema: 'public' },
{ enabled: !!projectRef && !!connectionString && isProjectActive }
)
const { data: authConfig } = useAuthConfigQuery(
{ projectRef },
{ enabled: !!projectRef && isProjectActive }
)
const { data: usersCountData } = useUsersCountQuery(
{ projectRef, connectionString },
{ enabled: !!projectRef && !!connectionString && isProjectActive }
)
const { data: edgeFunctionsData } = useEdgeFunctionsQuery(
{ projectRef },
{ enabled: !!projectRef && isProjectActive }
)
const { data: reportsData } = useContentInfiniteQuery(
{ projectRef, type: 'report', limit: 1 },
{ enabled: !!projectRef && isProjectActive }
)
const { data: migrationsData } = useMigrationsQuery(
{ projectRef, connectionString },
{ enabled: !!projectRef && !!connectionString && isProjectActive }
)
const { data: usageStatsData } = useProjectLogStatsQuery(
{ projectRef, interval: '1day' },
{ enabled: !!projectRef && isProjectActive }
)
const { data: githubConnections } = useGitHubConnectionsQuery(
{ organizationId: organization?.id },
{ enabled: !!projectRef && !!organization?.id }
)
const statuses = useMemo<GettingStartedStatuses>(() => {
const hasTables = (tablesData?.length ?? 0) > 0
const hasCliSetup = (migrationsData?.length ?? 0) > 0
const hasSampleData = (tablesData ?? []).some(
(table) => Number(table?.live_rows_estimate ?? 0) > 0
)
const hasRlsPolicies = (policiesData?.length ?? 0) > 0
const allowSignupsEnabled = authConfig ? !authConfig.DISABLE_SIGNUP : false
const emailProviderEnabled = !!authConfig?.EXTERNAL_EMAIL_ENABLED
const hasFirstUser = !!usersCountData && !usersCountData.is_estimate && usersCountData.count > 0
const hasStorageObjects = (storageTablesData ?? []).some(
(table) => table.name === 'objects' && Number(table?.live_rows_estimate ?? 0) > 0
)
const hasEdgeFunctions = (edgeFunctionsData?.length ?? 0) > 0
const hasReports = (reportsData?.pages?.[0]?.content?.length ?? 0) > 0
const hasGitHubConnection =
githubConnections?.some((connection) => connection.project.ref === projectRef) ?? false
const hasAppConnected =
usageStatsData?.result?.some((row) => {
const totals = [
row.total_auth_requests,
row.total_storage_requests,
row.total_rest_requests,
row.total_realtime_requests,
]
return totals.some((value) => (value ?? 0) > 0)
}) ?? false
return {
hasTables,
hasCliSetup,
hasSampleData,
hasRlsPolicies,
hasAppConnected,
hasFirstUser,
hasStorageObjects,
hasEdgeFunctions,
hasReports,
hasGitHubConnection,
}
}, [
authConfig,
edgeFunctionsData,
githubConnections,
migrationsData,
policiesData,
reportsData,
storageTablesData,
tablesData,
usageStatsData,
usersCountData,
projectRef,
])
return statuses
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does useGettingStartedProgress() do?
useGettingStartedProgress() is a function in the supabase codebase.
What calls useGettingStartedProgress()?
useGettingStartedProgress() is called by 1 function(s): GettingStartedSection.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free