Compare commits
28 Commits
@nhost/rea
...
@nhost/rea
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
293bdc3f1c | ||
|
|
b670dc396b | ||
|
|
88800ba4b4 | ||
|
|
d412669c86 | ||
|
|
8600acb6f2 | ||
|
|
0e2e2344f2 | ||
|
|
8a91673242 | ||
|
|
63f27235be | ||
|
|
7feadbe55d | ||
|
|
98e5680f48 | ||
|
|
8d6ebf9032 | ||
|
|
9feea987e6 | ||
|
|
c2d77bbb7c | ||
|
|
4468654054 | ||
|
|
998291ea9d | ||
|
|
eb46f7d8b7 | ||
|
|
7bc11a1985 | ||
|
|
0fadc0d3da | ||
|
|
814856da0d | ||
|
|
1bf5114d6b | ||
|
|
ed618e0c41 | ||
|
|
8a272b5b72 | ||
|
|
2a0107db55 | ||
|
|
48a90c4f69 | ||
|
|
686d3f1b09 | ||
|
|
6b4b4a5798 | ||
|
|
3a14b90557 | ||
|
|
5485d48ce5 |
1
.github/workflows/changesets.yaml
vendored
1
.github/workflows/changesets.yaml
vendored
@@ -5,7 +5,6 @@ on:
|
|||||||
branches: [main]
|
branches: [main]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'templates/**'
|
|
||||||
- 'examples/**'
|
- 'examples/**'
|
||||||
- 'assets/**'
|
- 'assets/**'
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|||||||
2
.github/workflows/tests.yaml
vendored
2
.github/workflows/tests.yaml
vendored
@@ -5,7 +5,6 @@ on:
|
|||||||
branches: [main]
|
branches: [main]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'templates/**'
|
|
||||||
- 'assets/**'
|
- 'assets/**'
|
||||||
- '**.md'
|
- '**.md'
|
||||||
- 'LICENSE'
|
- 'LICENSE'
|
||||||
@@ -14,7 +13,6 @@ on:
|
|||||||
types: [opened, synchronize]
|
types: [opened, synchronize]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'templates/**'
|
|
||||||
- 'assets/**'
|
- 'assets/**'
|
||||||
- '**.md'
|
- '**.md'
|
||||||
- 'LICENSE'
|
- 'LICENSE'
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -87,12 +87,12 @@ await nhost.graphql.request(`{
|
|||||||
Nhost is frontend agnostic, which means Nhost works with all frontend frameworks.
|
Nhost is frontend agnostic, which means Nhost works with all frontend frameworks.
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="https://github.com/nhost/nhost/tree/main/templates/web/nextjs-apollo"><img src="assets/nextjs.svg"/></a>
|
<a href="https://docs.nhost.io/platform/quickstarts/nextjs"><img src="assets/nextjs.svg"/></a>
|
||||||
<a href="https://github.com/nhost/nhost/tree/main/examples/nuxt-apollo"><img src="assets/nuxtjs.svg"/></a>
|
<a href="https://docs.nhost.io/reference/javascript"><img src="assets/nuxtjs.svg"/></a>
|
||||||
<a href="https://github.com/nhost/nhost/tree/main/templates/web/react-apollo"><img src="assets/react.svg"/></a>
|
<a href="https://docs.nhost.io/platform/quickstarts/react"><img src="assets/react.svg"/></a>
|
||||||
<img src="assets/react-native.svg"/>
|
<a href="https://docs.nhost.io/reference/javascript"><img src="assets/react-native.svg"/></a>
|
||||||
<a href="https://github.com/nhost/nhost/tree/main/packages/nhost-js"><img src="assets/svelte.svg"/></a>
|
<a href="https://docs.nhost.io/reference/javascript"><img src="assets/svelte.svg"/></a>
|
||||||
<a href="https://github.com/nhost/nhost/tree/main/packages/nhost-js"><img src="assets/vuejs.svg"/></a>
|
<a href="https://docs.nhost.io/platform/quickstarts/vue"><img src="assets/vuejs.svg"/></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# Resources
|
# Resources
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @nhost/docs
|
# @nhost/docs
|
||||||
|
|
||||||
|
## 0.0.3
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- eb46f7d8: Use port 1337 if no port is specified when using "localhost" as `subdomain`.
|
||||||
|
|
||||||
## 0.0.2
|
## 0.0.2
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -79,17 +79,17 @@ Then start the Nhost project locally:
|
|||||||
nhost up
|
nhost up
|
||||||
```
|
```
|
||||||
|
|
||||||
Hasura Console starts automatically and your Nhost project is running locally with the backend URL: `http://localhost:1337`.
|
Hasura Console starts automatically and your Nhost project is running locally.
|
||||||
|
|
||||||
## Subdomain and Region
|
## Subdomain and Region
|
||||||
|
|
||||||
Use `localhost:1337` as the `subdomain`, and skip `region` when using the CLI and the [JavaScript SDK](/reference/javascript):
|
Use `localhost` as the `subdomain`, and skip `region` when using the CLI and the [JavaScript SDK](/reference/javascript):
|
||||||
|
|
||||||
```
|
```
|
||||||
import { NhostClient } from '@nhost/nhost-js'
|
import { NhostClient } from '@nhost/nhost-js'
|
||||||
|
|
||||||
const nhost = new NhostClient({
|
const nhost = new NhostClient({
|
||||||
subdomain: 'localhost:1337',
|
subdomain: 'localhost',
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -97,12 +97,22 @@ const nhost = new NhostClient({
|
|||||||
|
|
||||||
During local development with the CLI, all transactional emails from Authentication are sent to a local Mailhog instance, instead of to the recipient's email address. You'll see an address where after starting [`nhost up`](/reference/cli/up) where all emails are sent to.
|
During local development with the CLI, all transactional emails from Authentication are sent to a local Mailhog instance, instead of to the recipient's email address. You'll see an address where after starting [`nhost up`](/reference/cli/up) where all emails are sent to.
|
||||||
|
|
||||||
For the example below, all emails are accessable at `http://localhost:8839`.
|
For the example below, all emails are accessible at `http://localhost:8025`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ nhost up
|
$ nhost up
|
||||||
✔ Your app is running at http://localhost:1337 (Ctrl+C to stop)
|
URLs:
|
||||||
ℹ Emails will be sent to http://localhost:8839
|
- Postgres: postgres://postgres:postgres@localhost:5432/postgres
|
||||||
|
- GraphQL: http://localhost:1337/v1/graphql
|
||||||
|
- Auth: http://localhost:1337/v1/auth
|
||||||
|
- Storage: http://localhost:1337/v1/storage
|
||||||
|
- Functions: http://localhost:1337/v1/functions
|
||||||
|
|
||||||
|
- Hasura console: http://localhost:9695
|
||||||
|
- Mailhog: http://localhost:8025
|
||||||
|
|
||||||
|
- subdomain: localhost
|
||||||
|
- region: (empty)
|
||||||
```
|
```
|
||||||
|
|
||||||
## What's next?
|
## What's next?
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ Running this command will start up all the backend services provided by Nhost.
|
|||||||
It also runs a webserver to serve the Hasura Console for the GraphQL Engine so
|
It also runs a webserver to serve the Hasura Console for the GraphQL Engine so
|
||||||
you can manage the database and test the GraphQL API.
|
you can manage the database and test the GraphQL API.
|
||||||
|
|
||||||
The Hasura Console opens automatically at [http://localhost:1337](http://localhost:1337/).
|
The Hasura Console opens automatically at [http://localhost:9695](http://localhost:9695/).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@nhost/docs",
|
"name": "@nhost/docs",
|
||||||
"version": "0.0.2",
|
"version": "0.0.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
|
|||||||
@@ -1,23 +1,13 @@
|
|||||||
metadata_directory: metadata
|
metadata_directory: metadata
|
||||||
services:
|
services:
|
||||||
mailhog:
|
|
||||||
port: 8025
|
|
||||||
hasura:
|
hasura:
|
||||||
version: v2.8.0
|
image: hasura/graphql-engine:v2.10.1
|
||||||
environment:
|
environment:
|
||||||
hasura_graphql_enable_remote_schema_permissions: false
|
hasura_graphql_enable_remote_schema_permissions: false
|
||||||
auth:
|
auth:
|
||||||
version: 0.10.0
|
image: nhost/hasura-auth:0.10.0
|
||||||
storage:
|
storage:
|
||||||
version: 0.2.3
|
image: nhost/hasura-storage:0.2.3
|
||||||
minio:
|
|
||||||
environment:
|
|
||||||
minio_root_password: minioaccesskey123123
|
|
||||||
minio_root_user: minioaccesskey123123
|
|
||||||
postgres:
|
|
||||||
environment:
|
|
||||||
postgres_password: postgres
|
|
||||||
postgres_user: postgres
|
|
||||||
auth:
|
auth:
|
||||||
access_control:
|
access_control:
|
||||||
email:
|
email:
|
||||||
@@ -120,10 +110,10 @@ auth:
|
|||||||
from: ''
|
from: ''
|
||||||
messaging_service_id: ''
|
messaging_service_id: ''
|
||||||
smtp:
|
smtp:
|
||||||
host: nhost_mailhog
|
host: mailhog
|
||||||
method: ''
|
method: ''
|
||||||
pass: password
|
pass: password
|
||||||
port: 1706
|
port: 1025
|
||||||
secure: false
|
secure: false
|
||||||
sender: hasura-auth@example.com
|
sender: hasura-auth@example.com
|
||||||
user: user
|
user: user
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -16,10 +16,10 @@ configuration:
|
|||||||
update: updateAuthProviders
|
update: updateAuthProviders
|
||||||
update_by_pk: updateAuthProvider
|
update_by_pk: updateAuthProvider
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userProviders
|
- name: userProviders
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: provider_id
|
column: provider_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ configuration:
|
|||||||
update: updateAuthRefreshTokens
|
update: updateAuthRefreshTokens
|
||||||
update_by_pk: updateAuthRefreshToken
|
update_by_pk: updateAuthRefreshToken
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -16,17 +16,17 @@ configuration:
|
|||||||
update: updateAuthRoles
|
update: updateAuthRoles
|
||||||
update_by_pk: updateAuthRole
|
update_by_pk: updateAuthRole
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userRoles
|
- name: userRoles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: role
|
column: role
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: usersByDefaultRole
|
- name: usersByDefaultRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: default_role
|
column: default_role
|
||||||
table:
|
table:
|
||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
table:
|
||||||
|
name: user_authenticators
|
||||||
|
schema: auth
|
||||||
|
configuration:
|
||||||
|
column_config:
|
||||||
|
credential_id:
|
||||||
|
custom_name: credentialId
|
||||||
|
credential_public_key:
|
||||||
|
custom_name: credentialPublicKey
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
|
custom_column_names:
|
||||||
|
credential_id: credentialId
|
||||||
|
credential_public_key: credentialPublicKey
|
||||||
|
user_id: userId
|
||||||
|
custom_name: authUserAuthenticators
|
||||||
|
custom_root_fields:
|
||||||
|
delete: deleteAuthUserAuthenticators
|
||||||
|
delete_by_pk: deleteAuthUserAuthenticator
|
||||||
|
insert: insertAuthUserAuthenticators
|
||||||
|
insert_one: insertAuthUserAuthenticator
|
||||||
|
select: authUserAuthenticators
|
||||||
|
select_aggregate: authUserAuthenticatorsAggregate
|
||||||
|
select_by_pk: authUserAuthenticator
|
||||||
|
update: updateAuthUserAuthenticators
|
||||||
|
update_by_pk: updateAuthUserAuthenticator
|
||||||
|
object_relationships:
|
||||||
|
- name: user
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on: user_id
|
||||||
@@ -37,9 +37,9 @@ configuration:
|
|||||||
update: updateAuthUserProviders
|
update: updateAuthUserProviders
|
||||||
update_by_pk: updateAuthUserProvider
|
update_by_pk: updateAuthUserProvider
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: provider
|
- name: provider
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: provider_id
|
foreign_key_constraint_on: provider_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ configuration:
|
|||||||
update: updateAuthUserRoles
|
update: updateAuthUserRoles
|
||||||
update_by_pk: updateAuthUserRole
|
update_by_pk: updateAuthUserRole
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: roleByRole
|
- name: roleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: role
|
foreign_key_constraint_on: role
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ configuration:
|
|||||||
custom_name: totpSecret
|
custom_name: totpSecret
|
||||||
updated_at:
|
updated_at:
|
||||||
custom_name: updatedAt
|
custom_name: updatedAt
|
||||||
|
webauthn_current_challenge:
|
||||||
|
custom_name: currentChallenge
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
active_mfa_type: activeMfaType
|
active_mfa_type: activeMfaType
|
||||||
avatar_url: avatarUrl
|
avatar_url: avatarUrl
|
||||||
@@ -58,6 +60,7 @@ configuration:
|
|||||||
ticket_expires_at: ticketExpiresAt
|
ticket_expires_at: ticketExpiresAt
|
||||||
totp_secret: totpSecret
|
totp_secret: totpSecret
|
||||||
updated_at: updatedAt
|
updated_at: updatedAt
|
||||||
|
webauthn_current_challenge: currentChallenge
|
||||||
custom_name: users
|
custom_name: users
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteUsers
|
delete: deleteUsers
|
||||||
@@ -70,38 +73,45 @@ configuration:
|
|||||||
update: updateUsers
|
update: updateUsers
|
||||||
update_by_pk: updateUser
|
update_by_pk: updateUser
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: defaultRoleByRole
|
- name: defaultRoleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: default_role
|
foreign_key_constraint_on: default_role
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: refreshTokens
|
- name: authenticators
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: refresh_tokens
|
name: user_authenticators
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: roles
|
- name: refreshTokens
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: userProviders
|
- name: roles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
|
- name: userProviders
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on:
|
||||||
|
column: user_id
|
||||||
|
table:
|
||||||
|
name: user_providers
|
||||||
|
schema: auth
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- avatar_url
|
columns:
|
||||||
- display_name
|
- avatar_url
|
||||||
- id
|
- display_name
|
||||||
filter:
|
- id
|
||||||
id:
|
filter:
|
||||||
_eq: X-Hasura-User-Id
|
id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
|
|||||||
@@ -2,16 +2,16 @@ table:
|
|||||||
name: customers
|
name: customers
|
||||||
schema: public
|
schema: public
|
||||||
insert_permissions:
|
insert_permissions:
|
||||||
- permission:
|
- role: public
|
||||||
check: {}
|
permission:
|
||||||
columns:
|
check: {}
|
||||||
- name
|
columns:
|
||||||
role: public
|
- name
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: public
|
||||||
columns:
|
permission:
|
||||||
- id
|
columns:
|
||||||
- name
|
- id
|
||||||
- created_at
|
- name
|
||||||
filter: {}
|
- created_at
|
||||||
role: public
|
filter: {}
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ configuration:
|
|||||||
update: updateBuckets
|
update: updateBuckets
|
||||||
update_by_pk: updateBucket
|
update_by_pk: updateBucket
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: files
|
- name: files
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: bucket_id
|
column: bucket_id
|
||||||
table:
|
table:
|
||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
|
|||||||
@@ -40,6 +40,6 @@ configuration:
|
|||||||
update: updateFiles
|
update: updateFiles
|
||||||
update_by_pk: updateFile
|
update_by_pk: updateFile
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: bucket
|
- name: bucket
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: bucket_id
|
foreign_key_constraint_on: bucket_id
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
- "!include auth_providers.yaml"
|
- "!include auth_providers.yaml"
|
||||||
- "!include auth_refresh_tokens.yaml"
|
- "!include auth_refresh_tokens.yaml"
|
||||||
- "!include auth_roles.yaml"
|
- "!include auth_roles.yaml"
|
||||||
|
- "!include auth_user_authenticators.yaml"
|
||||||
- "!include auth_user_providers.yaml"
|
- "!include auth_user_providers.yaml"
|
||||||
- "!include auth_user_roles.yaml"
|
- "!include auth_user_roles.yaml"
|
||||||
- "!include auth_users.yaml"
|
- "!include auth_users.yaml"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
disabled_for_roles: []
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -1,23 +1,13 @@
|
|||||||
metadata_directory: metadata
|
metadata_directory: metadata
|
||||||
services:
|
services:
|
||||||
mailhog:
|
|
||||||
port: 8025
|
|
||||||
hasura:
|
hasura:
|
||||||
version: v2.8.0
|
image: hasura/graphql-engine:v2.10.1
|
||||||
environment:
|
environment:
|
||||||
hasura_graphql_enable_remote_schema_permissions: false
|
hasura_graphql_enable_remote_schema_permissions: false
|
||||||
auth:
|
auth:
|
||||||
version: 0.10.0
|
image: nhost/hasura-auth:0.10.0
|
||||||
storage:
|
storage:
|
||||||
version: 0.2.3
|
image: nhost/hasura-storage:0.2.3
|
||||||
minio:
|
|
||||||
environment:
|
|
||||||
minio_root_password: minioaccesskey123123
|
|
||||||
minio_root_user: minioaccesskey123123
|
|
||||||
postgres:
|
|
||||||
environment:
|
|
||||||
postgres_password: postgres
|
|
||||||
postgres_user: postgres
|
|
||||||
auth:
|
auth:
|
||||||
access_control:
|
access_control:
|
||||||
email:
|
email:
|
||||||
@@ -120,10 +110,10 @@ auth:
|
|||||||
from: ''
|
from: ''
|
||||||
messaging_service_id: ''
|
messaging_service_id: ''
|
||||||
smtp:
|
smtp:
|
||||||
host: nhost_mailhog
|
host: mailhog
|
||||||
method: ''
|
method: ''
|
||||||
pass: password
|
pass: password
|
||||||
port: 1706
|
port: 1025
|
||||||
secure: false
|
secure: false
|
||||||
sender: hasura-auth@example.com
|
sender: hasura-auth@example.com
|
||||||
user: user
|
user: user
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -16,10 +16,10 @@ configuration:
|
|||||||
update: updateAuthProviders
|
update: updateAuthProviders
|
||||||
update_by_pk: updateAuthProvider
|
update_by_pk: updateAuthProvider
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userProviders
|
- name: userProviders
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: provider_id
|
column: provider_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ configuration:
|
|||||||
update: updateAuthRefreshTokens
|
update: updateAuthRefreshTokens
|
||||||
update_by_pk: updateAuthRefreshToken
|
update_by_pk: updateAuthRefreshToken
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -16,17 +16,17 @@ configuration:
|
|||||||
update: updateAuthRoles
|
update: updateAuthRoles
|
||||||
update_by_pk: updateAuthRole
|
update_by_pk: updateAuthRole
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userRoles
|
- name: userRoles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: role
|
column: role
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: usersByDefaultRole
|
- name: usersByDefaultRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: default_role
|
column: default_role
|
||||||
table:
|
table:
|
||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -25,6 +25,6 @@ configuration:
|
|||||||
update: updateAuthUserAuthenticators
|
update: updateAuthUserAuthenticators
|
||||||
update_by_pk: updateAuthUserAuthenticator
|
update_by_pk: updateAuthUserAuthenticator
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ configuration:
|
|||||||
update: updateAuthUserProviders
|
update: updateAuthUserProviders
|
||||||
update_by_pk: updateAuthUserProvider
|
update_by_pk: updateAuthUserProvider
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: provider
|
- name: provider
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: provider_id
|
foreign_key_constraint_on: provider_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ configuration:
|
|||||||
update: updateAuthUserRoles
|
update: updateAuthUserRoles
|
||||||
update_by_pk: updateAuthUserRole
|
update_by_pk: updateAuthUserRole
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: roleByRole
|
- name: roleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: role
|
foreign_key_constraint_on: role
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -73,45 +73,45 @@ configuration:
|
|||||||
update: updateUsers
|
update: updateUsers
|
||||||
update_by_pk: updateUser
|
update_by_pk: updateUser
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: defaultRoleByRole
|
- name: defaultRoleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: default_role
|
foreign_key_constraint_on: default_role
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: authenticators
|
- name: authenticators
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_authenticators
|
name: user_authenticators
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: refreshTokens
|
- name: refreshTokens
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: refresh_tokens
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: roles
|
- name: roles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: userProviders
|
- name: userProviders
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- avatar_url
|
columns:
|
||||||
- display_name
|
- avatar_url
|
||||||
- id
|
- display_name
|
||||||
filter:
|
- id
|
||||||
id:
|
filter:
|
||||||
_eq: X-Hasura-User-Id
|
id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
|
|||||||
@@ -2,16 +2,16 @@ table:
|
|||||||
name: customers
|
name: customers
|
||||||
schema: public
|
schema: public
|
||||||
insert_permissions:
|
insert_permissions:
|
||||||
- permission:
|
- role: public
|
||||||
check: {}
|
permission:
|
||||||
columns:
|
check: {}
|
||||||
- name
|
columns:
|
||||||
role: public
|
- name
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: public
|
||||||
columns:
|
permission:
|
||||||
- id
|
columns:
|
||||||
- name
|
- id
|
||||||
- created_at
|
- name
|
||||||
filter: {}
|
- created_at
|
||||||
role: public
|
filter: {}
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ configuration:
|
|||||||
update: updateBuckets
|
update: updateBuckets
|
||||||
update_by_pk: updateBucket
|
update_by_pk: updateBucket
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: files
|
- name: files
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: bucket_id
|
column: bucket_id
|
||||||
table:
|
table:
|
||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
|
|||||||
@@ -40,6 +40,6 @@ configuration:
|
|||||||
update: updateFiles
|
update: updateFiles
|
||||||
update_by_pk: updateFile
|
update_by_pk: updateFile
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: bucket
|
- name: bucket
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: bucket_id
|
foreign_key_constraint_on: bucket_id
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
disabled_for_roles: []
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
1
examples/codegen-react-query/nhost/metadata/network.yaml
Normal file
1
examples/codegen-react-query/nhost/metadata/network.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Custom email templates
|
|
||||||
|
|
||||||
Nhost plans to fully host custom email templates for email verification, password reset, email change confirmation, passwordless authentication...
|
|
||||||
|
|
||||||
In the meantime, it is possible to tell the Hasura-auth service to look for templates in an external public location through HTTP requests.
|
|
||||||
Here is a short example on how to proceed.
|
|
||||||
|
|
||||||
## Define where to find the custom templates
|
|
||||||
|
|
||||||
In the Nhost console, define the following **App Environment Variable:**:
|
|
||||||
|
|
||||||
- Variable name: `AUTH_EMAIL_TEMPLATE_FETCH_URL`
|
|
||||||
- Production value: `https://raw.githubusercontent.com/nhost/nhost/main/examples/custom-email-templates`
|
|
||||||
- Development value: `https://raw.githubusercontent.com/nhost/nhost/main/examples/custom-email-templates`
|
|
||||||
|
|
||||||
The above example will use the [templates located in the repository hosting this example](https://github.com/nhost/nhost/tree/main/examples/custom-email-templates). You can define another URL as long as it follows the same file structure. On every email creation, the server will use this URL to fetch its templates, depending on the locale, email type and field.
|
|
||||||
|
|
||||||
For instance, the template for english verification email body will the fetched in [https://raw.githubusercontent.com/nhost/nhost/custom-email-templates-example/examples/custom-email-templates/en/email-verify/body.html](https://raw.githubusercontent.com/nhost/nhost/custom-email-templates-example/examples/custom-email-templates/en/email-verify/body.html).
|
|
||||||
@@ -47,6 +47,8 @@ services:
|
|||||||
- postgres
|
- postgres
|
||||||
- graphql-engine
|
- graphql-engine
|
||||||
restart: always
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./emails:/app/email-templates
|
||||||
environment:
|
environment:
|
||||||
AUTH_HOST: '0.0.0.0'
|
AUTH_HOST: '0.0.0.0'
|
||||||
HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-secretpgpassword}@postgres:5432/postgres
|
HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-secretpgpassword}@postgres:5432/postgres
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Confirm Email Change (custom template)</h2>
|
<h2>Confirm Email Change</h2>
|
||||||
<p>Use this link to confirm changing email:</p>
|
<p>Use this link to confirm changing email:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Verify Email (custom template)</h2>
|
<h2>Verify Email</h2>
|
||||||
<p>Use this link to verify your email:</p>
|
<p>Use this link to verify your email:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Reset Password (custom template)</h2>
|
<h2>Reset Password</h2>
|
||||||
<p>Use this link to reset your password:</p>
|
<p>Use this link to reset your password:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Magic Link (custom template)</h2>
|
<h2>Magic Link</h2>
|
||||||
<p>Use this link to securely sign in:</p>
|
<p>Use this link to securely sign in:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Confirmer changement de courriel (custom template)</h2>
|
<h2>Confirmer changement de courriel</h2>
|
||||||
<p>Utilisez ce lien pour confirmer le changement de courriel:</p>
|
<p>Utilisez ce lien pour confirmer le changement de courriel:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Vérifiez votre courriel (custom template)</h2>
|
<h2>Vérifiez votre courriel</h2>
|
||||||
<p>Utilisez ce lien pour vérifier votre courriel:</p>
|
<p>Utilisez ce lien pour vérifier votre courriel:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Réinitializer votre mot de passe (custom template)</h2>
|
<h2>Réinitializer votre mot de passe</h2>
|
||||||
<p>Utilisez ce lien pour réinitializer votre mot de passe:</p>
|
<p>Utilisez ce lien pour réinitializer votre mot de passe:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>Lien magique (custom template)</h2>
|
<h2>Lien magique</h2>
|
||||||
<p>Utilisez ce lien pour vous connecter de façon sécuritaire:</p>
|
<p>Utilisez ce lien pour vous connecter de façon sécuritaire:</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="${link}">
|
<a href="${link}">
|
||||||
@@ -1,21 +1,13 @@
|
|||||||
metadata_directory: metadata
|
metadata_directory: metadata
|
||||||
services:
|
services:
|
||||||
hasura:
|
hasura:
|
||||||
|
image: hasura/graphql-engine:v2.10.1
|
||||||
environment:
|
environment:
|
||||||
hasura_graphql_enable_remote_schema_permissions: false
|
hasura_graphql_enable_remote_schema_permissions: false
|
||||||
version: v2.8.0
|
|
||||||
minio:
|
|
||||||
environment:
|
|
||||||
minio_root_password: minioaccesskey123123
|
|
||||||
minio_root_user: minioaccesskey123123
|
|
||||||
postgres:
|
|
||||||
environment:
|
|
||||||
postgres_password: postgres
|
|
||||||
postgres_user: postgres
|
|
||||||
auth:
|
auth:
|
||||||
version: 0.10.0
|
image: nhost/hasura-auth:0.10.0
|
||||||
storage:
|
storage:
|
||||||
version: 0.2.3
|
image: nhost/hasura-storage:0.2.3
|
||||||
auth:
|
auth:
|
||||||
access_control:
|
access_control:
|
||||||
email:
|
email:
|
||||||
@@ -117,10 +109,10 @@ auth:
|
|||||||
from: ''
|
from: ''
|
||||||
messaging_service_id: ''
|
messaging_service_id: ''
|
||||||
smtp:
|
smtp:
|
||||||
host: nhost_mailhog
|
host: mailhog
|
||||||
method: ''
|
method: ''
|
||||||
pass: password
|
pass: password
|
||||||
port: 1765
|
port: 1025
|
||||||
secure: false
|
secure: false
|
||||||
sender: hasura-auth@example.com
|
sender: hasura-auth@example.com
|
||||||
user: user
|
user: user
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -2,9 +2,8 @@ table:
|
|||||||
name: provider_requests
|
name: provider_requests
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
custom_column_names:
|
column_config: {}
|
||||||
id: id
|
custom_column_names: {}
|
||||||
redirect_url: redirectUrl
|
|
||||||
custom_name: authProviderRequests
|
custom_name: authProviderRequests
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteAuthProviderRequests
|
delete: deleteAuthProviderRequests
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ table:
|
|||||||
name: providers
|
name: providers
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
custom_column_names:
|
column_config: {}
|
||||||
id: id
|
custom_column_names: {}
|
||||||
custom_name: authProviders
|
custom_name: authProviders
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteAuthProviders
|
delete: deleteAuthProviders
|
||||||
@@ -16,10 +16,10 @@ configuration:
|
|||||||
update: updateAuthProviders
|
update: updateAuthProviders
|
||||||
update_by_pk: updateAuthProvider
|
update_by_pk: updateAuthProvider
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userProviders
|
- name: userProviders
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: provider_id
|
column: provider_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -2,6 +2,15 @@ table:
|
|||||||
name: refresh_tokens
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
expires_at:
|
||||||
|
custom_name: expiresAt
|
||||||
|
refresh_token:
|
||||||
|
custom_name: refreshToken
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
expires_at: expiresAt
|
expires_at: expiresAt
|
||||||
@@ -19,6 +28,6 @@ configuration:
|
|||||||
update: updateAuthRefreshTokens
|
update: updateAuthRefreshTokens
|
||||||
update_by_pk: updateAuthRefreshToken
|
update_by_pk: updateAuthRefreshToken
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ table:
|
|||||||
name: roles
|
name: roles
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
custom_column_names:
|
column_config: {}
|
||||||
role: role
|
custom_column_names: {}
|
||||||
custom_name: authRoles
|
custom_name: authRoles
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteAuthRoles
|
delete: deleteAuthRoles
|
||||||
@@ -16,17 +16,17 @@ configuration:
|
|||||||
update: updateAuthRoles
|
update: updateAuthRoles
|
||||||
update_by_pk: updateAuthRole
|
update_by_pk: updateAuthRole
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userRoles
|
- name: userRoles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: role
|
column: role
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: usersByDefaultRole
|
- name: usersByDefaultRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: default_role
|
column: default_role
|
||||||
table:
|
table:
|
||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
table:
|
||||||
|
name: user_authenticators
|
||||||
|
schema: auth
|
||||||
|
configuration:
|
||||||
|
column_config:
|
||||||
|
credential_id:
|
||||||
|
custom_name: credentialId
|
||||||
|
credential_public_key:
|
||||||
|
custom_name: credentialPublicKey
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
|
custom_column_names:
|
||||||
|
credential_id: credentialId
|
||||||
|
credential_public_key: credentialPublicKey
|
||||||
|
user_id: userId
|
||||||
|
custom_name: authUserAuthenticators
|
||||||
|
custom_root_fields:
|
||||||
|
delete: deleteAuthUserAuthenticators
|
||||||
|
delete_by_pk: deleteAuthUserAuthenticator
|
||||||
|
insert: insertAuthUserAuthenticators
|
||||||
|
insert_one: insertAuthUserAuthenticator
|
||||||
|
select: authUserAuthenticators
|
||||||
|
select_aggregate: authUserAuthenticatorsAggregate
|
||||||
|
select_by_pk: authUserAuthenticator
|
||||||
|
update: updateAuthUserAuthenticators
|
||||||
|
update_by_pk: updateAuthUserAuthenticator
|
||||||
|
object_relationships:
|
||||||
|
- name: user
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on: user_id
|
||||||
@@ -2,10 +2,24 @@ table:
|
|||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
access_token:
|
||||||
|
custom_name: accessToken
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
provider_id:
|
||||||
|
custom_name: providerId
|
||||||
|
provider_user_id:
|
||||||
|
custom_name: providerUserId
|
||||||
|
refresh_token:
|
||||||
|
custom_name: refreshToken
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
access_token: accessToken
|
access_token: accessToken
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
id: id
|
|
||||||
provider_id: providerId
|
provider_id: providerId
|
||||||
provider_user_id: providerUserId
|
provider_user_id: providerUserId
|
||||||
refresh_token: refreshToken
|
refresh_token: refreshToken
|
||||||
@@ -23,9 +37,9 @@ configuration:
|
|||||||
update: updateAuthUserProviders
|
update: updateAuthUserProviders
|
||||||
update_by_pk: updateAuthUserProvider
|
update_by_pk: updateAuthUserProvider
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: provider
|
- name: provider
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: provider_id
|
foreign_key_constraint_on: provider_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ table:
|
|||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
id: id
|
|
||||||
role: role
|
|
||||||
user_id: userId
|
user_id: userId
|
||||||
custom_name: authUserRoles
|
custom_name: authUserRoles
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
@@ -19,9 +22,9 @@ configuration:
|
|||||||
update: updateAuthUserRoles
|
update: updateAuthUserRoles
|
||||||
update_by_pk: updateAuthUserRole
|
update_by_pk: updateAuthUserRole
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: roleByRole
|
- name: roleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: role
|
foreign_key_constraint_on: role
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,19 +2,54 @@ table:
|
|||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
active_mfa_type:
|
||||||
|
custom_name: activeMfaType
|
||||||
|
avatar_url:
|
||||||
|
custom_name: avatarUrl
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
default_role:
|
||||||
|
custom_name: defaultRole
|
||||||
|
display_name:
|
||||||
|
custom_name: displayName
|
||||||
|
email_verified:
|
||||||
|
custom_name: emailVerified
|
||||||
|
is_anonymous:
|
||||||
|
custom_name: isAnonymous
|
||||||
|
last_seen:
|
||||||
|
custom_name: lastSeen
|
||||||
|
new_email:
|
||||||
|
custom_name: newEmail
|
||||||
|
otp_hash:
|
||||||
|
custom_name: otpHash
|
||||||
|
otp_hash_expires_at:
|
||||||
|
custom_name: otpHashExpiresAt
|
||||||
|
otp_method_last_used:
|
||||||
|
custom_name: otpMethodLastUsed
|
||||||
|
password_hash:
|
||||||
|
custom_name: passwordHash
|
||||||
|
phone_number:
|
||||||
|
custom_name: phoneNumber
|
||||||
|
phone_number_verified:
|
||||||
|
custom_name: phoneNumberVerified
|
||||||
|
ticket_expires_at:
|
||||||
|
custom_name: ticketExpiresAt
|
||||||
|
totp_secret:
|
||||||
|
custom_name: totpSecret
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
webauthn_current_challenge:
|
||||||
|
custom_name: currentChallenge
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
active_mfa_type: activeMfaType
|
active_mfa_type: activeMfaType
|
||||||
avatar_url: avatarUrl
|
avatar_url: avatarUrl
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
default_role: defaultRole
|
default_role: defaultRole
|
||||||
disabled: disabled
|
|
||||||
display_name: displayName
|
display_name: displayName
|
||||||
email: email
|
|
||||||
email_verified: emailVerified
|
email_verified: emailVerified
|
||||||
id: id
|
|
||||||
is_anonymous: isAnonymous
|
is_anonymous: isAnonymous
|
||||||
last_seen: lastSeen
|
last_seen: lastSeen
|
||||||
locale: locale
|
|
||||||
new_email: newEmail
|
new_email: newEmail
|
||||||
otp_hash: otpHash
|
otp_hash: otpHash
|
||||||
otp_hash_expires_at: otpHashExpiresAt
|
otp_hash_expires_at: otpHashExpiresAt
|
||||||
@@ -22,10 +57,10 @@ configuration:
|
|||||||
password_hash: passwordHash
|
password_hash: passwordHash
|
||||||
phone_number: phoneNumber
|
phone_number: phoneNumber
|
||||||
phone_number_verified: phoneNumberVerified
|
phone_number_verified: phoneNumberVerified
|
||||||
ticket: ticket
|
|
||||||
ticket_expires_at: ticketExpiresAt
|
ticket_expires_at: ticketExpiresAt
|
||||||
totp_secret: totpSecret
|
totp_secret: totpSecret
|
||||||
updated_at: updatedAt
|
updated_at: updatedAt
|
||||||
|
webauthn_current_challenge: currentChallenge
|
||||||
custom_name: users
|
custom_name: users
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteUsers
|
delete: deleteUsers
|
||||||
@@ -33,67 +68,74 @@ configuration:
|
|||||||
insert: insertUsers
|
insert: insertUsers
|
||||||
insert_one: insertUser
|
insert_one: insertUser
|
||||||
select: users
|
select: users
|
||||||
select_aggregate: userAggregate
|
select_aggregate: usersAggregate
|
||||||
select_by_pk: user
|
select_by_pk: user
|
||||||
update: updateUsers
|
update: updateUsers
|
||||||
update_by_pk: updateUser
|
update_by_pk: updateUser
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: defaultRoleByRole
|
- name: defaultRoleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: default_role
|
foreign_key_constraint_on: default_role
|
||||||
- name: profile
|
- name: profile
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: profiles
|
name: profiles
|
||||||
schema: public
|
schema: public
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: refreshTokens
|
- name: authenticators
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: refresh_tokens
|
name: user_authenticators
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: roles
|
- name: refreshTokens
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: userProviders
|
- name: roles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
|
- name: userProviders
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on:
|
||||||
|
column: user_id
|
||||||
|
table:
|
||||||
|
name: user_providers
|
||||||
|
schema: auth
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- avatar_url
|
columns:
|
||||||
- display_name
|
- avatar_url
|
||||||
- id
|
- display_name
|
||||||
filter:
|
- id
|
||||||
profile:
|
filter:
|
||||||
company:
|
profile:
|
||||||
profiles:
|
company:
|
||||||
user_id:
|
profiles:
|
||||||
_eq: X-Hasura-User-Id
|
user_id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
event_triggers:
|
event_triggers:
|
||||||
- definition:
|
- name: users-insert-create-profile
|
||||||
enable_manual: false
|
definition:
|
||||||
insert:
|
enable_manual: false
|
||||||
columns: "*"
|
insert:
|
||||||
headers:
|
columns: '*'
|
||||||
- name: nhost-webhook-secret
|
retry_conf:
|
||||||
value_from_env: NHOST_WEBHOOK_SECRET
|
interval_sec: 10
|
||||||
name: users-insert-create-profile
|
num_retries: 0
|
||||||
retry_conf:
|
timeout_sec: 60
|
||||||
interval_sec: 10
|
webhook: '{{NHOST_BACKEND_URL}}/v1/functions/users/insert/create-profile'
|
||||||
num_retries: 0
|
headers:
|
||||||
timeout_sec: 60
|
- name: nhost-webhook-secret
|
||||||
webhook: "{{NHOST_BACKEND_URL}}/v1/functions/users/insert/create-profile"
|
value_from_env: NHOST_WEBHOOK_SECRET
|
||||||
|
|||||||
@@ -2,41 +2,41 @@ table:
|
|||||||
name: companies
|
name: companies
|
||||||
schema: public
|
schema: public
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: customers
|
- name: customers
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: company_id
|
column: company_id
|
||||||
table:
|
table:
|
||||||
name: customers
|
name: customers
|
||||||
schema: public
|
schema: public
|
||||||
- name: profiles
|
- name: profiles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: company_id
|
column: company_id
|
||||||
table:
|
table:
|
||||||
name: profiles
|
name: profiles
|
||||||
schema: public
|
schema: public
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- id
|
columns:
|
||||||
- created_at
|
- id
|
||||||
- updated_at
|
- created_at
|
||||||
- name
|
- updated_at
|
||||||
- address
|
- name
|
||||||
filter:
|
- address
|
||||||
profiles:
|
filter:
|
||||||
user_id:
|
profiles:
|
||||||
_eq: X-Hasura-User-Id
|
user_id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
update_permissions:
|
update_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
check: null
|
permission:
|
||||||
columns:
|
columns:
|
||||||
- address
|
- address
|
||||||
- name
|
- name
|
||||||
filter:
|
filter:
|
||||||
profiles:
|
profiles:
|
||||||
user_id:
|
user_id:
|
||||||
_eq: X-Hasura-User-Id
|
_eq: X-Hasura-User-Id
|
||||||
role: user
|
check: null
|
||||||
|
|||||||
@@ -2,56 +2,56 @@ table:
|
|||||||
name: customer_comments
|
name: customer_comments
|
||||||
schema: public
|
schema: public
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: customer
|
- name: customer
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: customer_id
|
foreign_key_constraint_on: customer_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: author_user_id
|
foreign_key_constraint_on: author_user_id
|
||||||
insert_permissions:
|
insert_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
backend_only: false
|
permission:
|
||||||
check:
|
check:
|
||||||
customer:
|
customer:
|
||||||
company:
|
company:
|
||||||
profiles:
|
profiles:
|
||||||
user_id:
|
user_id:
|
||||||
_eq: X-Hasura-User-Id
|
_eq: X-Hasura-User-Id
|
||||||
columns:
|
set:
|
||||||
- comment
|
author_user_id: x-hasura-user-id
|
||||||
set:
|
columns:
|
||||||
author_user_id: x-hasura-user-id
|
- comment
|
||||||
role: user
|
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- comment
|
columns:
|
||||||
- created_at
|
- comment
|
||||||
- updated_at
|
- created_at
|
||||||
- author_user_id
|
- updated_at
|
||||||
- customer_id
|
- author_user_id
|
||||||
- id
|
- customer_id
|
||||||
filter:
|
- id
|
||||||
customer:
|
filter:
|
||||||
company:
|
customer:
|
||||||
profiles:
|
company:
|
||||||
user_id:
|
profiles:
|
||||||
_eq: X-Hasura-User-Id
|
user_id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
update_permissions:
|
update_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
check: null
|
permission:
|
||||||
columns:
|
columns:
|
||||||
- comment
|
- comment
|
||||||
filter:
|
filter:
|
||||||
user:
|
user:
|
||||||
id:
|
id:
|
||||||
_eq: X-Hasura-User-Id
|
_eq: X-Hasura-User-Id
|
||||||
role: user
|
check: null
|
||||||
delete_permissions:
|
delete_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
filter:
|
permission:
|
||||||
user:
|
backend_only: false
|
||||||
id:
|
filter:
|
||||||
_eq: X-Hasura-User-Id
|
user:
|
||||||
role: user
|
id:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
|||||||
@@ -2,61 +2,61 @@ table:
|
|||||||
name: customers
|
name: customers
|
||||||
schema: public
|
schema: public
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: company
|
- name: company
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: company_id
|
foreign_key_constraint_on: company_id
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: customer_comments
|
- name: customer_comments
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: customer_id
|
column: customer_id
|
||||||
table:
|
table:
|
||||||
name: customer_comments
|
name: customer_comments
|
||||||
schema: public
|
schema: public
|
||||||
insert_permissions:
|
insert_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
backend_only: false
|
permission:
|
||||||
check:
|
check:
|
||||||
company:
|
company:
|
||||||
profiles:
|
profiles:
|
||||||
user_id:
|
user_id:
|
||||||
_eq: X-Hasura-User-Id
|
_eq: X-Hasura-User-Id
|
||||||
columns:
|
columns:
|
||||||
- address
|
- address
|
||||||
- name
|
- name
|
||||||
role: user
|
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- address
|
columns:
|
||||||
- name
|
- address
|
||||||
- created_at
|
- name
|
||||||
- updated_at
|
- created_at
|
||||||
- company_id
|
- updated_at
|
||||||
- id
|
- company_id
|
||||||
filter:
|
- id
|
||||||
company:
|
filter:
|
||||||
profiles:
|
company:
|
||||||
user_id:
|
profiles:
|
||||||
_eq: X-Hasura-User-Id
|
user_id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
update_permissions:
|
update_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
check: null
|
permission:
|
||||||
columns:
|
columns:
|
||||||
- address
|
- address
|
||||||
- name
|
- name
|
||||||
filter:
|
filter:
|
||||||
company:
|
company:
|
||||||
profiles:
|
profiles:
|
||||||
user_id:
|
user_id:
|
||||||
_eq: X-Hasura-User-Id
|
_eq: X-Hasura-User-Id
|
||||||
role: user
|
check: null
|
||||||
delete_permissions:
|
delete_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
filter:
|
permission:
|
||||||
company:
|
backend_only: false
|
||||||
profiles:
|
filter:
|
||||||
user_id:
|
company:
|
||||||
_eq: X-Hasura-User-Id
|
profiles:
|
||||||
role: user
|
user_id:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
|||||||
@@ -2,6 +2,13 @@ table:
|
|||||||
name: profiles
|
name: profiles
|
||||||
schema: public
|
schema: public
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
company_id:
|
||||||
|
custom_name: companyId
|
||||||
|
id:
|
||||||
|
custom_name: id
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
company_id: companyId
|
company_id: companyId
|
||||||
id: id
|
id: id
|
||||||
@@ -18,21 +25,21 @@ configuration:
|
|||||||
update: updateProfiles
|
update: updateProfiles
|
||||||
update_by_pk: updateProfile
|
update_by_pk: updateProfile
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: company
|
- name: company
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: company_id
|
foreign_key_constraint_on: company_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- id
|
columns:
|
||||||
- user_id
|
- id
|
||||||
- company_id
|
- user_id
|
||||||
filter:
|
- company_id
|
||||||
company:
|
filter:
|
||||||
profiles:
|
company:
|
||||||
user_id:
|
profiles:
|
||||||
_eq: X-Hasura-User-Id
|
user_id:
|
||||||
role: user
|
_eq: X-Hasura-User-Id
|
||||||
|
|||||||
@@ -2,6 +2,23 @@ table:
|
|||||||
name: buckets
|
name: buckets
|
||||||
schema: storage
|
schema: storage
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
cache_control:
|
||||||
|
custom_name: cacheControl
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
download_expiration:
|
||||||
|
custom_name: downloadExpiration
|
||||||
|
id:
|
||||||
|
custom_name: id
|
||||||
|
max_upload_file_size:
|
||||||
|
custom_name: maxUploadFileSize
|
||||||
|
min_upload_file_size:
|
||||||
|
custom_name: minUploadFileSize
|
||||||
|
presigned_urls_enabled:
|
||||||
|
custom_name: presignedUrlsEnabled
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
cache_control: cacheControl
|
cache_control: cacheControl
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
@@ -23,10 +40,10 @@ configuration:
|
|||||||
update: updateBuckets
|
update: updateBuckets
|
||||||
update_by_pk: updateBucket
|
update_by_pk: updateBucket
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: files
|
- name: files
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: bucket_id
|
column: bucket_id
|
||||||
table:
|
table:
|
||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
|
|||||||
@@ -2,6 +2,27 @@ table:
|
|||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
bucket_id:
|
||||||
|
custom_name: bucketId
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
etag:
|
||||||
|
custom_name: etag
|
||||||
|
id:
|
||||||
|
custom_name: id
|
||||||
|
is_uploaded:
|
||||||
|
custom_name: isUploaded
|
||||||
|
mime_type:
|
||||||
|
custom_name: mimeType
|
||||||
|
name:
|
||||||
|
custom_name: name
|
||||||
|
size:
|
||||||
|
custom_name: size
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
uploaded_by_user_id:
|
||||||
|
custom_name: uploadedByUserId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
bucket_id: bucketId
|
bucket_id: bucketId
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
@@ -25,6 +46,6 @@ configuration:
|
|||||||
update: updateFiles
|
update: updateFiles
|
||||||
update_by_pk: updateFile
|
update_by_pk: updateFile
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: bucket
|
- name: bucket
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: bucket_id
|
foreign_key_constraint_on: bucket_id
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
- "!include auth_providers.yaml"
|
- "!include auth_providers.yaml"
|
||||||
- "!include auth_refresh_tokens.yaml"
|
- "!include auth_refresh_tokens.yaml"
|
||||||
- "!include auth_roles.yaml"
|
- "!include auth_roles.yaml"
|
||||||
|
- "!include auth_user_authenticators.yaml"
|
||||||
- "!include auth_user_providers.yaml"
|
- "!include auth_user_providers.yaml"
|
||||||
- "!include auth_user_roles.yaml"
|
- "!include auth_user_roles.yaml"
|
||||||
- "!include auth_users.yaml"
|
- "!include auth_users.yaml"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
disabled_for_roles: []
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -1,15 +1,13 @@
|
|||||||
metadata_directory: metadata
|
metadata_directory: metadata
|
||||||
services:
|
services:
|
||||||
mailhog:
|
|
||||||
port: 8025
|
|
||||||
hasura:
|
hasura:
|
||||||
version: v2.8.0
|
image: hasura/graphql-engine:v2.10.1
|
||||||
environment:
|
environment:
|
||||||
hasura_graphql_enable_remote_schema_permissions: false
|
hasura_graphql_enable_remote_schema_permissions: false
|
||||||
auth:
|
auth:
|
||||||
version: 0.10.0
|
image: nhost/hasura-auth:0.10.0
|
||||||
storage:
|
storage:
|
||||||
version: 0.2.3
|
image: nhost/hasura-storage:0.2.3
|
||||||
auth:
|
auth:
|
||||||
access_control:
|
access_control:
|
||||||
email:
|
email:
|
||||||
@@ -109,10 +107,10 @@ auth:
|
|||||||
from: ''
|
from: ''
|
||||||
messaging_service_id: ''
|
messaging_service_id: ''
|
||||||
smtp:
|
smtp:
|
||||||
host: nhost_mailhog
|
host: mailhog
|
||||||
method: ''
|
method: ''
|
||||||
pass: password
|
pass: password
|
||||||
port: 1807
|
port: 1025
|
||||||
secure: false
|
secure: false
|
||||||
sender: hasura-auth@example.com
|
sender: hasura-auth@example.com
|
||||||
user: user
|
user: user
|
||||||
|
|||||||
1
examples/nextjs/nhost/metadata/api_limits.yaml
Normal file
1
examples/nextjs/nhost/metadata/api_limits.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -2,6 +2,7 @@ table:
|
|||||||
name: provider_requests
|
name: provider_requests
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config: {}
|
||||||
custom_column_names: {}
|
custom_column_names: {}
|
||||||
custom_name: authProviderRequests
|
custom_name: authProviderRequests
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ table:
|
|||||||
name: providers
|
name: providers
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config: {}
|
||||||
custom_column_names: {}
|
custom_column_names: {}
|
||||||
custom_name: authProviders
|
custom_name: authProviders
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
@@ -15,10 +16,10 @@ configuration:
|
|||||||
update: updateAuthProviders
|
update: updateAuthProviders
|
||||||
update_by_pk: updateAuthProvider
|
update_by_pk: updateAuthProvider
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userProviders
|
- name: userProviders
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: provider_id
|
column: provider_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -2,6 +2,15 @@ table:
|
|||||||
name: refresh_tokens
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
expires_at:
|
||||||
|
custom_name: expiresAt
|
||||||
|
refresh_token:
|
||||||
|
custom_name: refreshToken
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
expires_at: expiresAt
|
expires_at: expiresAt
|
||||||
@@ -19,6 +28,6 @@ configuration:
|
|||||||
update: updateAuthRefreshTokens
|
update: updateAuthRefreshTokens
|
||||||
update_by_pk: updateAuthRefreshToken
|
update_by_pk: updateAuthRefreshToken
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ table:
|
|||||||
name: roles
|
name: roles
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config: {}
|
||||||
custom_column_names: {}
|
custom_column_names: {}
|
||||||
custom_name: authRoles
|
custom_name: authRoles
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
@@ -15,17 +16,17 @@ configuration:
|
|||||||
update: updateAuthRoles
|
update: updateAuthRoles
|
||||||
update_by_pk: updateAuthRole
|
update_by_pk: updateAuthRole
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: userRoles
|
- name: userRoles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: role
|
column: role
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: usersByDefaultRole
|
- name: usersByDefaultRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: default_role
|
column: default_role
|
||||||
table:
|
table:
|
||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
table:
|
||||||
|
name: user_authenticators
|
||||||
|
schema: auth
|
||||||
|
configuration:
|
||||||
|
column_config:
|
||||||
|
credential_id:
|
||||||
|
custom_name: credentialId
|
||||||
|
credential_public_key:
|
||||||
|
custom_name: credentialPublicKey
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
|
custom_column_names:
|
||||||
|
credential_id: credentialId
|
||||||
|
credential_public_key: credentialPublicKey
|
||||||
|
user_id: userId
|
||||||
|
custom_name: authUserAuthenticators
|
||||||
|
custom_root_fields:
|
||||||
|
delete: deleteAuthUserAuthenticators
|
||||||
|
delete_by_pk: deleteAuthUserAuthenticator
|
||||||
|
insert: insertAuthUserAuthenticators
|
||||||
|
insert_one: insertAuthUserAuthenticator
|
||||||
|
select: authUserAuthenticators
|
||||||
|
select_aggregate: authUserAuthenticatorsAggregate
|
||||||
|
select_by_pk: authUserAuthenticator
|
||||||
|
update: updateAuthUserAuthenticators
|
||||||
|
update_by_pk: updateAuthUserAuthenticator
|
||||||
|
object_relationships:
|
||||||
|
- name: user
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on: user_id
|
||||||
@@ -2,6 +2,21 @@ table:
|
|||||||
name: user_providers
|
name: user_providers
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
access_token:
|
||||||
|
custom_name: accessToken
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
provider_id:
|
||||||
|
custom_name: providerId
|
||||||
|
provider_user_id:
|
||||||
|
custom_name: providerUserId
|
||||||
|
refresh_token:
|
||||||
|
custom_name: refreshToken
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
access_token: accessToken
|
access_token: accessToken
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
@@ -22,9 +37,9 @@ configuration:
|
|||||||
update: updateAuthUserProviders
|
update: updateAuthUserProviders
|
||||||
update_by_pk: updateAuthUserProvider
|
update_by_pk: updateAuthUserProvider
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: provider
|
- name: provider
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: provider_id
|
foreign_key_constraint_on: provider_id
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,6 +2,11 @@ table:
|
|||||||
name: user_roles
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
user_id: userId
|
user_id: userId
|
||||||
@@ -17,9 +22,9 @@ configuration:
|
|||||||
update: updateAuthUserRoles
|
update: updateAuthUserRoles
|
||||||
update_by_pk: updateAuthUserRole
|
update_by_pk: updateAuthUserRole
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: roleByRole
|
- name: roleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: role
|
foreign_key_constraint_on: role
|
||||||
- name: user
|
- name: user
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: user_id
|
foreign_key_constraint_on: user_id
|
||||||
|
|||||||
@@ -2,6 +2,45 @@ table:
|
|||||||
name: users
|
name: users
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
active_mfa_type:
|
||||||
|
custom_name: activeMfaType
|
||||||
|
avatar_url:
|
||||||
|
custom_name: avatarUrl
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
default_role:
|
||||||
|
custom_name: defaultRole
|
||||||
|
display_name:
|
||||||
|
custom_name: displayName
|
||||||
|
email_verified:
|
||||||
|
custom_name: emailVerified
|
||||||
|
is_anonymous:
|
||||||
|
custom_name: isAnonymous
|
||||||
|
last_seen:
|
||||||
|
custom_name: lastSeen
|
||||||
|
new_email:
|
||||||
|
custom_name: newEmail
|
||||||
|
otp_hash:
|
||||||
|
custom_name: otpHash
|
||||||
|
otp_hash_expires_at:
|
||||||
|
custom_name: otpHashExpiresAt
|
||||||
|
otp_method_last_used:
|
||||||
|
custom_name: otpMethodLastUsed
|
||||||
|
password_hash:
|
||||||
|
custom_name: passwordHash
|
||||||
|
phone_number:
|
||||||
|
custom_name: phoneNumber
|
||||||
|
phone_number_verified:
|
||||||
|
custom_name: phoneNumberVerified
|
||||||
|
ticket_expires_at:
|
||||||
|
custom_name: ticketExpiresAt
|
||||||
|
totp_secret:
|
||||||
|
custom_name: totpSecret
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
webauthn_current_challenge:
|
||||||
|
custom_name: currentChallenge
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
active_mfa_type: activeMfaType
|
active_mfa_type: activeMfaType
|
||||||
avatar_url: avatarUrl
|
avatar_url: avatarUrl
|
||||||
@@ -21,6 +60,7 @@ configuration:
|
|||||||
ticket_expires_at: ticketExpiresAt
|
ticket_expires_at: ticketExpiresAt
|
||||||
totp_secret: totpSecret
|
totp_secret: totpSecret
|
||||||
updated_at: updatedAt
|
updated_at: updatedAt
|
||||||
|
webauthn_current_challenge: currentChallenge
|
||||||
custom_name: users
|
custom_name: users
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteUsers
|
delete: deleteUsers
|
||||||
@@ -33,28 +73,35 @@ configuration:
|
|||||||
update: updateUsers
|
update: updateUsers
|
||||||
update_by_pk: updateUser
|
update_by_pk: updateUser
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: defaultRoleByRole
|
- name: defaultRoleByRole
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: default_role
|
foreign_key_constraint_on: default_role
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: refreshTokens
|
- name: authenticators
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: refresh_tokens
|
name: user_authenticators
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: roles
|
- name: refreshTokens
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_roles
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
- name: userProviders
|
- name: roles
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: user_id
|
column: user_id
|
||||||
table:
|
table:
|
||||||
name: user_providers
|
name: user_roles
|
||||||
schema: auth
|
schema: auth
|
||||||
|
- name: userProviders
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on:
|
||||||
|
column: user_id
|
||||||
|
table:
|
||||||
|
name: user_providers
|
||||||
|
schema: auth
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ table:
|
|||||||
name: books
|
name: books
|
||||||
schema: public
|
schema: public
|
||||||
select_permissions:
|
select_permissions:
|
||||||
- permission:
|
- role: user
|
||||||
columns:
|
permission:
|
||||||
- id
|
columns:
|
||||||
- title
|
- id
|
||||||
filter: {}
|
- title
|
||||||
role: user
|
filter: {}
|
||||||
|
|||||||
@@ -2,6 +2,23 @@ table:
|
|||||||
name: buckets
|
name: buckets
|
||||||
schema: storage
|
schema: storage
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
cache_control:
|
||||||
|
custom_name: cacheControl
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
download_expiration:
|
||||||
|
custom_name: downloadExpiration
|
||||||
|
id:
|
||||||
|
custom_name: id
|
||||||
|
max_upload_file_size:
|
||||||
|
custom_name: maxUploadFileSize
|
||||||
|
min_upload_file_size:
|
||||||
|
custom_name: minUploadFileSize
|
||||||
|
presigned_urls_enabled:
|
||||||
|
custom_name: presignedUrlsEnabled
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
cache_control: cacheControl
|
cache_control: cacheControl
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
@@ -23,10 +40,10 @@ configuration:
|
|||||||
update: updateBuckets
|
update: updateBuckets
|
||||||
update_by_pk: updateBucket
|
update_by_pk: updateBucket
|
||||||
array_relationships:
|
array_relationships:
|
||||||
- name: files
|
- name: files
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on:
|
foreign_key_constraint_on:
|
||||||
column: bucket_id
|
column: bucket_id
|
||||||
table:
|
table:
|
||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
|
|||||||
@@ -2,6 +2,27 @@ table:
|
|||||||
name: files
|
name: files
|
||||||
schema: storage
|
schema: storage
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
bucket_id:
|
||||||
|
custom_name: bucketId
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
etag:
|
||||||
|
custom_name: etag
|
||||||
|
id:
|
||||||
|
custom_name: id
|
||||||
|
is_uploaded:
|
||||||
|
custom_name: isUploaded
|
||||||
|
mime_type:
|
||||||
|
custom_name: mimeType
|
||||||
|
name:
|
||||||
|
custom_name: name
|
||||||
|
size:
|
||||||
|
custom_name: size
|
||||||
|
updated_at:
|
||||||
|
custom_name: updatedAt
|
||||||
|
uploaded_by_user_id:
|
||||||
|
custom_name: uploadedByUserId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
bucket_id: bucketId
|
bucket_id: bucketId
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
@@ -25,6 +46,6 @@ configuration:
|
|||||||
update: updateFiles
|
update: updateFiles
|
||||||
update_by_pk: updateFile
|
update_by_pk: updateFile
|
||||||
object_relationships:
|
object_relationships:
|
||||||
- name: bucket
|
- name: bucket
|
||||||
using:
|
using:
|
||||||
foreign_key_constraint_on: bucket_id
|
foreign_key_constraint_on: bucket_id
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
- "!include auth_providers.yaml"
|
- "!include auth_providers.yaml"
|
||||||
- "!include auth_refresh_tokens.yaml"
|
- "!include auth_refresh_tokens.yaml"
|
||||||
- "!include auth_roles.yaml"
|
- "!include auth_roles.yaml"
|
||||||
|
- "!include auth_user_authenticators.yaml"
|
||||||
- "!include auth_user_providers.yaml"
|
- "!include auth_user_providers.yaml"
|
||||||
- "!include auth_user_roles.yaml"
|
- "!include auth_user_roles.yaml"
|
||||||
- "!include auth_users.yaml"
|
- "!include auth_users.yaml"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
disabled_for_roles: []
|
||||||
1
examples/nextjs/nhost/metadata/inherited_roles.yaml
Normal file
1
examples/nextjs/nhost/metadata/inherited_roles.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
1
examples/nextjs/nhost/metadata/network.yaml
Normal file
1
examples/nextjs/nhost/metadata/network.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
metadata_directory: metadata
|
metadata_directory: metadata
|
||||||
services:
|
services:
|
||||||
hasura:
|
hasura:
|
||||||
version: v2.8.0
|
image: hasura/graphql-engine:v2.10.1
|
||||||
environment:
|
environment:
|
||||||
hasura_graphql_enable_remote_schema_permissions: true
|
hasura_graphql_enable_remote_schema_permissions: false
|
||||||
auth:
|
auth:
|
||||||
version: 0.10.0
|
image: nhost/hasura-auth:0.10.0
|
||||||
storage:
|
storage:
|
||||||
version: 0.2.3
|
image: nhost/hasura-storage:0.2.3
|
||||||
auth:
|
auth:
|
||||||
access_control:
|
access_control:
|
||||||
email:
|
email:
|
||||||
@@ -109,10 +109,10 @@ auth:
|
|||||||
from: ''
|
from: ''
|
||||||
messaging_service_id: ''
|
messaging_service_id: ''
|
||||||
smtp:
|
smtp:
|
||||||
host: nhost_mailhog
|
host: mailhog
|
||||||
method: ''
|
method: ''
|
||||||
pass: password
|
pass: password
|
||||||
port: 1586
|
port: 1025
|
||||||
secure: false
|
secure: false
|
||||||
sender: hasura-auth@example.com
|
sender: hasura-auth@example.com
|
||||||
user: user
|
user: user
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
type Mutation {
|
type Mutation {
|
||||||
actionName(arg1: SampleInput!): SampleOutput
|
actionName(
|
||||||
|
arg1: SampleInput!
|
||||||
|
): SampleOutput
|
||||||
}
|
}
|
||||||
|
|
||||||
input SampleInput {
|
input SampleInput {
|
||||||
@@ -10,3 +12,4 @@ input SampleInput {
|
|||||||
type SampleOutput {
|
type SampleOutput {
|
||||||
accessToken: String!
|
accessToken: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
1
examples/react-apollo-crm/nhost/metadata/api_limits.yaml
Normal file
1
examples/react-apollo-crm/nhost/metadata/api_limits.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -11,4 +11,4 @@
|
|||||||
max_connections: 50
|
max_connections: 50
|
||||||
retries: 20
|
retries: 20
|
||||||
use_prepared_statements: true
|
use_prepared_statements: true
|
||||||
tables: '!include default/tables/tables.yaml'
|
tables: "!include default/tables/tables.yaml"
|
||||||
|
|||||||
@@ -2,9 +2,8 @@ table:
|
|||||||
name: provider_requests
|
name: provider_requests
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
custom_column_names:
|
column_config: {}
|
||||||
id: id
|
custom_column_names: {}
|
||||||
redirect_url: redirectUrl
|
|
||||||
custom_name: authProviderRequests
|
custom_name: authProviderRequests
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteAuthProviderRequests
|
delete: deleteAuthProviderRequests
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ table:
|
|||||||
name: providers
|
name: providers
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
custom_column_names:
|
column_config: {}
|
||||||
id: id
|
custom_column_names: {}
|
||||||
custom_name: authProviders
|
custom_name: authProviders
|
||||||
custom_root_fields:
|
custom_root_fields:
|
||||||
delete: deleteAuthProviders
|
delete: deleteAuthProviders
|
||||||
|
|||||||
@@ -2,6 +2,15 @@ table:
|
|||||||
name: refresh_tokens
|
name: refresh_tokens
|
||||||
schema: auth
|
schema: auth
|
||||||
configuration:
|
configuration:
|
||||||
|
column_config:
|
||||||
|
created_at:
|
||||||
|
custom_name: createdAt
|
||||||
|
expires_at:
|
||||||
|
custom_name: expiresAt
|
||||||
|
refresh_token:
|
||||||
|
custom_name: refreshToken
|
||||||
|
user_id:
|
||||||
|
custom_name: userId
|
||||||
custom_column_names:
|
custom_column_names:
|
||||||
created_at: createdAt
|
created_at: createdAt
|
||||||
expires_at: expiresAt
|
expires_at: expiresAt
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user