mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
chore: switch to /dashboard
This commit is contained in:
1 parent
bf3e02aa0d
commit
9cdeb4fddb
29 files changed
+236
-226
No files matched your search
@@ -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"
|
||||
>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'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
|
||||
|
||||
@@ -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,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,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": [
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}`
|
||||
}
|
||||
|
||||
|
||||
@@ -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"> →</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)
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user