export default [ { lang: 'js', title: 'Create user', description: 'Sign up a new user in an example chat room', code: `import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Create a new user const { user, error } = await supabase.auth.signUp({ email: 'example@email.com', password: 'example-password', }) `, }, { lang: 'js', title: 'Realtime subscriptions', description: 'Receive realtime messages in an example chat room', code: `import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Get notified of all new chat messages const realtime = supabase .from('messages') .on('INSERT', message => { console.log('New message!', message) }) .subscribe() `, }, { lang: 'js', title: 'Create bucket', description: 'Creates a new Storage bucket', code: `import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Create a new bucket const { data, error } = await supabase .storage .createBucket('avatars', { public: false, allowedMimeTypes: ['image/png'], fileSizeLimit: 1024 }) `, }, { lang: 'js', title: 'Invoke Edge Function', description: 'Invoke a Supabase Edge Function', code: `import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Invoke a function const { data, error } = await supabase.functions.invoke('hello', { body: { foo: 'bar' } }) `, }, { lang: 'js', title: 'CRUD a record', description: 'Create, Read, Update and Delete all public rooms and their messages', code: `import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Create a new chat room const newRoom = await supabase .from('rooms') .insert({ name: 'Supabase Fan Club', public: true }) // Get public rooms and their messages const publicRooms = await supabase .from('rooms') .select(\` name, messages ( text ) \`) .eq('public', true) // Update multiple users const updatedUsers = await supabase .from('users') .eq('account_type', 'paid') .update({ highlight_color: 'gold' }) `, }, ]