Compare commits

..

28 Commits

Author SHA1 Message Date
Johan Eliasson
293bdc3f1c Merge pull request #892 from nhost/changeset-release/main
chore: update versions
2022-08-23 08:55:17 +02:00
github-actions[bot]
b670dc396b chore: update versions 2022-08-22 20:19:44 +00:00
Pilou
88800ba4b4 Merge pull request #786 from nhost/feature/fallback-to-1337
Use :1337 if no port is specified when using "localhost"
2022-08-22 22:18:01 +02:00
Johan Eliasson
d412669c86 removed pnpm lock files in examples 2022-08-22 22:01:03 +02:00
Johan Eliasson
8600acb6f2 Merge branch 'main' into feature/fallback-to-1337 2022-08-22 21:57:31 +02:00
Johan Eliasson
0e2e2344f2 Merge pull request #891 from nhost/fix-cli-update
CLI update fixes
2022-08-22 21:55:51 +02:00
Johan Eliasson
8a91673242 removed pnpm lock files in examples 2022-08-22 21:41:42 +02:00
Pierre-Louis Mercereau
63f27235be refactor: adapt sync-versions to the new cli 2022-08-22 21:34:53 +02:00
Johan Eliasson
7feadbe55d nhost cli updates 2022-08-22 21:25:19 +02:00
Johan Eliasson
98e5680f48 nhost-js package updated 2022-08-22 20:46:07 +02:00
Johan Eliasson
8d6ebf9032 updated config 2022-08-22 20:35:52 +02:00
Johan Eliasson
9feea987e6 remove tmp cypress folders 2022-08-22 20:25:16 +02:00
Johan Eliasson
c2d77bbb7c updated example with latest CLI 2022-08-22 20:18:46 +02:00
Johan Eliasson
4468654054 new config for new cli 2022-08-22 19:55:41 +02:00
Johan Eliasson
998291ea9d correct subdomain 2022-08-22 19:35:07 +02:00
Johan Eliasson
eb46f7d8b7 Create great-adults-compare.md 2022-08-22 19:33:32 +02:00
Johan Eliasson
7bc11a1985 subdomain don't need 1337 2022-08-22 19:31:58 +02:00
Johan Eliasson
0fadc0d3da code + nhost cli updates 2022-08-22 19:26:38 +02:00
Johan Eliasson
814856da0d Merge branch 'main' into feature/fallback-to-1337 2022-08-22 18:43:08 +02:00
Johan Eliasson
1bf5114d6b updates 2022-08-22 18:42:28 +02:00
Johan Eliasson
ed618e0c41 Merge pull request #887 from nhost/remove-templates
Remove templates
2022-08-22 18:14:11 +02:00
Pilou
8a272b5b72 Merge pull request #883 from nhost/docker-email-templates
docs: add email templates to docker-compose, and remove obsolete example
2022-08-22 16:53:43 +02:00
Johan Eliasson
2a0107db55 removed mentions of templates/ 2022-08-22 16:46:36 +02:00
Johan Eliasson
48a90c4f69 remove templates 2022-08-19 13:02:03 +02:00
Pilou
686d3f1b09 Merge pull request #884 from nhost/bump-hasura-2.10.1
Bump hasura version to 2.10.1
2022-08-17 17:59:24 +02:00
Pierre-Louis Mercereau
6b4b4a5798 chore: bump hasura version to 2.10.1 2022-08-17 08:27:59 +02:00
Pierre-Louis Mercereau
3a14b90557 docs: add email templates to docker-compose, and remove obsolete example
the `custom-email-templates` is obsolete as it is now possible to deploy templates with the Nhost GH
integration
2022-08-16 11:02:26 +02:00
Nuno Pato
5485d48ce5 Use :1337 if no port is specified when using "localhost" 2022-07-04 00:14:46 +00:00
229 changed files with 1810 additions and 65625 deletions

View File

@@ -5,7 +5,6 @@ on:
branches: [main] branches: [main]
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- 'templates/**'
- 'examples/**' - 'examples/**'
- 'assets/**' - 'assets/**'
- '**.md' - '**.md'

View File

@@ -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'

View File

@@ -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

View File

@@ -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

View File

@@ -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?

View File

@@ -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/).
![Hasura Console](/img/architecture/cli/hasura-console.png) ![Hasura Console](/img/architecture/cli/hasura-console.png)

View File

@@ -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",

View File

@@ -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

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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: {}

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -0,0 +1 @@
disabled_for_roles: []

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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: {}

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1 @@
disabled_for_roles: []

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1 @@
{}

View File

@@ -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).

View File

@@ -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

View File

@@ -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}">

View File

@@ -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}">

View File

@@ -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}">

View File

@@ -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}">

View File

@@ -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}">

View File

@@ -6,7 +6,7 @@
</head> </head>
<body> <body>
<h2>V&eacute;rifiez votre courriel (custom template)</h2> <h2>V&eacute;rifiez votre courriel</h2>
<p>Utilisez ce lien pour v&eacute;rifier votre courriel:</p> <p>Utilisez ce lien pour v&eacute;rifier votre courriel:</p>
<p> <p>
<a href="${link}"> <a href="${link}">

View File

@@ -6,7 +6,7 @@
</head> </head>
<body> <body>
<h2>R&eacute;initializer votre mot de passe (custom template)</h2> <h2>R&eacute;initializer votre mot de passe</h2>
<p>Utilisez ce lien pour r&eacute;initializer votre mot de passe:</p> <p>Utilisez ce lien pour r&eacute;initializer votre mot de passe:</p>
<p> <p>
<a href="${link}"> <a href="${link}">

View File

@@ -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&ccedil;on s&eacute;curitaire:</p> <p>Utilisez ce lien pour vous connecter de fa&ccedil;on s&eacute;curitaire:</p>
<p> <p>
<a href="${link}"> <a href="${link}">

View File

@@ -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

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -0,0 +1 @@
disabled_for_roles: []

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -0,0 +1 @@
{}

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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: {}

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -0,0 +1 @@
disabled_for_roles: []

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1 @@
{}

View File

@@ -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

View File

@@ -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!
} }

View File

@@ -0,0 +1 @@
{}

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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