ruvector/studio/components/interfaces/Docs/Snippets.ts
rUv 814f595995 feat(studio): Add complete RuVector Studio application
Major additions:
- Complete Next.js studio application with 1600+ components
- Docker support (Dockerfile.combined, docker-compose.yml)
- GCP deployment documentation and benchmarks
- SQL benchmark scripts for performance testing
- Sentry integration for monitoring
- Comprehensive test suite and mocks

Studio features:
- Dashboard and admin interfaces
- Data visualization components
- Authentication and user management
- API integration with RuVector backend
- Static data and public assets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 23:04:48 +00:00

787 lines
18 KiB
TypeScript

const snippets = {
endpoint: (endpoint: string) => ({
title: 'API URL',
bash: {
language: 'bash',
code: `${endpoint}`,
},
js: {
language: 'bash',
code: `${endpoint}`,
},
}),
install: () => ({
title: 'Install',
bash: null,
js: {
language: 'bash',
code: `npm install --save @supabase/supabase-js`,
},
}),
init: (endpoint: string) => ({
title: 'Initializing',
bash: {
language: 'bash',
code: `# No client library required for Bash.`,
},
js: {
language: 'js',
code: `
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = '${endpoint}'
const supabaseKey = process.env.SUPABASE_KEY
const supabase = createClient(supabaseUrl, supabaseKey)`,
},
python: {
language: 'python',
code: `
import os
from supabase import create_client, Client
url: str = '${endpoint}'
key: str = os.environ.get("SUPABASE_KEY")
supabase: Client = create_client(url, key)
`,
},
dart: {
language: 'dart',
code: `
const supabaseUrl = '${endpoint}';
const supabaseKey = String.fromEnvironment('SUPABASE_KEY');
Future<void> main() async {
await Supabase.initialize(url: supabaseUrl, anonKey: supabaseKey);
runApp(MyApp());
}`,
},
}),
authKey: (title: string, varName: string, apikey: string) => ({
title: `${title}`,
bash: {
language: 'bash',
code: `${apikey}`,
},
js: {
language: 'js',
code: `const ${varName} = '${apikey}'`,
},
}),
authKeyExample: (
defaultApiKey: string,
endpoint: string,
{ keyName, showBearer = true }: { keyName?: string; showBearer?: boolean }
) => ({
title: 'Example usage',
bash: {
language: 'bash',
code: `
curl '${endpoint}/rest/v1/' \\
-H "apikey: ${defaultApiKey}" ${
showBearer
? `\\
-H "Authorization: Bearer ${defaultApiKey}"`
: ''
}
`,
},
js: {
language: 'js',
code: `
const SUPABASE_URL = "${endpoint}"
const supabase = createClient(SUPABASE_URL, process.env.${keyName || 'SUPABASE_KEY'});
`,
},
}),
rpcSingle: ({
rpcName,
rpcParams,
endpoint,
apiKey,
showBearer = true,
}: {
rpcName: string
rpcParams: any[]
endpoint: string
apiKey: string
showBearer: boolean
}) => {
let rpcList = rpcParams.map((x) => `"${x.name}": "value"`).join(', ')
let noParams = !rpcParams.length
let bashParams = noParams ? '' : `\n-d '{ ${rpcList} }' \\`
let jsParams = noParams
? ''
: `, {${
rpcParams.length
? rpcParams
.map((x) => `\n ${x.name}`)
.join(`, `)
.concat('\n ')
: ''
}}`
return {
title: 'Invoke function ',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/rest/v1/rpc/${rpcName}' \\${bashParams}
-H "Content-Type: application/json" \\
-H "apikey: ${apiKey}" ${
showBearer
? `\\
-H "Authorization: Bearer ${apiKey}"`
: ''
}
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase
.rpc('${rpcName}'${jsParams})
if (error) console.error(error)
else console.log(data)
`,
},
}
},
subscribeAll: (listenerName: string, resourceId: string) => ({
title: 'Subscribe to all events',
bash: {
language: 'bash',
code: `# Realtime streams are only supported by our client libraries`,
},
js: {
language: 'js',
code: `
const ${listenerName} = supabase.channel('custom-all-channel')
.on(
'postgres_changes',
{ event: '*', schema: 'public', table: '${resourceId}' },
(payload) => {
console.log('Change received!', payload)
}
)
.subscribe()`,
},
}),
subscribeInserts: (listenerName: string, resourceId: string) => ({
title: 'Subscribe to inserts',
bash: {
language: 'bash',
code: `# Realtime streams are only supported by our client libraries`,
},
js: {
language: 'js',
code: `
const ${listenerName} = supabase.channel('custom-insert-channel')
.on(
'postgres_changes',
{ event: 'INSERT', schema: 'public', table: '${resourceId}' },
(payload) => {
console.log('Change received!', payload)
}
)
.subscribe()`,
},
}),
subscribeUpdates: (listenerName: string, resourceId: string) => ({
title: 'Subscribe to updates',
bash: {
language: 'bash',
code: `# Realtime streams are only supported by our client libraries`,
},
js: {
language: 'js',
code: `
const ${listenerName} = supabase.channel('custom-update-channel')
.on(
'postgres_changes',
{ event: 'UPDATE', schema: 'public', table: '${resourceId}' },
(payload) => {
console.log('Change received!', payload)
}
)
.subscribe()`,
},
}),
subscribeDeletes: (listenerName: string, resourceId: string) => ({
title: 'Subscribe to deletes',
bash: {
language: 'bash',
code: `# Realtime streams are only supported by our client libraries`,
},
js: {
language: 'js',
code: `
const ${listenerName} = supabase.channel('custom-delete-channel')
.on(
'postgres_changes',
{ event: 'DELETE', schema: 'public', table: '${resourceId}' },
(payload) => {
console.log('Change received!', payload)
}
)
.subscribe()`,
},
}),
subscribeEq: (listenerName: string, resourceId: string, columnName: string, value: string) => ({
title: 'Subscribe to specific rows',
bash: {
language: 'bash',
code: `# Realtime streams are only supported by our client libraries`,
},
js: {
language: 'js',
code: `
const ${listenerName} = supabase.channel('custom-filter-channel')
.on(
'postgres_changes',
{ event: '*', schema: 'public', table: '${resourceId}', filter: '${columnName}=eq.${value}' },
(payload) => {
console.log('Change received!', payload)
}
)
.subscribe()`,
},
}),
readAll: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Read all rows',
bash: {
language: 'bash',
code: `
curl '${endpoint}/rest/v1/${resourceId}?select=*' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}"
`,
},
js: {
language: 'js',
code: `
let { data: ${resourceId}, error } = await supabase
.from('${resourceId}')
.select('*')
`,
},
}),
readColumns: ({
title = 'Read specific columns',
resourceId,
endpoint,
apiKey,
columnName = 'some_column,other_column',
}: {
title?: string
resourceId: string
endpoint: string
apiKey: string
columnName?: string
}) => ({
title,
bash: {
language: 'bash',
code: `
curl '${endpoint}/rest/v1/${resourceId}?select=${columnName}' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}"
`,
},
js: {
language: 'js',
code: `
let { data: ${resourceId}, error } = await supabase
.from('${resourceId}')
.select('${columnName}')
`,
},
}),
readForeignTables: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Read referenced tables',
bash: {
language: 'bash',
code: `
curl '${endpoint}/rest/v1/${resourceId}?select=some_column,other_table(foreign_key)' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}"
`,
},
js: {
language: 'js',
code: `
let { data: ${resourceId}, error } = await supabase
.from('${resourceId}')
.select(\`
some_column,
other_table (
foreign_key
)
\`)
`,
},
}),
readRange: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'With pagination',
bash: {
language: 'bash',
code: `
curl '${endpoint}/rest/v1/${resourceId}?select=*' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Range: 0-9"
`,
},
js: {
language: 'js',
code: `
let { data: ${resourceId}, error } = await supabase
.from('${resourceId}')
.select('*')
.range(0, 9)
`,
},
}),
readFilters: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'With filtering',
bash: {
language: 'bash',
code: `
curl --get '${endpoint}/rest/v1/${resourceId}' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Range: 0-9" \\
-d "select=*" \\
\\
\`# Filters\` \\
-d "column=eq.Equal+to" \\
-d "column=gt.Greater+than" \\
-d "column=lt.Less+than" \\
-d "column=gte.Greater+than+or+equal+to" \\
-d "column=lte.Less+than+or+equal+to" \\
-d "column=like.*CaseSensitive*" \\
-d "column=ilike.*CaseInsensitive*" \\
-d "column=is.null" \\
-d "column=in.(Array,Values)" \\
-d "column=neq.Not+equal+to" \\
\\
\`# Arrays\` \\
-d "array_column=cs.{array,contains}" \\
-d "array_column=cd.{contained,by}" \\
\\
\`# Logical operators\` \\
-d "column=not.like.Negate+filter" \\
-d "or=(some_column.eq.Some+value,other_column.eq.Other+value)"
`,
},
js: {
language: 'js',
code: `
let { data: ${resourceId}, error } = await supabase
.from('${resourceId}')
.select("*")
// Filters
.eq('column', 'Equal to')
.gt('column', 'Greater than')
.lt('column', 'Less than')
.gte('column', 'Greater than or equal to')
.lte('column', 'Less than or equal to')
.like('column', '%CaseSensitive%')
.ilike('column', '%CaseInsensitive%')
.is('column', null)
.in('column', ['Array', 'Values'])
.neq('column', 'Not equal to')
// Arrays
.contains('array_column', ['array', 'contains'])
.containedBy('array_column', ['contained', 'by'])
// Logical operators
.not('column', 'like', 'Negate filter')
.or('some_column.eq.Some value, other_column.eq.Other value')
`,
},
}),
insertSingle: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Insert a row',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/rest/v1/${resourceId}' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Content-Type: application/json" \\
-H "Prefer: return=minimal" \\
-d '{ "some_column": "someValue", "other_column": "otherValue" }'
`,
},
js: {
language: 'js',
code: `
const { data, error } = await supabase
.from('${resourceId}')
.insert([
{ some_column: 'someValue', other_column: 'otherValue' },
])
.select()
`,
},
}),
insertMany: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Insert many rows',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/rest/v1/${resourceId}' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '[{ "some_column": "someValue" }, { "other_column": "otherValue" }]'
`,
},
js: {
language: 'js',
code: `
const { data, error } = await supabase
.from('${resourceId}')
.insert([
{ some_column: 'someValue' },
{ some_column: 'otherValue' },
])
.select()
`,
},
}),
upsert: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Upsert matching rows',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/rest/v1/${resourceId}' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Content-Type: application/json" \\
-H "Prefer: resolution=merge-duplicates" \\
-d '{ "some_column": "someValue", "other_column": "otherValue" }'
`,
},
js: {
language: 'js',
code: `
const { data, error } = await supabase
.from('${resourceId}')
.upsert({ some_column: 'someValue' })
.select()
`,
},
}),
update: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Update matching rows',
bash: {
language: 'bash',
code: `
curl -X PATCH '${endpoint}/rest/v1/${resourceId}?some_column=eq.someValue' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}" \\
-H "Content-Type: application/json" \\
-H "Prefer: return=minimal" \\
-d '{ "other_column": "otherValue" }'
`,
},
js: {
language: 'js',
code: `
const { data, error } = await supabase
.from('${resourceId}')
.update({ other_column: 'otherValue' })
.eq('some_column', 'someValue')
.select()
`,
},
}),
delete: (resourceId: string, endpoint: string, apiKey: string) => ({
title: 'Delete matching rows',
bash: {
language: 'bash',
code: `
curl -X DELETE '${endpoint}/rest/v1/${resourceId}?some_column=eq.someValue' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer ${apiKey}"
`,
},
js: {
language: 'js',
code: `
const { error } = await supabase
.from('${resourceId}')
.delete()
.eq('some_column', 'someValue')
`,
},
}),
authSignup: (endpoint: string, apiKey: string, randomPassword: string) => ({
title: 'User signup',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/signup' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com",
"password": "${randomPassword}"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signUp({
email: 'someone@email.com',
password: '${randomPassword}'
})
`,
},
}),
authLogin: (endpoint: string, apiKey: string, randomPassword: string) => ({
title: 'User login',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/token?grant_type=password' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com",
"password": "${randomPassword}"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signInWithPassword({
email: 'someone@email.com',
password: '${randomPassword}'
})
`,
},
}),
authMagicLink: (endpoint: string, apiKey: string) => ({
title: 'User login',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/magiclink' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signInWithOtp({
email: 'someone@email.com'
})
`,
},
}),
authPhoneSignUp: (endpoint: string, apiKey: string) => ({
title: 'Phone Signup',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/signup' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"phone": "+13334445555",
"password": "some-password"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signUp({
phone: '+13334445555',
password: 'some-password'
})
`,
},
}),
authMobileOTPLogin: (endpoint: string, apiKey: string) => ({
title: 'Phone Login',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/otp' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"phone": "+13334445555"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signInWithOtp({
phone: '+13334445555'
})
`,
},
}),
authMobileOTPVerify: (endpoint: string, apiKey: string) => ({
title: 'Verify Pin',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/verify' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"type": "sms",
"phone": "+13334445555",
"token": "123456"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.verifyOtp({
phone: '+13334445555',
token: '123456',
type: 'sms'
})
`,
},
}),
authInvite: (endpoint: string, apiKey: string) => ({
title: 'Invite User',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/invite' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer SERVICE_ROLE_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.admin.inviteUserByEmail('someone@email.com')
`,
},
}),
authThirdPartyLogin: (endpoint: string, apiKey: string) => ({
title: 'Third Party Login',
bash: {
language: 'bash',
code: `
curl -X GET '${endpoint}/auth/v1/authorize?provider=github' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer USER_TOKEN" \\
-H "Content-Type: application/json"
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.signInWithOAuth({
provider: 'github'
})
`,
},
}),
authUser: (endpoint: string, apiKey: string) => ({
title: 'Get User',
bash: {
language: 'bash',
code: `
curl -X GET '${endpoint}/auth/v1/user' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer USER_TOKEN"
`,
},
js: {
language: 'js',
code: `
const { data: { user } } = await supabase.auth.getUser()
`,
},
}),
authRecover: (endpoint: string, apiKey: string) => ({
title: 'Password Recovery',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/recover' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com"
}'
`,
},
js: {
language: 'js',
code: `
let { data, error } = await supabase.auth.resetPasswordForEmail(email)
`,
},
}),
authUpdate: (endpoint: string, apiKey: string) => ({
title: 'Update User',
bash: {
language: 'bash',
code: `
curl -X PUT '${endpoint}/auth/v1/user' \\
-H "apikey: ${apiKey}" \\
-H "Authorization: Bearer USER_TOKEN" \\
-H "Content-Type: application/json" \\
-d '{
"email": "someone@email.com",
"password": "new-password",
"data": {
"key": "value"
}
}'
`,
},
js: {
language: 'js',
code: `
const { data, error } = await supabase.auth.updateUser({
email: "new@email.com",
password: "new-password",
data: { hello: 'world' }
})
`,
},
}),
authLogout: (endpoint: string, apiKey: string) => ({
title: 'User logout',
bash: {
language: 'bash',
code: `
curl -X POST '${endpoint}/auth/v1/logout' \\
-H "apikey: ${apiKey}" \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer USER_TOKEN"
`,
},
js: {
language: 'js',
code: `
let { error } = await supabase.auth.signOut()
`,
},
}),
}
export default snippets