chore: switch to /dashboard

This commit is contained in:
Alaister Young committed 2023-05-11 22:34:22 +10:00
1 parent bf3e02aa0d
commit 9cdeb4fddb
29 files changed
+236 -226

No files matched your search

+1 -1
View File
@@ -5,7 +5,7 @@ export type FooterHelpCalloutType = 'default' | 'postgres'
const content = {
default: {
title: 'Need some help?',
description: `Not to worry, our specialist engineers are here to help. Submit a support ticket through the [Dashboard](https://app.supabase.com/support/new).`,
description: `Not to worry, our specialist engineers are here to help. Submit a support ticket through the [Dashboard](https://supabase.com/dashboard/support/new).`,
},
postgres: {
title: 'Looking for Serverless Postgres?',
@@ -129,7 +129,7 @@ const TopNavBar: FC = () => {
type="outline"
as="a"
// @ts-ignore
href="https://app.supabase.com"
href="https://supabase.com/dashboard"
className="text-scale-1100 text-sm"
target="_blank"
rel="noreferrer noopener"
@@ -119,7 +119,7 @@ const TopNavBarRef: FC = () => {
type="text"
as="a"
// @ts-ignore
href="https://app.supabase.com"
href="https://supabase.com/dashboard"
target="_blank"
rel="noreferrer noopener"
>
+1 -1
View File
@@ -16,7 +16,7 @@ const CTABanner = (props: any) => {
</h2>
</div>
<div className="col-span-12 mt-4">
<a href="https://app.supabase.com/">
<a href="https://supabase.com/dashboard">
<Button size="medium" className="text-white">
Start your project
</Button>
+5 -1
View File
@@ -48,7 +48,11 @@ const Hero = () => {
</div>
</div>
<div className="flex items-center gap-2">
<Link href="https://app.supabase.com" as="https://app.supabase.com" passHref>
<Link
href="https://supabase.com/dashboard"
as="https://supabase.com/dashboard"
passHref
>
<a onClick={() => sendTelemetryEvent(gaEvents['www_hp_hero_startProject'])}>
<Button size="small" className="text-white">
Start your project
+3 -3
View File
@@ -332,14 +332,14 @@ const Nav = () => {
</Link>
) : (
<>
<Link href="https://app.supabase.com/">
<Link href="https://supabase.com/dashboard">
<a>
<Button type="default" className="hidden lg:block">
Sign in
</Button>
</a>
</Link>
<Link href="https://app.supabase.com/">
<Link href="https://supabase.com/dashboard">
<a>
<Button className="hidden text-white lg:block">Start your project</Button>
</a>
@@ -396,7 +396,7 @@ const Nav = () => {
{/* </div> */}
<div className="mt-6 mb-12">
<div className="pt-2 pb-4 space-y-1">
<Link href="https://app.supabase.com/">
<Link href="https://supabase.com/dashboard">
<a className="block pl-3 pr-4 text-base font-medium text-scale-900 dark:text-white">
Sign in
</a>
@@ -43,7 +43,7 @@ const ProductHeader = (props: Types) => (
})}
</div>
<div className="flex flex-row md:flex-row md:items-center">
<Link href="https://app.supabase.com/" as="https://app.supabase.com/">
<Link href="https://supabase.com/dashboard" as="https://supabase.com/dashboard">
<a>
<Button size="medium" className="text-white">
Start a project
+13 -7
View File
@@ -56,7 +56,7 @@ export default function IndexPage() {
name: 'Free',
nameBadge: '',
costUnit: 'per month per project',
href: 'https://app.supabase.com/new/new-project',
href: 'https://supabase.com/dashboard/new/new-project',
priceLabel: 'Starting from',
priceMonthly: 0,
warning: 'Limit of 2 free projects',
@@ -82,7 +82,7 @@ export default function IndexPage() {
name: 'Pro',
nameBadge: '',
costUnit: 'per month per project',
href: 'https://app.supabase.com/new/new-project',
href: 'https://supabase.com/dashboard/new/new-project',
from: true,
priceLabel: 'Starting from',
warning: '+ usage',
@@ -201,7 +201,7 @@ export default function IndexPage() {
<p className="p">{priceDescription}</p>
</div>
<p className="p">{description}</p>
<Link href="https://app.supabase.com" passHref>
<Link href="https://supabase.com/dashboard" passHref>
<a>
<Button size="medium" block>
Get started
@@ -849,7 +849,10 @@ export default function IndexPage() {
</th>
<td className="px-6 pt-5">
<Link href="https://app.supabase.com" as="https://app.supabase.com">
<Link
href="https://supabase.com/dashboard"
as="https://supabase.com/dashboard"
>
<a>
<Button size="tiny" type="primary" block>
Get started
@@ -859,7 +862,10 @@ export default function IndexPage() {
</td>
<td className="px-6 pt-5">
<Link href="https://app.supabase.com" as="https://app.supabase.com">
<Link
href="https://supabase.com/dashboard"
as="https://supabase.com/dashboard"
>
<a>
<Button size="tiny" type="primary" block>
Get started
@@ -916,7 +922,7 @@ export default function IndexPage() {
Can&apos;t find the answer to your question, you can{' '}
<a
target="_blank"
href="https://app.supabase.com/support/new"
href="https://supabase.com/dashboard/support/new"
className="transition text-brand-900 hover:text-brand-1000"
>
open a support ticket
@@ -927,7 +933,7 @@ export default function IndexPage() {
For enterprise enquries,{' '}
<a
target="_blank"
href="https://app.supabase.com/support/new"
href="https://supabase.com/dashboard/support/new"
className="transition text-brand-900 hover:text-brand-1000"
>
you can contact the team here
+1 -1
View File
@@ -199,7 +199,7 @@ const Index = ({}: Props) => {
border-gray-100 bg-white p-5
pt-14 dark:border-gray-600"
>
<a href="https://app.supabase.com/support/new">
<a href="https://supabase.com/dashboard/support/new">
<Button size="medium" type="default" iconRight={<IconMail />}>
Email Support
</Button>
+1 -1
View File
@@ -1,4 +1,4 @@
# Get these from your API settings: https://app.supabase.com/project/_/settings/api
# Get these from your API settings: https://supabase.com/dashboard/project/_/settings/api
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
@@ -1,5 +1,5 @@
# these values can be found in your project's API settings
# https://app.supabase.com/project/_/settings/api
# https://supabase.com/dashboard/project/_/settings/api
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
@@ -17,7 +17,7 @@ export default function RealtimePosts({ serverPosts }: { serverPosts: any }) {
useEffect(() => {
// ensure you have enabled replication on the `posts` table
// https://app.supabase.com/project/_/database/replication
// https://supabase.com/dashboard/project/_/database/replication
const channel = supabase
.channel('*')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'posts' }, (payload) =>
+1 -1
View File
@@ -1,3 +1,3 @@
# Get these from your Dashboard: https://app.supabase.com/project/_/settings/api
# Get these from your Dashboard: https://supabase.com/dashboard/project/_/settings/api
REACT_APP_SUPABASE_URL=
REACT_APP_SUPABASE_ANON_KEY=
@@ -15,7 +15,7 @@ DB_HOSTNAME=
DB_PASSWORD=
DB_SSL_CERT="-----BEGIN CERTIFICATE-----
GET YOUR CERT FROM YOUR PROJECT DASHBOARD
https://app.supabase.com/project/_/settings/database
https://supabase.com/dashboard/project/_/settings/database
-----END CERTIFICATE-----"
# puppeteer
@@ -207,7 +207,7 @@ const CommandMenu = ({ projectRef }: CommandMenuProps) => {
{sharedItems.tools.map((item) => {
const itemUrl = (
projectRef ? item.url.replace('_', projectRef) : item.url
).split('https://app.supabase.com')[1]
).split('https://supabase.com/dashboard')[1]
return (
<CommandItem
@@ -2,171 +2,171 @@
"tools": [
{
"label": "Table Editor",
"url": "https://app.supabase.com/project/_/editor"
"url": "https://supabase.com/dashboard/project/_/editor"
},
{
"label": "SQL Editor",
"url": "https://app.supabase.com/project/_/sql"
"url": "https://supabase.com/dashboard/project/_/sql"
},
{
"label": "Database",
"url": "https://app.supabase.com/project/_/database/tables",
"url": "https://supabase.com/dashboard/project/_/database/tables",
"subItems": [
{
"label": "Tables",
"url": "https://app.supabase.com/project/_/database/tables"
"url": "https://supabase.com/dashboard/project/_/database/tables"
},
{
"label": "Triggers",
"url": "https://app.supabase.com/project/_/database/triggers"
"url": "https://supabase.com/dashboard/project/_/database/triggers"
},
{
"label": "Functions",
"url": "https://app.supabase.com/project/_/database/functions"
"url": "https://supabase.com/dashboard/project/_/database/functions"
},
{
"label": "Extensions",
"url": "https://app.supabase.com/project/_/database/extensions"
"url": "https://supabase.com/dashboard/project/_/database/extensions"
},
{
"label": "Roles",
"url": "https://app.supabase.com/project/_/database/roles"
"url": "https://supabase.com/dashboard/project/_/database/roles"
},
{
"label": "Replication",
"url": "https://app.supabase.com/project/_/database/replication"
"url": "https://supabase.com/dashboard/project/_/database/replication"
},
{
"label": "Webhooks",
"url": "https://app.supabase.com/project/_/database/webhooks"
"url": "https://supabase.com/dashboard/project/_/database/webhooks"
},
{
"label": "Backups",
"url": "https://app.supabase.com/project/_/database/backups/scheduled"
"url": "https://supabase.com/dashboard/project/_/database/backups/scheduled"
}
]
},
{
"label": "Auth",
"url": "https://app.supabase.com/project/_/auth/users",
"url": "https://supabase.com/dashboard/project/_/auth/users",
"subItems": [
{
"label": "Users",
"url": "https://app.supabase.com/project/_/auth/users"
"url": "https://supabase.com/dashboard/project/_/auth/users"
},
{
"label": "Policies",
"url": "https://app.supabase.com/project/_/auth/policies"
"url": "https://supabase.com/dashboard/project/_/auth/policies"
},
{
"label": "Providers",
"url": "https://app.supabase.com/project/_/auth/providers"
"url": "https://supabase.com/dashboard/project/_/auth/providers"
},
{
"label": "Email Templates",
"url": "https://app.supabase.com/project/_/auth/templates"
"url": "https://supabase.com/dashboard/project/_/auth/templates"
},
{
"label": "URL Configuration",
"url": "https://app.supabase.com/project/_/auth/url-configuration"
"url": "https://supabase.com/dashboard/project/_/auth/url-configuration"
}
]
},
{
"label": "Storage",
"url": "https://app.supabase.com/project/_/storage"
"url": "https://supabase.com/dashboard/project/_/storage"
},
{
"label": "Edge Functions",
"url": "https://app.supabase.com/project/_/functions"
"url": "https://supabase.com/dashboard/project/_/functions"
},
{
"label": "Logs",
"url": "https://app.supabase.com/project/_/logs/explorer",
"url": "https://supabase.com/dashboard/project/_/logs/explorer",
"subItems": [
{
"label": "Postgres logs",
"url": "https://app.supabase.com/project/_/logs/postgres-logs"
"url": "https://supabase.com/dashboard/project/_/logs/postgres-logs"
},
{
"label": "PostgREST logs",
"url": "https://app.supabase.com/project/_/logs/postgrest-logs"
"url": "https://supabase.com/dashboard/project/_/logs/postgrest-logs"
},
{
"label": "Postgres logs",
"url": "https://app.supabase.com/project/_/logs/pgbouncer-logs"
"url": "https://supabase.com/dashboard/project/_/logs/pgbouncer-logs"
},
{
"label": "Auth logs logs",
"url": "https://app.supabase.com/project/_/logs/auth-logs"
"url": "https://supabase.com/dashboard/project/_/logs/auth-logs"
},
{
"label": "Storage logs",
"url": "https://app.supabase.com/project/_/logs/storage-logs"
"url": "https://supabase.com/dashboard/project/_/logs/storage-logs"
},
{
"label": "realtime logs",
"url": "https://app.supabase.com/project/_/logs/realtime-logs"
"url": "https://supabase.com/dashboard/project/_/logs/realtime-logs"
}
]
},
{
"label": "API Docs",
"url": "https://app.supabase.com/project/_/api",
"url": "https://supabase.com/dashboard/project/_/api",
"subItems": [
{
"label": "Auth docs",
"url": "https://app.supabase.com/project/_/api?page=auth"
"url": "https://supabase.com/dashboard/project/_/api?page=auth"
},
{
"label": "User management docs",
"url": "https://app.supabase.com/project/_/api?page=users"
"url": "https://supabase.com/dashboard/project/_/api?page=users"
},
{
"label": "Graphql",
"url": "https://app.supabase.com/project/_/api/graphiql"
"url": "https://supabase.com/dashboard/project/_/api/graphiql"
}
]
},
{
"label": "Project Settings",
"url": "https://app.supabase.com/project/_/settings/general",
"url": "https://supabase.com/dashboard/project/_/settings/general",
"subItems": [
{
"label": "General settings",
"url": "https://app.supabase.com/project/_/settings/general"
"url": "https://supabase.com/dashboard/project/_/settings/general"
},
{
"label": "Database settings",
"url": "https://app.supabase.com/project/_/settings/database"
"url": "https://supabase.com/dashboard/project/_/settings/database"
},
{
"label": "API settings",
"url": "https://app.supabase.com/project/_/settings/api"
"url": "https://supabase.com/dashboard/project/_/settings/api"
},
{
"label": "Auth settings",
"url": "https://app.supabase.com/project/_/settings/auth"
"url": "https://supabase.com/dashboard/project/_/settings/auth"
},
{
"label": "Storage settings",
"url": "https://app.supabase.com/project/_/settings/storage"
"url": "https://supabase.com/dashboard/project/_/settings/storage"
},
{
"label": "Subscription settings",
"url": "https://app.supabase.com/project/_/settings/billing/subscription"
"url": "https://supabase.com/dashboard/project/_/settings/billing/subscription"
},
{
"label": "Project Usage",
"url": "https://app.supabase.com/project/_/settings/billing/usage"
"url": "https://supabase.com/dashboard/project/_/settings/billing/usage"
},
{
"label": "Project Invoices",
"url": "https://app.supabase.com/project/_/settings/billing/invoices"
"url": "https://supabase.com/dashboard/project/_/settings/billing/invoices"
},
{
"label": "Project Invoices",
"url": "https://app.supabase.com/project/_/settings/billing/invoices"
"url": "https://supabase.com/dashboard/project/_/settings/billing/invoices"
}
]
}
@@ -174,11 +174,11 @@
"projectTools": [
{
"label": "Your Projects",
"url": "https://app.supabase.com/projects"
"url": "https://supabase.com/dashboard/projects"
},
{
"label": "Project API Keys",
"url": "https://app.supabase.com/project/_/settings/api"
"url": "https://supabase.com/dashboard/project/_/settings/api"
}
],
"support": [
+2 -2
View File
@@ -1073,7 +1073,7 @@ commands:
summary: Authenticate using an access token
description: |2
Connect the Supabase CLI to your Supabase account by logging in with your [personal access token](https://app.supabase.com/account/tokens).
Connect the Supabase CLI to your Supabase account by logging in with your [personal access token](https://supabase.com/dashboard/account/tokens).
Your access token is stored securely in [native credentials storage](https://github.com/zalando/go-keyring#dependencies). If native credentials storage is unavailable, it will be written to a plain text file at `~/.supabase/access-token`.
@@ -1085,7 +1085,7 @@ commands:
name: Basic usage
code: supabase login
response: |
You can generate an access token from https://app.supabase.com/account/tokens
You can generate an access token from https://supabase.com/dashboard/account/tokens
Enter your access token: sbp_****************************************
Finished supabase login.
tags:
+8 -8
View File
@@ -114,13 +114,13 @@ functions:
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- By default, when the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- By default, when the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
- To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser).
examples:
@@ -192,7 +192,7 @@ functions:
- This method is used for passwordless sign-ins where a OTP is sent to the user's email or phone number.
- If you're using an email, you can configure whether you want the user to receive a magiclink or a OTP.
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
examples:
- id: sign-in-with-email.
name: Sign in with email.
@@ -236,7 +236,7 @@ functions:
isSpotlight: false
description: |
When the third-party provider successfully authenticates the user, the provider will redirect the user to the URL specified in the `redirectTo` parameter. This parameter defaults to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). It does not redirect the user immediately after invoking this method.
You can modify the `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
You can modify the `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
js: |
```js
const { data, error } = await supabase.auth.signInWithOAuth({
@@ -334,7 +334,7 @@ functions:
notes: |
- In order to use the `updateUser()` method, the user needs to be signed in first.
- By Default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
@@ -746,7 +746,7 @@ functions:
description: 'This is the description'
$ref: '@supabase/postgrest-js.PostgrestQueryBuilder.select'
notes: |
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://app.supabase.com/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
- `select()` can be combined with [Filters](/docs/reference/javascript/using-filters)
- `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers)
- `apikey` is a reserved keyword if you're using the [Supabase Platform](/docs/guides/platform) and [should be avoided as a column name](https://github.com/supabase/supabase/issues/5465).
@@ -5406,7 +5406,7 @@ functions:
title: 'from.getPublicUrl()'
$ref: '@supabase/storage-js.packages/StorageFileApi.default.getPublicUrl'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- RLS policy permissions required:
- `buckets` table permissions: none
- `objects` table permissions: none
+6 -6
View File
@@ -119,13 +119,13 @@ functions:
description: |
Creates a new user.
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If SignUp() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
examples:
- id: sign-up
@@ -162,7 +162,7 @@ functions:
- This method is used for passwordless sign-ins where a OTP is sent to the user's email or phone number.
- If you're using an email, you can configure whether you want the user to receive a magiclink or a OTP.
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect urls in [your project](https://app.supabase.com/project/_/auth/settings).
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect urls in [your project](https://supabase.com/dashboard/project/_/auth/settings).
examples:
- id: sign-in-with-email
name: Send Magic Link.
@@ -269,7 +269,7 @@ functions:
notes: |
- In order to use the `UpdateUser()` method, the user needs to be signed in first.
- By Default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/settings).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/settings).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
@@ -1055,7 +1055,7 @@ functions:
Retrieve URLs for assets in public buckets
title: 'from.getPublicUrl()'
notes: |
- The bucket needs to be set to public, either via [UpdateBucket()](/docs/reference/csharp/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [UpdateBucket()](/docs/reference/csharp/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- `buckets` permissions: none
- `objects` permissions: none
+4 -4
View File
@@ -78,10 +78,10 @@ functions:
description: |
Creates a new user.
notes: |
- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
- If "Email Confirmations" is turned on, a user is returned but session will be null
- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
examples:
- id: sign-up
name: Sign up.
@@ -106,7 +106,7 @@ functions:
notes: |
- A user can sign up via email, phone number.
- If you provide `email` without a `password`, the user will be sent a magic link.
- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
- Similarly, if you provide `phone` without a `password`, the user will be sent a one time password.
- If you are looking to sign users in with OAuth in Flutter apps, go to [`signInWithProvider()`](/docs/reference/dart/v0/auth-signinwithprovider).
examples:
@@ -1073,7 +1073,7 @@ functions:
Retrieve URLs for assets in public buckets
title: 'from.getPublicUrl()'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- `buckets` permissions: none
- `objects` permissions: none
+6 -6
View File
@@ -56,13 +56,13 @@ functions:
description: |
Creates a new user.
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
examples:
- id: sign-up
@@ -141,7 +141,7 @@ functions:
- This method is used for passwordless sign-ins where a OTP is sent to the user's email or phone number.
- If you're using an email, you can configure whether you want the user to receive a magiclink or a OTP.
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect urls in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- The magic link's destination URL is determined by the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify the `SITE_URL` or add additional redirect urls in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
examples:
- id: sign-in-with-email
name: Sign in with email.
@@ -301,7 +301,7 @@ functions:
notes: |
- In order to use the `updateUser()` method, the user needs to be signed in first.
- By Default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
@@ -1213,7 +1213,7 @@ functions:
Retrieve URLs for assets in public buckets
title: 'from.getPublicUrl()'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- `buckets` permissions: none
- `objects` permissions: none
+6 -6
View File
@@ -82,10 +82,10 @@ functions:
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
- If signUp() is called for an existing confirmed user:
- If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
- If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
@@ -147,7 +147,7 @@ functions:
notes: |
- A user can sign up either via email or OAuth.
- If you provide `email` without a `password`, the user will be sent a magic link.
- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://supabase.com/dashboard)
- Specifying a `provider` will open the browser to the relevant login page.
examples:
- id: sign-in-with-email-and-password
@@ -196,7 +196,7 @@ functions:
the Auth server. If you are using email/phone logins you should set up your own redirects (within the email/sms template).
Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
any URL path on your website (the URL must either be on the same domain as your [Site URL](https://app.supabase.com/project/_/auth/url-configuration) or match one of the Redirect URLs).
any URL path on your website (the URL must either be on the same domain as your [Site URL](https://supabase.com/dashboard/project/_/auth/url-configuration) or match one of the Redirect URLs).
See [redirect URLs and wildcards](/docs/guides/auth/overview#redirect-urls-and-wildcards) to add additional redirect URLs to your project.
code: |
@@ -285,7 +285,7 @@ functions:
$ref: '@supabase/gotrue-js.GoTrueClient.update'
notes: |
User email: By Default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
User metadata: It's generally better to store user data in a table within your public schema (i.e., `public.users`).
Use the `update()` method if you have data which rarely changes or is specific only to the logged in user.
@@ -1521,7 +1521,7 @@ functions:
title: 'from.getPublicUrl()'
$ref: '@supabase/storage-js."lib/StorageFileApi".StorageFileApi.getPublicUrl'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- `buckets` permissions: none
- `objects` permissions: none
+8 -8
View File
@@ -68,7 +68,7 @@ functions:
```
description: |
By default the API server points to the `public` schema. You can enable other database schemas within the Dashboard.
Go to [Settings > API > Exposed schemas](https://app.supabase.com/project/_/settings/api) and add the schema which you want to expose to the API.
Go to [Settings > API > Exposed schemas](https://supabase.com/dashboard/project/_/settings/api) and add the schema which you want to expose to the API.
Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema.
- id: custom-fetch-implementation
@@ -136,13 +136,13 @@ functions:
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
- To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser).
examples:
@@ -233,7 +233,7 @@ functions:
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](/docs/reference/auth/config#site_url).
- See [redirect URLs and wildcards](/docs/guides/auth#redirect-urls-and-wildcards) to add additional redirect URLs to your project.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://app.supabase.com/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://supabase.com/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
- See our [Twilio Phone Auth Guide](/docs/guides/auth/phone-login/twilio) for details about configuring WhatsApp sign in.
examples:
- id: sign-in-with-email
@@ -439,7 +439,7 @@ functions:
notes: |
- In order to use the `updateUser()` method, the user needs to be signed in first.
- By Default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
@@ -1033,7 +1033,7 @@ functions:
title: 'Fetch data: select()'
$ref: '@supabase/postgrest-js.PostgrestQueryBuilder.select'
notes: |
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://app.supabase.com/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
- `select()` can be combined with [Filters](/docs/reference/javascript/using-filters)
- `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers)
- `apikey` is a reserved keyword if you're using the [Supabase Platform](/docs/guides/platform) and [should be avoided as a column name](https://github.com/supabase/supabase/issues/5465).
@@ -4801,7 +4801,7 @@ functions:
title: from.getPublicUrl()
$ref: '@supabase/storage-js.packages/StorageFileApi.default.getPublicUrl'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- RLS policy permissions required:
- `buckets` table permissions: none
- `objects` table permissions: none
+107 -107
View File
@@ -19,9 +19,9 @@ functions:
title: 'Initializing'
description: |
Independently of which Supabase module you are using, you will need to initialize the main client first and install the module.
To create a new client, you can use the `createSupabaseClient` function.
When installing a module, you can pass a block to configure it.
examples:
@@ -55,43 +55,43 @@ functions:
```
description: |
**Common:**
`alwaysAutoRefresh` - whether the GoTrue plugin should always auto refresh expired sessions automatically. Default: `true`
`autoLoadFromStorage` - whether the GoTrue plugin should automatically load the session from the session manager. Default: `true`
`flowType` - Which authentication flow to use. Currently available: FlowType.PKCE and FlowType.IMPLICIT. Default: `FlowType.IMPLICIT`
`codeVerifierCache` - Interface for saving and loading codes for the PKCE authentication flow. Default: `SettingsCodeVerifierCache`
`customUrl` - Custom url for the GoTrue API. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
`retryDelay` - Duration after which the GoTrue plugin should retry a failed session refresh. Default: `10.seconds`
`sessionManager` - Interface for saving and loading the user session. Default: `SettingsSessionManager`
**Android & IOS:**
`scheme` - The scheme for the redirect url, when using deep linking. Default: `supabase`
`host` - The host for the redirect url, when using deep linking. Default: `login`
**Android:**
`enableLifecycleCallbacks` - Whether to stop auto-refresh on focus loss, and resume it on focus again. Default: `true`
**Desktop:**
`httpPort`: The port the web server is running on, when logging in with OAuth. Default: `0` (random port).
`timeout`: The timeout for the web server, when logging in with OAuth. Default: `1.minutes`.
`htmlTitle`: The title of the redirect page, when logging in with OAuth. Default: `"Supabase Auth"`.
`htmlText`: The text of the redirect page, when logging in with OAuth. Default: `"Logged in. You may continue in your app."`.
`htmlIconUrl`: The icon of the redirect page, when logging in with OAuth. Default: `"https://supabase.com/brand-assets/supabase-logo-icon.png"`.
- id: configure-postgrest
name: Configure PostgREST module
@@ -109,11 +109,11 @@ functions:
```
description: |
`propertyConversionMethod` - The method to use to convert the property names to the column names when applying filters & using the update method. Default: `PropertyConversionMethod.CAMEL_CASE_TO_SNAKE_CASE`
`defaultSchema` - The default schema to use for database requests. Default: `public`
`customUrl` - Custom url for the PostgREST API. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
- id: configure-storage
name: Configure Storage module
@@ -130,17 +130,17 @@ functions:
```
description: |
`transferTimeout` - the timeout for uploading and downloading files. Default: `120.seconds`
`resumable.cache` - Interface for storing resumable upload urls. Default: `ResumableCache.Disk`
`resumable.defaultChunkSize` - The default chunk size for resumable uploads. Supabase currently only supports a chunk size of 6MB, so be careful when changing this value. Default: `6MB`
`resumable.retryTimeout` - the timeout for retrying resumable uploads when uploading a chunk fails. Default: `5.seconds`
`resumable.onlyUpdateStateAfterChunk` - whether the upload state should only be updated after a chunk was uploaded successfully or also when the chunk is currently being uploaded. Default: `false`
`customUrl` - Custom url for the Storage API. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
- id: configure-realtime
name: Configure Realtime module
@@ -157,17 +157,17 @@ functions:
```
description: |
`reconnectDelay` - The delay between reconnect attempts. Default: `7.seconds`
`heartbeatInterval` - The interval between heartbeat messages. Default: `15.seconds`
`disconnectOnSessionLoss` - Whether to disconnect from the websocket when the session is lost. Default: `true`
`secure` - Whether to use wss or ws. Defaults to [SupabaseClient.useHTTPS] when null
`websocketConfig` - Custom Ktor websocket config
`customUrl` - Custom url for the Realtime websocket. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
- id: configure-functions
name: Configure Functions plugin
@@ -184,8 +184,8 @@ functions:
```
description: |
`customUrl` - Custom url for the Functions API. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
- id: configure-graphql
name: Configure GraphQL plugin
code: |
@@ -203,11 +203,11 @@ functions:
```
description: |
`apolloConfiguration` - Custom configuration for the ApolloClient
`customUrl` - Custom url for the GraphQL API. Can be safely ignored when using Supabase. Default: `null`
`jwtToken` - Plugin specific JWT Token. Can be ignored when using the GoTrue plugin. Default: `null`
**You can access the created ApolloClient via `client.graphql.apolloClient`, which automatically adds the required headers depending on your session.**
- id: select
@@ -347,7 +347,7 @@ functions:
title: 'Modify data: update()'
notes: |
- `update()` should always be combined with a [filter](/docs/reference/kotlin/using-filters) block to avoid updating all records.
- When calling `insert` or `update`, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
- When calling `insert` or `update`, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
examples:
- id: updating-your-data
name: Updating your data
@@ -435,7 +435,7 @@ functions:
- Primary keys should be included in the data payload in order for an update to work correctly.
- Primary keys must be natural, not surrogate. There are however, [workarounds](https://github.com/PostgREST/postgrest/issues/1118) for surrogate primary keys.
- If you need to insert new data and update existing data at the same time, use [Postgres triggers](https://github.com/supabase/postgrest-js/issues/173#issuecomment-825124550).
- When calling `insert` or `update`, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
- When calling `insert` or `update`, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
examples:
- id: upsert-your-data
name: Upsert your data
@@ -505,8 +505,8 @@ functions:
That's a fancy way of saying that you can put some logic into your database then call it from anywhere.
It's especially useful when the logic rarely changes - like password resets and updates.
- When calling `rpc` with parameters, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
- When calling `rpc` with parameters, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
examples:
- id: call-a-stored-procedure
name: Call a stored procedure
@@ -529,7 +529,7 @@ functions:
Filters allow you to only return rows that match certain conditions.
Filters can be used on `select()`, `update()`, and `delete()` queries.
You can use two different types for applying filters:
```kotlin
eq("country_id", 1)
@@ -538,10 +538,10 @@ functions:
```kotlin
City::countryId eq 1
```
As you can see on the property syntax:
the name of the `countryId` gets converted to `country_id`.
By default, this is done by converting camel case to snake case, but you can customize this by changing the `PropertyConversionMethod` in the Postgrest Config
If a database function returns a table response, you can also apply filters.
@@ -2040,11 +2040,11 @@ functions:
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
Creates a new user.
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, the return value is null and you will be logged in instead.
- If **Confirm email** is disabled, the return value is the user and you won't be logged in automatically.
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- [supabase-kt](https://github.com/supabase-community/supabase-kt/) has default platform implementations:
- On JVM, you can currently only verify a sign up through the token. To send the token, rather than a redirect url, you have to change `{{ .ConfirmationURL }}` in your sign up email to `{{ .Token }}`
- [deep links](https://developer.android.com/training/app-links/deep-linking) (Android),
@@ -2052,7 +2052,7 @@ functions:
- To enable deeplinking/url scheme support on Android/IOS set the `host` and the `scheme` in the GoTrue Config and call `client.handleDeeplinks(intent)` (Android) and `client.handleDeeplinks(url)` (IOS) on startup
- the website origin (JS)
- If signUpWith() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
examples:
- id: sign-up-phone
@@ -2074,7 +2074,7 @@ functions:
phoneNumber = "+4912345679"
password = "example-password"
}
```
```
- id: sign-up-with-additional-user-metadata
name: Sign up with additional user metadata
isSpotlight: false
@@ -2126,7 +2126,7 @@ functions:
phoneNumber = "+4912345679"
password = "example-password"
}
```
```
- id: sign-in-with-id-token
name: Sign in with id token
isSpotlight: false
@@ -2142,7 +2142,7 @@ functions:
//...
}
}
```
```
- id: sign-in-with-otp
title: 'sendOtpTo()'
$ref: '@supabase/gotrue-js.GoTrueClient.signInWithOtp'
@@ -2161,7 +2161,7 @@ functions:
- [url schemes](https://developer.apple.com/documentation/xcode/defining-a-custom-url-scheme-for-your-app) (IOS)
- To enable deeplinking/url scheme support on Android/IOS set the `host` and the `scheme` in the GoTrue Config and call `client.handleDeeplinks(intent)` (Android) and `client.handleDeeplinks(url)` (IOS) on startup
- the website origin (JS)
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://app.supabase.com/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://supabase.com/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
examples:
- id: sign-in-with-email
name: Sign in with email
@@ -2172,7 +2172,7 @@ functions:
client.gotrue.sendOtpTo(Email) {
email = "example@email.com"
}
```
```
- id: sign-in-with-sms-otp
name: Sign in with SMS OTP
isSpotlight: false
@@ -2278,7 +2278,7 @@ functions:
client.gotrue.loginWith(SSO.withProvider("21648a9d-8d5a-4555-a9d1-d6375dc14e92"))
//the url was opened automatically, if you don't want that, provide a custom redirect url
```
```
- id: sign-out
title: 'logout()'
$ref: '@supabase/gotrue-js.GoTrueClient.signOut'
@@ -2360,7 +2360,7 @@ functions:
code: |
```kotlin
val user = client.gotrue.retrieveUser("JWT")
```
```
- id: update-user
title: 'modifyUser()'
$ref: '@supabase/gotrue-js.GoTrueClient.updateUser'
@@ -2368,7 +2368,7 @@ functions:
Modifies the user data.
- In order to use the `modifyUser()` method, the user needs to be signed in first.
- By default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
@@ -2420,7 +2420,7 @@ functions:
$ref: '@supabase/gotrue-js.GoTrueClient.refreshSession'
notes: |
This method will refresh the session whether the current one is expired or not.
- This is done automatically, but can be disabled in the GoTrue config.
examples:
- id: refresh-current-session
@@ -2516,14 +2516,14 @@ functions:
code: |
```kotlin
val verifiedFactors = client.gotrue.mfa.verifiedFactors
```
```
- id: retrieve-verified-factors
name: Retrieve verified factors
isSpotlight: true
code: |
```kotlin
val verifiedFactors = client.gotrue.mfa.retrieveFactorsForCurrentUser()
```
```
- id: mfa-challenge
title: 'mfa.challenge()'
$ref: '@supabase/gotrue-js.GoTrueMFAApi.challenge'
@@ -2604,7 +2604,7 @@ functions:
code: |
```kotlin
val (current, next) = client.gotrue.mfa.getAuthenticatorAssuranceLevel()
```
```
- id: aal-enabled
name: Check whether the user has atleast one verified factor
isSpotlight: true
@@ -2613,7 +2613,7 @@ functions:
val enabled = client.gotrue.mfa.isMfaEnabled
//flow variant, automatically emitting new values on session changes
val enabledFlow = client.gotrue.mfa.isMfaEnabledFlow
```
```
- id: aal-enabled-for-current-session
name: Check whether the user is logged in using AAL2
isSpotlight: true
@@ -2622,7 +2622,7 @@ functions:
val loggedInUsingMfa = client.gotrue.mfa.loggedInUsingMfa
//flow variant, automatically emitting new values on session changes
val loggedInUsingMfaFlow = client.gotrue.mfa.loggedInUsingMfaFlow
```
```
- id: admin-api
title: 'Overview'
notes: |
@@ -2719,7 +2719,7 @@ functions:
put("name", "John")
}
}
```
```
- id: auto-confirm-the-users-email
name: Auto-confirm the user's email
code: |
@@ -2926,12 +2926,12 @@ functions:
code: |
```kotlin
client.gotrue.admin.deleteFactor(uid = "id", factorId = "factor_id")
```
```
- id: invoke
title: 'invoke()'
description: |
Invokes a Supabase Function. See the [guide](/docs/guides/functions) for details on writing Functions.
- When invoking a function with parameters, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
- When invoking a function with parameters, you have to provide a [serializable value](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) in the function parameter.
notes: |
- Requires an Authorization header.
examples:
@@ -2956,7 +2956,7 @@ functions:
append(HttpHeaders.ContentType, "application/json")
}
)
```
```
- id: reuse-function
name: Reuse function by saving it to a variable
isSpotlight: true
@@ -2978,7 +2978,7 @@ functions:
function(body) {
set("Header", "Value")
}
```
```
- id: subscribe
description: |
Subscribe to realtime changes in your database.
@@ -2989,7 +2989,7 @@ functions:
- When using a method with a generic type like `track`, `broadcast` or `broadcastFlow`, you have to provide a [serializable class](/docs/reference/kotlin/installing#add-kotlinx-serialization-required-for-postgrest-and-realtime-serialization) as the type parameter.
examples:
- id: connect-to-realtime-client
name: Connect to Realtime
name: Connect to Realtime
isSpotlight: true
code: |
```kotlin
@@ -3001,45 +3001,45 @@ functions:
```kotlin
@Serializable
data class Message(val content: String, val sender: String)
val channel = client.realtime.createChannel("channelId") {
//optional config
}
val broadcastFlow = channel.broadcastFlow<Message>(event = "message")
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
broadcastFlow.collect { //it: Message
println(it)
}
channel.join(blockUntilJoined = true)
channel.broadcast(event = "message", Message("I joined!", "John"))
```
```
- id: listen-to-presence-updates
name: Listen to presence updates
code: |
code: |
```kotlin
@Serializable
data class PresenceState(val username: String)
val connectedUsers = mutableSetOf<PresenceState>()
val channel = client.realtime.createChannel("channelId") {
//optional config
}
val presenceChangeFlow = channel.presenceChangeFlow()
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
presenceChangeFlow.collect {
connectedUsers += it.decodeJoinsAs<PresenceState>()
connectedUsers -= it.decodeLeavesAs<PresenceState>()
}
channel.join(blockUntilJoined = true)
//send own state
channel.track(PresenceState(username = "John"))
channel.track(PresenceState(username = "John"))
- id: listen-to-all-database-changes
name: Listen to all database changes
code: |
@@ -3048,7 +3048,7 @@ functions:
//optional config
}
val changeFlow = channel.postgresChangeFlow<PostgresAction>(schema = "public")
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
changeFlow.collect {
when(it) {
@@ -3058,7 +3058,7 @@ functions:
is PostgresAction.Update -> println("Updated: ${it.oldRecord} with ${it.record}")
}
}
channel.join()
```
- id: listen-to-a-specific-table
@@ -3071,7 +3071,7 @@ functions:
val changeFlow = channel.postgresChangeFlow<PostgresAction>(schema = "public") {
table = "users"
}
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
changeFlow.collect {
when(it) {
@@ -3081,7 +3081,7 @@ functions:
is PostgresAction.Update -> println("Updated: ${it.oldRecord} with ${it.record}")
}
}
channel.join()
```
- id: listen-to-inserts
@@ -3094,12 +3094,12 @@ functions:
val changeFlow = channel.postgresChangeFlow<PostgresAction.Insert>(schema = "public") {
table = "users"
}
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
changeFlow.collect {
println(it.record)
}
channel.join()
```
- id: listen-to-updates
@@ -3119,13 +3119,13 @@ functions:
val changeFlow = channel.postgresChangeFlow<PostgresAction.Update>(schema = "public") {
table = "users"
}
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
changeFlow.collect {
println(it.record)
println(it.oldRecord)
}
channel.join()
```
- id: listen-to-deletes
@@ -3145,12 +3145,12 @@ functions:
val changeFlow = channel.postgresChangeFlow<PostgresAction.Delete>(schema = "public") {
table = "users"
}
//in a new coroutine (or use Flow.onEach().launchIn(scope)):
changeFlow.collect {
println(it.oldRecord)
}
channel.join()
```
- id: listening-to-row-level-changes
@@ -3165,12 +3165,12 @@ functions:
table = "users"
filter = "id.eq.1"
}
//in a new coroutine:
changeFlow.collect {
println(it.oldRecord)
}
channel.join()
```
@@ -3323,7 +3323,7 @@ functions:
is UploadStatus.Success -> println("Success")
}
}
```
```
- id: create-resumable-upload
name: Create resumable upload
isSpotlight: true
@@ -3340,10 +3340,10 @@ functions:
size = dataSize,
path = "icon.png"
)
```
```
- id: start-resumable-upload
name: Start and resumable upload
isSpotlight: true
isSpotlight: true
code: |
```kotlin
upload.startOrResumeUploading()
@@ -3359,7 +3359,7 @@ functions:
code: |
```kotlin
upload.cancel()
```
```
description: |
This will also remove the upload url from the cache
- id: listen-to-upload-state
@@ -3371,21 +3371,21 @@ functions:
println("Paused: ${it.paused}")
println("Is done: ${it.isDone}")
}
```
```
- id: continue-previous-upload
name: Continue previous uploads
isSpotlight: true
code: |
```kotlin
val bucket = client.storage["avatars"]
//only on JVM/Android:
bucket.resumable.continuePreviousFileUploads()
.map { it.await() } //await all uploads. This just makes sure the uploads have an update-to-date url. You can also do this in parallel
.forEach { upload ->
upload.startOrResumeUploading()
}
//on other platforms you may have to continue uploads from the source (Probably better to write an extension function):
bucket.resumable.continuePreviousUploads { source, offset ->
//create ByteReadChannel from source and seek to offset
@@ -3394,7 +3394,7 @@ functions:
.forEach { upload ->
upload.startOrResumeUploading()
}
```
```
- id: from-update
title: from.update()
@@ -3490,7 +3490,7 @@ functions:
val bytes = bucket.downloadPublic("test.png")
//or on JVM:
bucket.downloadPublicTo("test.png", File("test.png"))
```
```
- id: download-with-transformation
name: Download file with transformation
code: |
@@ -3507,9 +3507,9 @@ functions:
fill()
quality = 100
}
```
```
- id: download-with-progress
name: Download file with progress
name: Download file with progress
code: |
```kotlin
val bucket = client.storage["avatars"]
@@ -3528,7 +3528,7 @@ functions:
else -> {} //The ByteData status will never occur as we are writing directly to a file
}
}
```
```
- id: from-remove
title: from.remove()
$ref: '@supabase/storage-js.packages/StorageFileApi.default.remove'
+6 -6
View File
@@ -50,13 +50,13 @@ functions:
- id: sign-up
title: 'sign_up()'
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- By default, when the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- By default, when the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url). You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If sign_up() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
- To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser).
examples:
@@ -118,7 +118,7 @@ functions:
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](/docs/reference/auth/config#site_url).
- See [redirect URLs and wildcards](/docs/guides/auth/overview#redirect-urls-and-wildcards) to add additional redirect URLs to your project.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://app.supabase.com/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://supabase.com/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
examples:
- id: sign-in-with-email
name: Sign in with email
@@ -274,7 +274,7 @@ functions:
- id: select
title: 'Fetch data: select()'
notes: |
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://app.supabase.com/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests.
- By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests.
- `apikey` is a reserved keyword if you're using the [Supabase Platform](/docs/guides/platform) and [should be avoided as a column name](https://github.com/supabase/supabase/issues/5465).
examples:
- id: getting-your-data
@@ -782,7 +782,7 @@ functions:
- id: from-get-public-url
title: 'from_.get_public_url()'
notes: |
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://supabase.com/dashboard), clicking the overflow menu on a bucket and choosing "Make public"
- RLS policy permissions required:
- `buckets` table permissions: none
- `objects` table permissions: none
+5 -5
View File
@@ -1985,13 +1985,13 @@ functions:
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
notes: |
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://app.supabase.com/project/_/auth/providers).
- By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers).
- **Confirm email** determines if users need to confirm their email address after signing up.
- If **Confirm email** is enabled, a `user` is returned but `session` is null.
- If **Confirm email** is disabled, both a `user` and a `session` are returned.
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://app.supabase.com/project/_/auth/url-configuration).
- When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration).
- If signUp() is called for an existing confirmed user:
- If **Confirm email** is enabled in [your project](https://app.supabase.com/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned.
- If **Confirm email** is disabled, the error message, `User already registered` is returned.
- To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser).
examples:
@@ -2065,7 +2065,7 @@ functions:
- If you're using phone, you can configure whether you want the user to receive a OTP.
- The magic link's destination URL is determined by the [`SITE_URL`](/docs/reference/auth/config#site_url).
- See [redirect URLs and wildcards](/docs/guides/auth/overview#redirect-urls-and-wildcards) to add additional redirect URLs to your project.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://app.supabase.com/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
- Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://supabase.com/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`.
examples:
- id: sign-in-with-email
name: Sign in with email
@@ -2209,7 +2209,7 @@ functions:
notes: |
- In order to use the `updateUser()` method, the user needs to be signed in first.
- By default, email updates sends a confirmation link to both the user's current and new email.
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://app.supabase.com/project/_/auth/providers).
To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers).
examples:
- id: update-the-email-for-an-authenticated-user
name: Update the email for an authenticated user
+1 -1
View File
@@ -49,7 +49,7 @@ export const getURL = () => {
? process.env.NEXT_PUBLIC_SITE_URL
: process?.env?.VERCEL_URL && process.env.VERCEL_URL !== ''
? process.env.VERCEL_URL
: 'https://app.supabase.com'
: 'https://supabase.com/dashboard'
return url.includes('http') ? url : `https://${url}`
}
+1 -1
View File
@@ -218,7 +218,7 @@ const ProjectLinksEmptyState = () => (
You haven't created a Supabase project yet. Get started by creating a new Supabase project,
then close this window and retry adding integration.
</p>
<Link href="https://app.supabase.com">
<Link href="https://supabase.com/dashboard">
<a className="text-brand-900">
Start a new Supabase project<span aria-hidden="true"> &rarr;</span>
</a>
@@ -28,7 +28,7 @@ describe('Auth.constants: domainRegex', () => {
expect(output2).toBe(true)
})
test('should validate subdomains', () => {
const mockInput1 = 'https://app.supabase.com'
const mockInput1 = 'https://supabase.com/dashboard'
const output1 = urlRegex.test(mockInput1)
expect(output1).toBe(true)
})