From 561a6bbf4454436460ff226ae87186dae2ca114c Mon Sep 17 00:00:00 2001 From: dannykng Date: Fri, 23 Sep 2022 13:14:33 -0500 Subject: [PATCH] Remove old client libraries doc --- .../docs/guides/client-libraries.mdx | 483 ------------------ apps/www/next.config.js | 5 + 2 files changed, 5 insertions(+), 483 deletions(-) delete mode 100755 apps/reference/docs/guides/client-libraries.mdx diff --git a/apps/reference/docs/guides/client-libraries.mdx b/apps/reference/docs/guides/client-libraries.mdx deleted file mode 100755 index b9959d2f87f..00000000000 --- a/apps/reference/docs/guides/client-libraries.mdx +++ /dev/null @@ -1,483 +0,0 @@ ---- -id: client-libraries -title: Client Libraries -description: 'Supabase provides client libraries in several languages.' ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -The [Supabase Client](/docs/reference/javascript/installing) makes it simple for developers to build secure and scalable products. - -## Auth - -Create new users using [`signUp()`](/docs/reference/javascript/auth-signup). By default, the user will need to verify their email address before logging in.
-If confirmations are disabled the response will contain an access token and also a confirmed_at value, otherwise it will just contain a confirmation_sent_at attribute. - - - - - -```js -const { error, data } = await supabase.auth.signUp({ - email: 'example@email.com', - password: 'example-password', -}) -``` - - - - -```py -import os -from supabase import create_client, Client - -url: str = os.environ.get("SUPABASE_TEST_URL") -key: str = os.environ.get("SUPABASE_TEST_KEY") -supabase: Client = create_client(url, key) -user = supabase.auth.sign_up( - email='example@email.com', - password='example-password', -) -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Sign up user with email and password - final response = await client - .auth - .signUp('example@email.com', 'example-password'); -} -``` - - - - - -Existing users can log in using [`signIn()`](/docs/reference/javascript/auth-signin). - - - - - -```js -const { error, data } = await supabase.auth.signIn({ - email: 'example@email.com', - password: 'example-password', -}) -``` - - - - -```py -import os -from supabase import create_client, Client - -url: str = os.environ.get("SUPABASE_TEST_URL") -key: str = os.environ.get("SUPABASE_TEST_KEY") -supabase: Client = create_client(url, key) -user = supabase.auth.sign_in( - email='example@email.com', - password='example-password' -) -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Sign in user with email and password - final response = await client - .auth - .signIn(email: 'example@email.com', password: 'example-password'); -} -``` - - - - - -If there is an email, but no password passed to [`signIn()`](/docs/reference/javascript/auth-signin), the user will receive a magic link. - - - - - -```js -const { error, data } = await supabase.auth.signIn({ - email: 'example@email.com', -}) -``` - - - - -```py -import os -from supabase import create_client, Client - -url: str = os.environ.get("SUPABASE_TEST_URL") -key: str = os.environ.get("SUPABASE_TEST_KEY") -supabase: Client = create_client(url, key) -user = supabase.auth.sign_in( - email='example@email.com' -) -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Sign in user with email and magic link - final response = await client - .auth - .signIn(email: 'example@email.com'); -} -``` - - - - - -Third party logins are also handled through [`signIn()`](/docs/reference/javascript/auth-signin). - - - - - -```js -const { user, error } = await supabase.auth.signIn({ - // provider can be 'github', 'google', 'gitlab', or 'bitbucket' - provider: 'github', -}) -``` - - - - -```py -# Not yet implemented -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - final response = await client - .auth - .signIn(provider: Provider.github); -} -``` - - - - - -## Managing data - -Since Postgres is a Relational database, the client makes it simple to query tables and fetch related data in one round-trip, using [`select()`](/docs/reference/javascript/select). - - - - - -```js -const { data, error } = await supabase.from('countries').select(` - name, - cities ( - name - ) - `) -``` - - - - -```py -import os -from supabase import create_client, Client - -url: str = os.environ.get("SUPABASE_TEST_URL") -key: str = os.environ.get("SUPABASE_TEST_KEY") -supabase: Client = create_client(url, key) - -data = supabase.table('countries').select('name').execute() -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Query tables and fetch related data in one round-trip, using select() - final response = await client - .from('countries') - .select('name') - .execute(); -} -``` - - - - - -You can do advanced [filtering](/docs/reference/javascript/using-filters) to extract only the data that you need. - - - - - -```js -const { data, error } = await supabase - .from('cities') - .select('name, country_id') - .lt('country_id', 100) - .limit(10) -``` - - - - -```py -data = supabase.table('cities').select('name, country_id').eq('name', 'Germany').execute() -# Assert we pulled real data. -assert len(data.get("data", [])) > 0 -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // When fetching data, use advanced filtering to only extract data, that you need. - final response = await client - .from('cities') - .select('name,country_id') - .lt('country_id', 100) - .limit(10) - .execute(); -} -``` - - - - - -You can create data easily using [`insert()`](/docs/reference/javascript/insert). - - - - - -```js -const { data, error } = await supabase.from('cities').insert([ - { name: 'The Shire', country_id: 554 }, - { name: 'Rohan', country_id: 555 }, -]) -``` - - - - -```py -data = supabase.table('cities').insert({'name': 'Gotham', 'country_id': 556 }).execute() -# assert if insert response is a success -assert data.get("status_code") in (200, 201) - -# bulk insert -data = supabase.table('cities').insert([ -{'name': 'Gotham', 'country_id': 556 }, -{'name': 'The Shire', 'country_id': 557 } -]).execute() - -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Create data easily, using insert() - final response = await client - .from('cities') - .insert([ - { 'name': 'The Shire', 'country_id': 554 }, - { 'name': 'Rohan', 'country_id': 555 }, - ]) - .execute(); -} -``` - - - - - -## Realtime Changes - -The Supabase client makes it simple to listen to realtime database changes, using [`subscribe()`](/docs/reference/javascript/subscribe). - - - - - -```js -const mySubscription = supabase - .from('countries') - .on('*', (payload) => { - console.log('Change received!', payload) - }) - .subscribe() -``` - - - - -```py -# Not yet implemented -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // Listen to realtime database changes, using subscribe() - final response = await client - .from('countries') - .on(SupabaseEventTypes.all, (payload) { - print('Something happened: ${payload.eventType}'); - }) - .subscribe((String event, {String? errorMsg}) { - print('event: $event error: $errorMsg'); - }); -} -``` - - - - - -You can even [listen to Row Level changes](/docs/reference/javascript/subscribe#listening-to-row-level-changes). - - - - - -```js -const mySubscription = supabase - .from('countries:id.eq.200') - .on('UPDATE', handleRecordUpdated) - .subscribe() -``` - - - - -```py -# Not yet implemented -``` - - - - - -```dart -import 'package:supabase/supabase.dart'; - -void main() async { - final client = SupabaseClient('supabaseUrl', 'supabaseKey'); - - // You can even listen to Row Level changes - final response = await client - .from('countries:id.eq.200') - .on(SupabaseEventTypes.update, (payload) { - print('Something happened: ${payload.eventType}'); - }) - .subscribe((String event, {String? errorMsg}) { - print('event: $event error: $errorMsg'); - }); -} -``` - - - - - -## Next steps - -- View the [Client Docs](/docs/reference/javascript/installing) -- Sign in: [app.supabase.com](https://app.supabase.com) diff --git a/apps/www/next.config.js b/apps/www/next.config.js index 6259a128a03..c2a31215d27 100644 --- a/apps/www/next.config.js +++ b/apps/www/next.config.js @@ -1449,6 +1449,11 @@ module.exports = withMDX({ source: '/docs/guides/auth/auth-helpers/auth-ui-overview', destination: '/docs/guides/auth/auth-helpers/auth-ui', }, + { + permanent: true, + source: '/docs/guides/client-libraries', + destination: '/docs/reference', + }, // V2 redirects // {