useNewQuery() — supabase Function Reference
Architecture documentation for the useNewQuery() function in hooks.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD c62f2dd1_b3a8_dbc9_3b49_d55e5532ec9c["useNewQuery()"] 2bdac7e5_a25b_6415_051d_1503de098a7f["createSqlSnippetSkeletonV2()"] c62f2dd1_b3a8_dbc9_3b49_d55e5532ec9c -->|calls| 2bdac7e5_a25b_6415_051d_1503de098a7f style c62f2dd1_b3a8_dbc9_3b49_d55e5532ec9c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/SQLEditor/hooks.ts lines 19–67
export const useNewQuery = () => {
const router = useRouter()
const { ref } = useParams()
const { profile } = useProfile()
const { data: project } = useSelectedProjectQuery()
const snapV2 = useSqlEditorV2StateSnapshot()
const { can: canCreateSQLSnippet } = useAsyncCheckPermissions(
PermissionAction.CREATE,
'user_content',
{
resource: { type: 'sql', owner_id: profile?.id },
subject: { id: profile?.id },
}
)
const newQuery = async (sql: string, name: string, shouldRedirect: boolean = true) => {
if (!ref) return console.error('Project ref is required')
if (!project) return console.error('Project is required')
if (!profile) return console.error('Profile is required')
if (!canCreateSQLSnippet) {
toast('Your queries will not be saved as you do not have sufficient permissions')
return undefined
}
try {
const snippet = createSqlSnippetSkeletonV2({
name,
sql,
owner_id: profile?.id,
project_id: project?.id,
})
snapV2.addSnippet({ projectRef: ref, snippet })
snapV2.addNeedsSaving(snippet.id)
if (shouldRedirect) {
router.push(`/project/${ref}/sql/${snippet.id}`)
return undefined
} else {
return snippet.id
}
} catch (error: any) {
toast.error(`Failed to create new query: ${error.message}`)
return undefined
}
}
return { newQuery }
}
Domain
Subdomains
Source
Frequently Asked Questions
What does useNewQuery() do?
useNewQuery() is a function in the supabase codebase.
What does useNewQuery() call?
useNewQuery() calls 1 function(s): createSqlSnippetSkeletonV2.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free