Compare commits

...

570 Commits

Author SHA1 Message Date
Szilárd Dóró
9871bd42e0 Merge pull request #863 from nhost/changeset-release/main
chore: update versions
2022-08-10 10:26:48 +02:00
github-actions[bot]
7982702e26 chore: update versions 2022-08-09 06:53:50 +00:00
Johan Eliasson
7e21fe5c2b Merge pull request #871 from nhost/use-project-wording
Terminology: app -> project
2022-08-09 08:52:17 +02:00
Johan Eliasson
cc4d2ee81a Merge pull request #872 from nhost/storage-fixes-123iygasd
Storage typos
2022-08-05 18:06:37 +02:00
Johan Eliasson
a96adbcd9d sotrage typos 2022-08-05 16:23:35 +02:00
Johan Eliasson
f1ad4a37db u 2022-08-05 11:23:53 +02:00
Johan Eliasson
83b4f7c0eb project overview 2022-08-05 11:18:07 +02:00
Johan Eliasson
45fd0669ee updates 2022-08-05 11:14:33 +02:00
Johan Eliasson
d20add9329 update 2022-08-05 10:08:29 +02:00
Johan Eliasson
58854835e0 upadtes 2022-08-05 10:07:04 +02:00
Johan Eliasson
88a6f3f500 typo 2022-08-05 10:03:49 +02:00
Johan Eliasson
8336e53931 package updates 2022-08-05 10:01:03 +02:00
Johan Eliasson
674fd66922 more updates 2022-08-05 09:55:10 +02:00
Johan Eliasson
fc94bfdd66 app -> project 2022-08-05 08:33:53 +02:00
Johan Eliasson
f299578d69 Merge pull request #868 from nhost/contributors-readme-action-DOCBwXss13
contributors readme action update
2022-08-02 20:42:55 +02:00
github-actions[bot]
221032f087 contrib-readme-action has updated readme 2022-08-02 18:42:13 +00:00
Johan Eliasson
72799762c9 Merge pull request #842 from nhost/example/react-query
GraphQL Code Generator with React Query
2022-08-02 20:41:54 +02:00
Johan Eliasson
6464584d71 updated to react query v4 2022-08-02 20:23:20 +02:00
Johan Eliasson
7ca196955a Merge branch 'main' into example/react-query 2022-08-02 20:08:09 +02:00
Johan Eliasson
90b84ea8c4 Update examples/codegen-react-query/README.md
Co-authored-by: Guido Curcio <guidomaurocurcio@gmail.com>
2022-07-31 09:53:51 +02:00
Johan Eliasson
7ca3c42d23 Apply suggestions from code review
Co-authored-by: Guido Curcio <guidomaurocurcio@gmail.com>
2022-07-31 09:53:42 +02:00
Nuno Pato
bb10741334 Merge pull request #860 from nhost/fix/update-wrong-docs
fix docs
2022-07-28 17:48:26 +00:00
Nuno Pato
50293e7dd8 fix messaging around the folder structure created by nhost init 2022-07-28 17:39:06 +00:00
Nuno Pato
bebe65c4c5 remove -n from --remote 2022-07-28 17:33:15 +00:00
Szilárd Dóró
e2f5cfe9c0 Merge pull request #861 from nhost/contributors-readme-action-NCWsLhOUvy
contributors readme action update
2022-07-28 16:09:52 +02:00
github-actions[bot]
cac64f70c4 contrib-readme-action has updated readme 2022-07-28 14:09:18 +00:00
Szilárd Dóró
302e0aa1e0 Merge pull request #850 from mdp18/docs/js-passwordless-clarify
Update for reference docs 02-sign-in.mdx
2022-07-28 16:08:59 +02:00
Szilárd Dóró
e6a44dc008 chore: auto-generated documentation updates 2022-07-28 14:48:29 +02:00
Szilárd Dóró
93cc6920b6 added changesets 2022-07-28 14:47:15 +02:00
Nuno Pato
4c6e9c7839 fix docs 2022-07-28 11:44:41 +00:00
Max
f4a1eef3d4 fix 2
reversed mdx file and added fix to hasura-auth-client
2022-07-25 13:24:24 -07:00
Szilárd Dóró
2766875ff7 Merge pull request #852 from LucasBois1/patch-1
Typo fix storage.mdx
2022-07-25 15:21:19 +02:00
Lucas Bois
ea61275404 Typo fix storage.mdx 2022-07-23 10:47:01 -03:00
Max
1191cb4fd8 Update 02-sign-in.mdx 2022-07-22 15:10:29 -07:00
Pilou
f6e1517a7a Merge pull request #843 from nhost/contributors-readme-action-O05tbtr6_i
contributors readme action update
2022-07-19 11:11:07 +02:00
github-actions[bot]
e15cb8b798 contrib-readme-action has updated readme 2022-07-19 08:43:33 +00:00
Pilou
024f026241 Merge pull request #839 from nhost/changeset-release/main
chore: update versions
2022-07-19 10:43:17 +02:00
Johan Eliasson
736b0512da meta updates 2022-07-19 10:22:45 +02:00
Pierre-Louis Mercereau
a422a4850d chore: correct peer deps bumps 2022-07-19 09:54:46 +02:00
github-actions[bot]
a7e67979fe chore: update versions 2022-07-19 07:48:08 +00:00
Pilou
1dcbf268db Merge pull request #820 from nhost/feat/sms-hook-and-composable
feat: useSignInSmsPasswordless
2022-07-19 09:47:05 +02:00
Pilou
5c5d489740 Merge pull request #841 from nhost/contributors-readme-action-mLUJqJcCpL
contributors readme action update
2022-07-19 09:46:51 +02:00
github-actions[bot]
a2559e3482 contrib-readme-action has updated readme 2022-07-19 07:46:19 +00:00
Pilou
bbef104a85 Merge pull request #840 from nhost/contributors-readme-action-MWLllvW8wS
contributors readme action update
2022-07-19 09:46:05 +02:00
github-actions[bot]
7843b1aec1 contrib-readme-action has updated readme 2022-07-19 07:41:45 +00:00
Pilou
4711bfa8ec Merge pull request #679 from Svarto/feat/changePassword-with-ticket
included an optional ticket in changePassword function to allow for c…
2022-07-19 09:41:27 +02:00
Pilou
6f3f8a5020 Merge pull request #838 from nhost/fix-providers
added twitch as provider
2022-07-19 09:38:32 +02:00
Pilou
a120bcc8fc Merge pull request #828 from dminkovsky/dminkovsky/fix-react-native-build
Fix React Native build
2022-07-19 09:36:02 +02:00
Johan Eliasson
53e20e87f3 Revert "Create stale-bags-design.md"
This reverts commit 9479aeb596.
2022-07-19 09:18:24 +02:00
Johan Eliasson
9479aeb596 Create stale-bags-design.md 2022-07-19 09:10:25 +02:00
Pilou
c4f11af072 Merge pull request #837 from nhost/contributors-readme-action-ZK2-b_IYkd
contributors readme action update
2022-07-19 09:07:47 +02:00
Johan Eliasson
747aa96914 Create dry-radios-allow.md 2022-07-19 09:07:43 +02:00
Johan Eliasson
5682d92592 added twitch as provider 2022-07-19 09:06:51 +02:00
github-actions[bot]
2cf6556499 contrib-readme-action has updated readme 2022-07-19 07:06:07 +00:00
Johan Eliasson
89553fcaf6 Merge pull request #830 from QuestGiverOrg/main
Add discord to provider types
2022-07-19 09:05:48 +02:00
Johan Eliasson
10beea7246 Create nine-students-design.md 2022-07-19 09:03:06 +02:00
Johan Eliasson
1334ddb693 added package.json export for all npm packages 2022-07-19 09:02:23 +02:00
Pilou
d212128815 Merge pull request #829 from nhost/changeset-release/main
chore: update versions
2022-07-16 15:22:46 +02:00
Gavan Wilhite
302c28b202 Merge pull request #1 from QuestGiverOrg/Adding-discord-to-provider-type
Added discord to provider type
2022-07-15 13:28:45 -07:00
Gavan Wilhite
f3f760b987 Added discord to provider type 2022-07-15 13:24:32 -07:00
github-actions[bot]
9d9caf9834 chore: update versions 2022-07-15 20:20:38 +00:00
Pilou
96cbf023ca Merge pull request #824 from nhost/docs/react-apollo-example-improvements
React Apollo example improvements
2022-07-15 22:19:01 +02:00
Pierre-Louis Mercereau
1ed534cb4a Merge branch 'main' into docs/react-apollo-example-improvements 2022-07-15 22:06:07 +02:00
Pilou
dcdee0b426 Merge pull request #819 from nhost/docs/vue-example-improvements
Vue example improvements
2022-07-15 22:02:58 +02:00
Pierre-Louis Mercereau
e31f4756b4 fix(vue-example): disabled & loading buttons 2022-07-15 20:13:44 +02:00
Pierre-Louis Mercereau
259e198d80 fix(react-apollo-example): fixed logo width 2022-07-15 19:45:22 +02:00
Pierre-Louis Mercereau
1d10a47414 fix(react-apollo-example): fit image logo 2022-07-15 19:42:37 +02:00
Dmitry Minkovsky
34470ff6e0 Fix React Native build fail 2022-07-15 12:11:18 -04:00
Pierre-Louis Mercereau
f30d6779bb chore: bump @apollo/client to v3.6.9 2022-07-15 15:55:29 +02:00
Pierre-Louis Mercereau
2a3b2c3af5 Merge branch 'main' into docs/vue-example-improvements 2022-07-15 15:39:38 +02:00
Pierre-Louis Mercereau
a0db6b58de chore: add hasura-auth 0.10 metadata 2022-07-15 12:06:08 +02:00
Pierre-Louis Mercereau
523d52aa7f Merge branch 'main' into docs/react-apollo-example-improvements 2022-07-15 11:48:41 +02:00
Pierre-Louis Mercereau
6e1ee1802d docs: explicit pnpm run 2022-07-15 11:45:45 +02:00
Pierre-Louis Mercereau
51ad1eb355 fix(react-apollo-example): qrcode img by alttext 2022-07-15 11:39:22 +02:00
Johan Eliasson
ee2dd8481b Merge pull request #825 from nhost/changeset-release/main
chore: update versions
2022-07-15 11:21:12 +02:00
github-actions[bot]
b8e787cb47 chore: update versions 2022-07-15 09:18:40 +00:00
Johan Eliasson
2ef5c238c1 Merge pull request #823 from nhost/patch/cookies
patch: Using same cookie package and made sure cookies are not becoming session cookies
2022-07-15 11:17:04 +02:00
Pierre-Louis Mercereau
e084643032 docs: correct readme 2022-07-15 11:11:35 +02:00
Pierre-Louis Mercereau
5514e81186 docs: update readme 2022-07-15 11:10:44 +02:00
Pierre-Louis Mercereau
16f38aa893 docs(example): update readme instructions 2022-07-15 11:09:08 +02:00
Pierre-Louis Mercereau
76c6e8d0d6 feat(react-apollo-example): improve navbar & index 2022-07-15 10:33:27 +02:00
Johan Eliasson
197d1d5cfc Create lovely-windows-accept.md 2022-07-15 10:03:25 +02:00
Johan Eliasson
abd43d0a8b typo 2022-07-15 09:49:03 +02:00
Johan Eliasson
70383c8c80 same cookie lib + added expires prop to avoid cookie being destroyed 2022-07-15 09:45:19 +02:00
Pierre-Louis Mercereau
a7d5c85f60 fix(example): hide nav drawer on small screens 2022-07-15 09:35:28 +02:00
Pierre-Louis Mercereau
bc657251d6 fix: remove refresh token from the url 2022-07-14 22:07:59 +02:00
Pierre-Louis Mercereau
5abc362a4d fix(example): close magic link sent dialog 2022-07-14 15:10:11 +02:00
Pierre-Louis Mercereau
7a4c9fa806 refactor(example): use form submit 2022-07-14 15:06:57 +02:00
Pierre-Louis Mercereau
348318d709 feat(example): add dialog after magic link is sent 2022-07-14 14:48:30 +02:00
Pierre-Louis Mercereau
4e4600d769 refactor: improve readability 2022-07-14 09:13:55 +02:00
Pierre-Louis Mercereau
44d57d4b89 refactor: from comments 2022-07-14 09:04:16 +02:00
Pierre-Louis Mercereau
84ba29dd7f feat: useSignInSmsPasswordless 2022-07-13 20:39:17 +02:00
Pierre-Louis Mercereau
b5f7f7fe5f refactor(example): toast errors on top of window 2022-07-13 19:45:38 +02:00
Pierre-Louis Mercereau
7116a4df8a refactor(example): misc improvements 2022-07-13 19:39:11 +02:00
Pierre-Louis Mercereau
7e4c52dbd1 feat(example): add title and GitHub link 2022-07-13 17:20:55 +02:00
Pierre-Louis Mercereau
446dc01bde feat(example): toast anonymous user errors 2022-07-13 17:07:25 +02:00
Pierre-Louis Mercereau
a1989c51f8 feat(example): enable anonymous users in the backend 2022-07-13 17:00:59 +02:00
Pierre-Louis Mercereau
1383de558a feat(example): add email verification dialog on sign-in 2022-07-13 17:00:39 +02:00
Pierre-Louis Mercereau
d828107f74 fix(example): remove "return" from previous "setup()" syntax 2022-07-13 16:43:10 +02:00
Pierre-Louis Mercereau
4a1650cb35 refactor(example): use the template "setup" syntax 2022-07-13 16:37:23 +02:00
Pierre-Louis Mercereau
913651d440 feat(example): add "verification email sent" dialog 2022-07-13 16:29:40 +02:00
Pierre-Louis Mercereau
6af2d52666 chore(vue): bump dependencies 2022-07-13 15:52:12 +02:00
Pilou
da7c2a2362 Merge pull request #818 from nhost/chore/hasura-storage-0.2.3
chore: bump hasura-storage version to 0.2.3
2022-07-13 15:25:04 +02:00
Pierre-Louis Mercereau
4a7940b59a chore: bump hasura-storage version to 0.2.3 2022-07-13 15:10:39 +02:00
Pilou
ddda8bb031 Merge pull request #817 from nhost/chore/hasura-auth-0.10.0
chore: bump hasura-auth version to 0.10.0
2022-07-13 13:28:52 +02:00
Pierre-Louis Mercereau
b146e60f7e chore: bump hasura-auth version to 0.10.0 2022-07-13 11:02:40 +02:00
Pilou
5591789840 Merge pull request #816 from nhost/contributors-readme-action-wpdtyjiZOQ
contributors readme action update
2022-07-13 10:12:05 +02:00
github-actions[bot]
fac5ddb866 contrib-readme-action has updated readme 2022-07-13 05:09:22 +00:00
Johan Eliasson
f2fab8dac2 Merge pull request #784 from nachoaldamav/patch-1
docs: Add "redirectTo" to provider sign-in
2022-07-13 07:09:03 +02:00
Pilou
6e3f2c382d Merge pull request #807 from nhost/doc/vue-live-example
fix: wrong package name
2022-07-07 17:53:51 +02:00
Pilou
05385d01dc Merge pull request #809 from nhost/contributors-readme-action-l3DsL6Hz69
contributors readme action update
2022-07-07 16:37:59 +02:00
github-actions[bot]
7ea72b799c contrib-readme-action has updated readme 2022-07-07 14:10:36 +00:00
Pilou
4936261cee Merge pull request #808 from nhost/docs/docker-functions
refactor: use nhost/functions docker image
2022-07-07 16:09:10 +02:00
Pierre-Louis Mercereau
80902b9cf1 refactor: use nhost/functions docker image 2022-07-07 15:53:30 +02:00
Pierre-Louis Mercereau
c3af490e67 fix: wrong package name 2022-07-07 14:32:13 +02:00
Pilou
6a24e32857 Merge pull request #806 from nhost/doc/vue-live-example
Vue example: add env var deps in turborepo
2022-07-07 14:21:38 +02:00
Pierre-Louis Mercereau
0ebddd30cf ci: add env var deps in turborepo 2022-07-07 14:17:11 +02:00
Johan Eliasson
d019f1de21 Merge pull request #805 from nhost/doc/vue-live-example
Adapt Vue-Apollo example to live demo
2022-07-07 12:35:02 +02:00
Pierre-Louis Mercereau
3abb57f510 chore: add vercel.json to handle redirections 2022-07-07 11:20:26 +02:00
Pierre-Louis Mercereau
4a2ad15f14 docs: adapt Vue-Apollo example to live demo 2022-07-07 11:17:02 +02:00
Pilou
ca45b612c9 Merge pull request #773 from nhost/build/sync-versions
Sync the Nhost services versions within the repository
2022-07-07 10:43:18 +02:00
Pilou
27ee9b721f Merge pull request #804 from nhost/docs/oauth-providers-alphabetic
Docs: List OAuth providers in order
2022-07-07 10:43:04 +02:00
Johan Eliasson
2a373dd50f revert 2022-07-07 10:36:37 +02:00
Johan Eliasson
a91f714c4c order 2022-07-07 10:34:51 +02:00
Pilou
3b4d89d5b6 Merge pull request #803 from nhost/elitan-patch-2
Missing `services:` in nhost config
2022-07-07 10:31:40 +02:00
Johan Eliasson
16d1b26298 Update config.yaml 2022-07-07 10:29:24 +02:00
Pierre-Louis Mercereau
86d8beb044 chore: update lockfile 2022-07-07 10:27:53 +02:00
Pierre-Louis Mercereau
17f870f31f Merge branch 'main' into build/sync-versions 2022-07-07 10:26:17 +02:00
Pilou
fbfffe25ca Merge pull request #799 from nhost/docs/discord-signin
Docs: Sign in with Discord and Twitch
2022-07-07 09:46:01 +02:00
Pilou
87a472b27e Merge pull request #802 from nhost/docs/video-iuasd
Docs: Update videos
2022-07-07 09:44:46 +02:00
Johan Eliasson
779b03b0b2 delete unused video 2022-07-07 07:16:00 +02:00
Johan Eliasson
9d933b6ffd open hasura console 2022-07-07 07:12:23 +02:00
Johan Eliasson
34d643868d typos 2022-07-06 20:25:47 +02:00
Johan Eliasson
0023f5f6f6 og images 2022-07-06 20:24:48 +02:00
Johan Eliasson
48f5c8bfb9 added docs for twitch + images 2022-07-06 20:22:12 +02:00
Johan Eliasson
f398b2e3ac update 2022-07-06 18:59:40 +02:00
Johan Eliasson
11795abe61 discord docs 2022-07-06 18:59:06 +02:00
Johan Eliasson
e2eafc9ee1 Merge pull request #796 from nhost/docs/apple-signin
Docs: Sign in with Apple
2022-07-06 07:29:30 +02:00
Pilou
4a5a2fac43 Merge pull request #794 from nhost/changeset-release/main
chore: update versions
2022-07-05 22:14:42 +02:00
Johan Eliasson
4a908af7ef old domain structure 2022-07-05 11:27:58 +02:00
Johan Eliasson
a7b6498053 update information about service id 2022-07-05 11:02:02 +02:00
Johan Eliasson
7f418a7559 started 2022-07-05 10:54:36 +02:00
github-actions[bot]
8493129750 chore: update versions 2022-07-05 08:03:48 +00:00
Pilou
26b817c5fa Merge pull request #788 from nhost/785-sms-passwordless-otp-sign-in-is-never-returning-or-rejecting-a-promise-on-failure
fix: return promise when using SMS OTP and an error occurs
2022-07-05 10:02:36 +02:00
Johan Eliasson
e61ea19421 Merge pull request #792 from nhost/timpratim-patch-2
Updated React quick-start ( without images )
2022-07-05 07:26:47 +02:00
Johan Eliasson
401f2cb540 updated react quick start 2022-07-05 07:18:15 +02:00
Johan Eliasson
6363a289fb Merge branch 'main' into timpratim-patch-2 2022-07-05 07:07:32 +02:00
Johan Eliasson
f09037ccef Merge pull request #783 from nhost/domain-structure
Docs: Use subdomain and region instead of backend url
2022-07-05 07:05:52 +02:00
Pratim
a4dea7339e Updated react quick-start ( without images ) 2022-07-05 00:24:34 +05:30
Pierre-Louis Mercereau
50474810bf refactor: run command with swc 2022-07-04 16:52:31 +02:00
Pilou
f356c7176b Merge pull request #789 from nhost/contributors-readme-action-K0Fk8ZdmGi
contributors readme action update
2022-07-04 16:50:59 +02:00
github-actions[bot]
cb99c6d989 contrib-readme-action has updated readme 2022-07-04 14:50:20 +00:00
Pilou
7cef49bb02 Merge pull request #761 from uulwake/chore/add-test-coverage
chore: add test coverage in every packages
2022-07-04 16:50:04 +02:00
Pierre-Louis Mercereau
6eaa5c7920 fix: return promise when using SMS OTP and an error occurs 2022-07-04 16:24:35 +02:00
Johan Eliasson
64574ee892 info for CLI 2022-07-03 10:39:25 +02:00
Johan Eliasson
d3d38b2631 update vue quickstart with subdomain and region 2022-07-03 10:36:15 +02:00
Johan Eliasson
023afae3cd updated redwoodjs guide with subdomain and region 2022-07-03 10:32:53 +02:00
Johan Eliasson
19d2242918 updated app dashboard image 2022-07-03 10:27:54 +02:00
Nacho Aldama
ead2c16aac Add "redirectTo" to documentation
When I was searching for the "redirectTo" param I didn't find anything in the docs, maybe it was my fault but I've missed this.

Sorry if this is duplicated.
2022-07-02 19:19:25 +02:00
Johan Eliasson
a5f02e8056 workding 2022-07-02 08:58:19 +02:00
Johan Eliasson
aeb85a1e01 u 2022-07-02 08:54:42 +02:00
Johan Eliasson
821912e23e Merge pull request #781 from nhost/docs/subdomain-readmes
docs: update to subdomains in readmes
2022-07-02 08:11:54 +02:00
Pierre-Louis Mercereau
8608a78eaf docs: update readmes to subdomains 2022-07-01 22:57:08 +02:00
Pilou
2d2da4f6e0 Merge pull request #778 from nhost/plmercereau-patch-1
Update docker compose readme
2022-07-01 11:18:19 +02:00
Pilou
19d7262b05 Update README.md 2022-07-01 08:07:37 +02:00
Johan Eliasson
1c750bd652 Merge pull request #769 from nhost/codegen-example
Example: Adding codegen example from blog post
2022-06-30 13:45:52 +02:00
Pierre-Louis Mercereau
8a3943a942 build: fix lockfile 2022-06-30 11:34:50 +02:00
Johan Eliasson
62385a7866 Merge branch 'main' into codegen-example 2022-06-30 11:00:23 +02:00
Pilou
9e21de3819 Merge pull request #771 from nhost/changeset-release/main
chore: update versions
2022-06-29 21:55:36 +02:00
Pierre-Louis Mercereau
c101a26ce5 build: clean lockfile, and build all packages 2022-06-29 17:55:15 +02:00
Pierre-Louis Mercereau
21fa83d115 build: adapt turborepo pipeline 2022-06-29 17:23:00 +02:00
Pierre-Louis Mercereau
522839d8f7 chore: keep original lockfile 2022-06-29 17:19:24 +02:00
Pierre-Louis Mercereau
87aad599f3 chore: update lockfile 2022-06-29 17:17:01 +02:00
Pierre-Louis Mercereau
5b097e635d chore: remove verbose 2022-06-29 17:10:43 +02:00
Pierre-Louis Mercereau
bfdcacd5a3 smaller eslintrc 2022-06-29 17:04:09 +02:00
Pierre-Louis Mercereau
dcb9055475 chore: remove console.log 2022-06-29 16:58:14 +02:00
Pierre-Louis Mercereau
6f0bf3d67c docs: typoe 2022-06-29 16:54:24 +02:00
Pierre-Louis Mercereau
3c96c561a0 chore: remove unused dependency 2022-06-29 16:45:33 +02:00
Pierre-Louis Mercereau
3d319364f3 build: sync nhost services versions 2022-06-29 16:44:15 +02:00
Johan Eliasson
80468ac3ac merge main and pnpm install 2022-06-29 14:54:37 +02:00
Johan Eliasson
d03653f1fd config update 2022-06-29 14:46:40 +02:00
Pierre-Louis Mercereau
a7f3599fb1 chore: unbump peer dep versions 2022-06-29 14:21:20 +02:00
github-actions[bot]
c789102189 chore: update versions 2022-06-29 12:11:21 +00:00
Pilou
b638173181 Merge pull request #768 from nhost/storage-improvements
Storage fixes and improvements
2022-06-29 14:10:11 +02:00
Pierre-Louis Mercereau
d65df02adb docs: format inline example 2022-06-29 14:08:49 +02:00
Johan Eliasson
5dff7ad5d3 README update 2022-06-29 13:40:29 +02:00
Johan Eliasson
9263bea2ae clear 2022-06-29 13:32:04 +02:00
Johan Eliasson
4f994b536e correct parameters 2022-06-29 13:15:13 +02:00
Pierre-Louis Mercereau
4f9287562e chore: changeset 2022-06-29 12:16:39 +02:00
Pierre-Louis Mercereau
58f82f9aad fix: adapt to new signature 2022-06-29 11:56:05 +02:00
Johan Eliasson
c907021313 update 2022-06-29 11:10:34 +02:00
Johan Eliasson
12a218b12c importing Nhost providers 2022-06-29 10:55:43 +02:00
Pierre-Louis Mercereau
196156ff93 build: use vite 2022-06-29 10:15:12 +02:00
Johan Eliasson
28ca032f70 adding public permissions 2022-06-29 08:26:41 +02:00
Johan Eliasson
38462c45b6 Merge pull request #762 from nhost/docs-seed
docs: Added seed data information
2022-06-29 08:22:38 +02:00
Johan Eliasson
8e03ed43b7 prepending with zeros 2022-06-29 08:21:31 +02:00
Johan Eliasson
333292ab89 adding codegen example from blog post 2022-06-29 08:17:42 +02:00
Pierre-Louis Mercereau
b4d52debff chore: wip 2022-06-28 18:49:38 +02:00
Pilou
287e48a51a Merge pull request #766 from nhost/docs/example-on-vercel
fix: force redirectTo link
2022-06-28 16:58:12 +02:00
Pierre-Louis Mercereau
9370e06b68 fix: simplify 2022-06-28 16:53:19 +02:00
Pierre-Louis Mercereau
d5b775c630 fix: force redirectTo link 2022-06-28 16:46:12 +02:00
Pilou
ea8e1df8da Merge pull request #743 from nhost/docs/example-on-vercel
React-apollo example on Vercel
2022-06-28 16:23:06 +02:00
Szilárd Dóró
20005986a9 Merge pull request #765 from nhost/changeset-release/main
chore: update versions
2022-06-28 16:15:23 +02:00
Pierre-Louis Mercereau
ced8100168 build: adjust env vars in turborepo 2022-06-28 14:39:54 +02:00
Pierre-Louis Mercereau
36d6db526c feat: add perms to anonymous users & on delete 2022-06-28 14:36:58 +02:00
Pierre-Louis Mercereau
fb53e94193 feat: use CDN backend 2022-06-28 14:36:20 +02:00
Pierre-Louis Mercereau
c1d722390f revert: correct peer deps version bumps 2022-06-28 13:33:44 +02:00
Pierre-Louis Mercereau
165ff16cdc Merge branch 'main' into docs/example-on-vercel 2022-06-28 13:25:50 +02:00
github-actions[bot]
111d6d99a1 chore: update versions 2022-06-28 11:19:14 +00:00
Pilou
dabbb6ec0d Merge pull request #624 from nhost/feat/file-upload
file upload hooks
2022-06-28 13:17:43 +02:00
Pierre-Louis Mercereau
7174aa1384 fix: do not clear errord list when already empty 2022-06-28 13:07:38 +02:00
Pierre-Louis Mercereau
e3ef4a0188 revert: keep localhost:1337 as default url 2022-06-28 12:21:18 +02:00
Pierre-Louis Mercereau
82ac9b9684 chore: xstate does not support async callbacks 2022-06-28 12:05:51 +02:00
Pierre-Louis Mercereau
bd494434d9 chore: review adjustments 2022-06-28 11:30:10 +02:00
Pierre-Louis Mercereau
0ee47821cd chore: remove console.log 2022-06-28 11:14:01 +02:00
Pierre-Louis Mercereau
0dc01a99e9 add redirectTo to oauth links 2022-06-28 11:11:07 +02:00
Pierre-Louis Mercereau
3a04c272ee chore: use async/await syntax 2022-06-28 11:09:07 +02:00
Pierre-Louis Mercereau
0e782b8e99 chore: default backend url and update readme 2022-06-28 10:51:34 +02:00
Pierre-Louis Mercereau
3e9d864899 Merge branch 'main' into docs/example-on-vercel 2022-06-28 10:26:31 +02:00
Pierre-Louis Mercereau
dd38973515 chore: review adjustments 2022-06-28 10:25:08 +02:00
Johan Eliasson
9ab5b7a927 Merge pull request #764 from nhost/chore/deploy
chore: trigger again
2022-06-28 09:17:18 +02:00
Pierre-Louis Mercereau
406132902d chore: trigger again 2022-06-28 09:14:42 +02:00
Johan Eliasson
7503b0d840 Merge pull request #763 from nhost/chore/deploy
chore: trigger deployment
2022-06-28 09:12:07 +02:00
Pierre-Louis Mercereau
d42cb698c1 chore: trigger deployment 2022-06-28 09:05:09 +02:00
Johan Eliasson
73e4702a1a wording 2022-06-28 08:33:41 +02:00
Johan Eliasson
93cc6bc1cf added seed data information 2022-06-28 07:35:49 +02:00
Ulrich Wake
db955e3b71 chore: add test coverage in every packages 2022-06-28 10:26:29 +07:00
Pierre-Louis Mercereau
c944ef11e4 docs: fix docgen broken link 2022-06-27 23:53:49 +02:00
Pierre-Louis Mercereau
d9e2e41efd feat: multiple upload errors and promises 2022-06-27 23:40:31 +02:00
Pilou
1219356c8f Merge pull request #757 from nhost/docs/docker-compose-functions
docs: add functions to docker-compose example
2022-06-27 19:52:28 +02:00
Pilou
2eb7467afa Merge pull request #759 from nhost/chore/trigger-deployment
chore: trigger a new deployment
2022-06-27 16:34:14 +02:00
Pierre-Louis Mercereau
12f42319f9 chore: trigger a new deployment 2022-06-27 16:32:26 +02:00
Pilou
bbc9c6131b Merge pull request #758 from nhost/changeset-release/main
chore: update versions
2022-06-27 11:59:51 +02:00
github-actions[bot]
c16be7fb05 chore: update versions 2022-06-27 09:51:39 +00:00
Szilárd Dóró
872e44ebe0 Merge pull request #756 from nhost/fix/bundling-improvements
fix: `exports` field to support server-side environments
2022-06-27 11:50:21 +02:00
Pierre-Louis Mercereau
a898a19ffa docs: add functions to docker-compose example 2022-06-27 10:46:13 +02:00
Szilárd Dóró
dbc10e6205 fix: fixed exports field in all packages
- added changeset
2022-06-27 10:35:17 +02:00
Pilou
b04d01f022 Merge pull request #755 from nhost/docs/readme
docs: update twitter handle & hasura-storage link
2022-06-27 09:30:20 +02:00
Pilou
29d0c7250f Merge pull request #754 from nhost/docs/fix-provider-links
React-apollo example: correct links to external urls (social providers)
2022-06-27 09:30:02 +02:00
Pierre-Louis Mercereau
b59f571048 docs: update twitter handle & hasura-storage link 2022-06-26 22:34:56 +02:00
Pierre-Louis Mercereau
64cc648d19 docs(example): correct react-apollo external links 2022-06-26 21:10:39 +02:00
Pierre-Louis Mercereau
5f05d46c3d fix: use xstate/react syntax 2022-06-25 21:01:37 +02:00
Pierre-Louis Mercereau
bfcabe8e73 chore: clean 2022-06-24 23:17:29 +02:00
Pierre-Louis Mercereau
233a6e4bd6 refactor: simplify 2022-06-24 23:04:43 +02:00
Pierre-Louis Mercereau
577792b3d5 feat(storage): upload with admin secret 2022-06-24 22:51:34 +02:00
Pierre-Louis Mercereau
3ba026e7d7 chore: clean tests, add error code, improve types 2022-06-24 22:06:33 +02:00
Pierre-Louis Mercereau
fa740867c5 chore: lint 2022-06-24 14:09:40 +02:00
Pilou
30f4e53181 Merge pull request #746 from nhost/docs/fix-typo
docs: fix typo
2022-06-24 13:52:24 +02:00
Pierre-Louis Mercereau
a417c8468a chore: lockfile 2022-06-24 13:24:57 +02:00
Pierre-Louis Mercereau
2dc020a676 Merge branch 'main' into feat/file-upload 2022-06-24 12:57:46 +02:00
Pierre-Louis Mercereau
f49d14cc1b chore: lockfile 2022-06-24 12:44:54 +02:00
Pilou
5a141453f0 Merge pull request #745 from nhost/contributors-readme-action-wA3mZijrN6
contributors readme action update
2022-06-23 18:55:11 +02:00
Pierre-Louis Mercereau
788bb9c90d docs: fix typo 2022-06-23 18:53:24 +02:00
github-actions[bot]
09fa429125 contrib-readme-action has updated readme 2022-06-23 15:04:08 +00:00
Johan Eliasson
c505281250 Merge pull request #744 from MelodicCrypter/patch-1
Deleted typo error
2022-06-23 17:03:50 +02:00
Hugh Caluscusin
7ea5523375 Deleted typo error
Edited line 34, from "decvices" to "devices"
2022-06-23 22:57:53 +08:00
Pilou
c5cd6b1d7b Merge pull request #740 from nhost/contributors-readme-action-_AZSPBOfXF
contributors readme action update
2022-06-22 16:40:55 +02:00
Pierre-Louis Mercereau
2d1185f7ec chore: turborepo cache input 2022-06-22 16:33:51 +02:00
Pierre-Louis Mercereau
c6d4c5e943 chore: add VITE_NHOST_URL as a turborepo dep 2022-06-22 16:29:35 +02:00
Pierre-Louis Mercereau
0a536ccfda build: add vercel.json 2022-06-22 16:18:53 +02:00
Johan Eliasson
4107287c8e Merge pull request #741 from nhost/changeset-release/main
chore: update versions
2022-06-22 14:16:59 +02:00
github-actions[bot]
651c481874 chore: update versions 2022-06-22 12:10:47 +00:00
github-actions[bot]
90a7999346 contrib-readme-action has updated readme 2022-06-22 12:09:31 +00:00
Nuno Pato
b54b0c0743 Merge pull request #601 from nhost/feat/add-cdn-support-nhost-js
Add `subdomain` and `region` as options to `NhostClient`
2022-06-22 12:09:12 +00:00
Johan Eliasson
d07373d255 updated parameters for NhostClient 2022-06-22 13:46:13 +02:00
Nuno Pato
73c8fa1fb2 fix typo 2022-06-22 10:47:35 +00:00
Pilou
67f2622642 Merge pull request #739 from nhost/docs/move-hasura-auth
Remove hasura-auth from the reference documentation
2022-06-22 12:40:08 +02:00
Pierre-Louis Mercereau
780f95d950 chore: update versions 2022-06-22 12:34:31 +02:00
Pierre-Louis Mercereau
cb84db7688 docs: remove hasura-auth from reference documentation 2022-06-22 12:31:24 +02:00
Johan Eliasson
67d76ebbb6 Merge pull request #737 from nhost/elitan-patch-2
Added ROSS Index badge
2022-06-22 10:11:26 +02:00
Johan Eliasson
48af3fb4d1 Update README.md 2022-06-22 09:26:21 +02:00
Johan Eliasson
e5adc515d4 Update README.md 2022-06-22 09:25:12 +02:00
Pilou
5f4b16f2f9 Merge pull request #716 from nhost/docs-algolio-fix
Fix Algolia full page search
2022-06-21 19:02:15 +02:00
Nuno Pato
be50d4ad1d Merge branch 'main' into feat/add-cdn-support-nhost-js 2022-06-21 15:09:07 +00:00
Nuno Pato
d40afbb744 Fix messaging 2022-06-21 15:04:35 +00:00
Nuno Pato
7e0035a856 Merge pull request #733 from nhost/chore/bump-all-versions
Bump all versions of hasura, hasura auth, and hasura storage
2022-06-21 14:12:56 +02:00
Pilou
2fec74e501 Merge pull request #717 from nhost/changeset-release/main
chore: update versions
2022-06-21 14:10:10 +02:00
Pierre-Louis Mercereau
e94b28b3bc chore: avoid major bumps of peer dependencies 2022-06-21 13:54:06 +02:00
github-actions[bot]
f591f76256 chore: update versions 2022-06-21 11:42:44 +00:00
Pilou
58fb955dc6 Merge pull request #720 from nhost/docs/vue-use-reset-password
docs(vue): correct useResetPassword inline example
2022-06-21 13:41:33 +02:00
Nuno Pato
5826baa57e Update missing packages 2022-06-21 10:26:25 +00:00
Nuno Pato
3c789629a4 Bump all versions of hasura, hasura auth, and hasura storage 2022-06-21 09:47:24 +00:00
Johan Eliasson
f472d42ae9 Merge pull request #732 from nhost/contributors-readme-action-RQTOlQZRpc
contributors readme action update
2022-06-21 07:39:06 +02:00
github-actions[bot]
9993bea7ab contrib-readme-action has updated readme 2022-06-21 05:22:34 +00:00
Johan Eliasson
6f33fc6ce6 Merge pull request #728 from nhost/contributors-readme-action-0KCGh0rhTk
contributors readme action update
2022-06-21 07:22:16 +02:00
Johan Eliasson
b6858c5638 Merge pull request #731 from nhost/contributors-readme-action-yVNIRBZEXT
contributors readme action update
2022-06-21 07:20:27 +02:00
github-actions[bot]
9b01c3ba93 contrib-readme-action has updated readme 2022-06-21 05:19:56 +00:00
Johan Eliasson
fcfd6a9c13 Merge pull request #729 from kylehayes/patch-1
Clarifying how to open Hasura Console
2022-06-21 07:19:41 +02:00
Kyle Hayes
e4daefe637 Clarifying how to open Hasura Console
Updating the documentation to reflect the new location of the button to open Hasura Console.
2022-06-20 17:45:07 -07:00
Guido Curcio
59a5fe97b1 chore: change from types to inferface; fix example; add test missing region test. 2022-06-20 11:20:27 -03:00
github-actions[bot]
a0bcbb6269 contrib-readme-action has updated readme 2022-06-20 13:16:03 +00:00
Pilou
1ec1004507 Merge pull request #727 from muttenzer/docs/permission-variables
Correct permission variables section
2022-06-20 15:15:40 +02:00
Pierre-Louis Mercereau
756d996096 chore: changeset 2022-06-20 12:16:30 +02:00
Timo
c0f1d03c3c Correct permission variables section
Mention how Nhost prefixes the custom JWT claims locally and correct example path.
2022-06-19 16:52:43 +02:00
Pilou
af55789d07 Merge pull request #723 from nhost/contributors-readme-action-IeghAq7Be4
contributors readme action update
2022-06-18 08:11:22 +02:00
Pilou
cb28676895 Merge pull request #722 from nhost/contributors-readme-action-8WdPB9amrq
contributors readme action update
2022-06-18 08:10:11 +02:00
github-actions[bot]
939a3d1090 contrib-readme-action has updated readme 2022-06-18 06:08:16 +00:00
Pilou
0163d0588b Merge pull request #721 from nhost/contributors-readme-action--AZAZ22Nlk
contributors readme action update
2022-06-18 08:08:02 +02:00
github-actions[bot]
c4124f22b0 contrib-readme-action has updated readme 2022-06-18 06:06:29 +00:00
Pilou
7188b0971c Merge pull request #718 from nhost/remove-build-script-dashes
chore: remove build script dashes
2022-06-18 08:06:16 +02:00
github-actions[bot]
6ac969320c contrib-readme-action has updated readme 2022-06-18 05:56:16 +00:00
Johan Eliasson
414bc2e75b Merge pull request #719 from muttenzer/docs/permission-variables
Update permission variables section
2022-06-18 07:56:00 +02:00
Pierre-Louis Mercereau
6862e1e24d docs(vue): correct useResetPassword inline example 2022-06-18 07:04:33 +02:00
muttenzer
4b9deaa2f7 Update permission variables section
Further instructions of how to handle custom permission variables in development.
2022-06-17 23:53:05 +02:00
Pierre-Louis Mercereau
cf366cef35 chore: remove build script dashes 2022-06-17 21:02:44 +02:00
Pilou
00d041f6b4 Merge pull request #714 from nhost/test/anonymous
test: anonymous sign-in and deanonymisation
2022-06-17 19:53:50 +02:00
Pierre-Louis Mercereau
da06fef64e refactor: use aria-label 2022-06-17 15:07:51 +02:00
Pierre-Louis Mercereau
09be9582f8 Merge branch 'main' into test/anonymous 2022-06-17 15:02:50 +02:00
Pilou
6b26fed8ae Merge pull request #713 from nhost/complete-mfa
Complete email+password sign-in with MFA
2022-06-17 15:02:08 +02:00
Pierre-Louis Mercereau
5a62c66fc4 Merge branch 'main' into test/anonymous 2022-06-17 14:26:17 +02:00
Pilou
17e0e6d116 Merge pull request #711 from nhost/test/change-email-password
test: change email and password
2022-06-17 14:22:02 +02:00
Pierre-Louis Mercereau
938000e61b test: don't accept an invalid email/password 2022-06-17 11:53:47 +02:00
Pierre-Louis Mercereau
d700107222 test: add apollo tests 2022-06-17 11:12:13 +02:00
Johan Eliasson
7f1b8a5881 config update 2022-06-17 08:38:17 +02:00
Johan Eliasson
7fd5f0fedf added initialIndexSettings 2022-06-17 08:33:14 +02:00
Johan Eliasson
bf551fe705 update 2022-06-17 08:24:00 +02:00
Pierre-Louis Mercereau
69d9e40187 chore: chore 2022-06-16 15:40:55 +02:00
Pierre-Louis Mercereau
fc5b18fdf0 test: add item to todo list when anonymous 2022-06-15 20:55:37 +02:00
Pierre-Louis Mercereau
fa3eb980a0 feat: allow anonymous users to use the todo list 2022-06-15 19:03:47 +02:00
Pierre-Louis Mercereau
efad3a2b08 chore: add comment 2022-06-15 17:20:42 +02:00
Pierre-Louis Mercereau
563fa4fe9b test: anonymous sign-in and deanonymisation 2022-06-15 17:19:09 +02:00
Pierre-Louis Mercereau
6f0a30059a feat: complete email+password sign-in with MFA 2022-06-15 13:37:52 +02:00
Pierre-Louis Mercereau
47cda5d716 chore: order 2022-06-15 10:08:09 +02:00
Pierre-Louis Mercereau
3f625ce9e1 test: change email and password 2022-06-15 10:03:23 +02:00
Pilou
38d2609249 Merge pull request #710 from nhost/roles-docs
Info about allowed roles
2022-06-15 09:10:56 +02:00
Pilou
030243cd45 Merge pull request #691 from nhost/e2e-react-tests
test: passwordless email, sign-in with token, sign-out
2022-06-15 09:08:32 +02:00
Johan Eliasson
c1905243d0 roles info 2022-06-14 22:40:15 +02:00
Johan Eliasson
37627cc50e info about allowed roles 2022-06-14 21:44:14 +02:00
Pierre-Louis Mercereau
009f68d500 test: should get a session from localStorage 2022-06-14 17:44:35 +02:00
Pierre-Louis Mercereau
b752cc2be8 test: add assertions 2022-06-13 18:35:43 +02:00
Pierre-Louis Mercereau
72fc7d4e44 Merge branch 'main' into e2e-react-tests 2022-06-13 09:31:26 +02:00
Pierre-Louis Mercereau
d20bfe3431 refactor: move files machines to hasura-storage-js, and prepare tests 2022-06-13 09:29:09 +02:00
Pilou
80ef14e50a Merge pull request #700 from nhost/react-example-todo-list
docs: replace the `books` table by a `todos` table
2022-06-13 08:23:55 +02:00
Pilou
543ea2a0e7 Merge pull request #706 from nhost/changeset-release/main
chore: update versions
2022-06-12 21:58:05 +02:00
github-actions[bot]
6764d476fd chore: update versions 2022-06-12 19:42:37 +00:00
Pilou
7bed0eadc9 Merge pull request #704 from nhost/fix/vue-nested-unref
Correct use of ref values in action options
2022-06-12 21:41:41 +02:00
Pierre-Louis Mercereau
c7644ace34 test: should return the same value when not a ref 2022-06-11 22:05:41 +02:00
Pierre-Louis Mercereau
49cdb2843e test: add one test 2022-06-11 21:58:03 +02:00
Pierre-Louis Mercereau
6f45856c46 fix: nestedUnref 2022-06-11 21:54:21 +02:00
Pierre-Louis Mercereau
dcf5e28e06 test: remove unecessary assertions 2022-06-10 21:49:24 +02:00
Pierre-Louis Mercereau
5c10169972 test: add single/multiple file upload tests 2022-06-10 21:46:47 +02:00
Pierre-Louis Mercereau
abdbbe6fcc Merge remote-tracking branch 'origin/e2e-react-tests' into feat/file-upload 2022-06-10 20:28:55 +02:00
Pierre-Louis Mercereau
61e719eea0 refactor: use findByRole 2022-06-10 18:37:13 +02:00
Pilou
208bdbba2d Merge pull request #703 from nhost/docs/fix-dependency
Use internal `*` dependencies in examples
2022-06-10 17:31:19 +02:00
Pierre-Louis Mercereau
cd62e1e833 docs: use internal * dependencies in examples 2022-06-10 16:47:32 +02:00
Pierre-Louis Mercereau
1dfb11d7e8 Merge branch 'e2e-react-tests' into react-example-todo-list 2022-06-10 14:30:07 +02:00
Pierre-Louis Mercereau
8b5c4ed443 refactor: make tests independent from each other 2022-06-10 14:28:03 +02:00
Szilárd Dóró
b60cd0411b Merge pull request #697 from nhost/changeset-release/main
chore: update versions
2022-06-10 12:56:52 +02:00
Pierre-Louis Mercereau
6bd5c96ed5 chore: modify autogenerated down migration 2022-06-10 11:58:52 +02:00
Pierre-Louis Mercereau
6b8762a62e chore: add missing change 2022-06-10 11:56:37 +02:00
Pierre-Louis Mercereau
ddeff7cbd6 refactor: rename index name 2022-06-10 11:55:17 +02:00
Pierre-Louis Mercereau
ed952c1251 perf: add index 2022-06-10 11:53:30 +02:00
Pierre-Louis Mercereau
34e73f18bd chore: remove .vscode directory 2022-06-10 11:44:12 +02:00
Pierre-Louis Mercereau
84262a24f1 docs: replace the books table by a todos table
adapt the Apollo page to add a todo item, add permissions so the connected user only sees its own
todos, add cypress test, use GraphQL codegen
2022-06-10 11:33:12 +02:00
Pierre-Louis Mercereau
ec2a88d69c chore: remove useless line 2022-06-09 11:40:22 +02:00
Pierre-Louis Mercereau
fe1049df6b test: token should be refresh on time 2022-06-09 11:39:18 +02:00
Pierre-Louis Mercereau
a924d21815 Merge remote-tracking branch 'origin/main' into e2e-react-tests 2022-06-09 09:09:03 +02:00
Pierre-Louis Mercereau
503339e5a8 chore: correct peer deps versions from major to minor bump 2022-06-09 08:55:32 +02:00
Pierre-Louis Mercereau
4405535d4a chore: adjustments 2022-06-09 08:43:08 +02:00
github-actions[bot]
6d031e7484 chore: update versions 2022-06-09 06:27:05 +00:00
Pilou
e80c7b629a Merge pull request #582 from nhost/anonymous-users
Anonymous users
2022-06-09 08:26:05 +02:00
Pierre-Louis Mercereau
479a2ed08d Merge remote-tracking branch 'origin/main' into feat/file-upload 2022-06-08 21:52:21 +02:00
Pierre-Louis Mercereau
7a469e1e1e Merge remote-tracking branch 'origin/main' into anonymous-users 2022-06-08 21:40:40 +02:00
Pierre-Louis Mercereau
af15771517 test: simulate network errors on sign-un and sign-in 2022-06-08 16:01:09 +02:00
Johan Eliasson
9b28e1329a Merge pull request #692 from nhost/auth-settings-name-update
docs: update login settings to authentication settings
2022-06-08 15:53:18 +02:00
Pierre-Louis Mercereau
c066ea5b75 ci: tranform package name into a valid file name 2022-06-08 14:05:11 +02:00
Pierre-Louis Mercereau
80e42b939b make it fail 2022-06-08 13:36:19 +02:00
Pierre-Louis Mercereau
3ea6f685e2 Merge remote-tracking branch 'origin/main' into e2e-react-tests 2022-06-08 13:27:57 +02:00
Pierre-Louis Mercereau
ac77f427c3 Merge remote-tracking branch 'origin/main' into e2e-react-tests 2022-06-08 13:01:46 +02:00
Pierre-Louis Mercereau
0f95ee5bb4 chore: rename 2022-06-08 11:26:41 +02:00
Johan Eliasson
4b572c4f58 update login settings to authentication settings 2022-06-08 11:25:47 +02:00
Pierre-Louis Mercereau
47406d3617 test: passwordless email, sign-in with token, sign-out 2022-06-08 11:24:18 +02:00
Pierre-Louis Mercereau
125bc9a749 test: passwordless email, sign-in with token, sign-out 2022-06-08 11:14:50 +02:00
Pilou
df29c8f98d Merge pull request #681 from nhost/test/ci
CI: end-to-end tests
2022-06-08 09:59:38 +02:00
Pilou
a08c3ec2d1 Merge pull request #690 from nhost/docs/vue-useSignOut
docs: add `useSignOut` inline example in `@nhost/vue`
2022-06-08 09:58:38 +02:00
Pierre-Louis Mercereau
fef034aa6e docs: adjust 2022-06-08 08:56:24 +02:00
Pierre-Louis Mercereau
7037af8ae6 docs: add useSignOut inline example in @nhost/vue 2022-06-07 21:47:44 +02:00
Pilou
477b48f184 Merge pull request #689 from nhost/contributors-readme-action-D3RyXdsQsy
contributors readme action update
2022-06-07 15:30:13 +02:00
Pierre-Louis Mercereau
33ac09fa40 ci: correct codecov url 2022-06-07 14:50:38 +02:00
Pierre-Louis Mercereau
92d66b9413 ci: include coverage as an output 2022-06-07 14:45:56 +02:00
Pierre-Louis Mercereau
9eb9b590f9 debug2 2022-06-07 14:20:41 +02:00
Pierre-Louis Mercereau
7edca99d48 debug 2022-06-07 14:19:25 +02:00
Pierre-Louis Mercereau
964cc6ded3 ci: don't redact vercel team 2022-06-07 14:12:32 +02:00
Pierre-Louis Mercereau
a69e0032bf ci: add comment to test turborepo cache + codecov 2022-06-07 14:01:03 +02:00
github-actions[bot]
86fbf934d6 contrib-readme-action has updated readme 2022-06-07 11:00:16 +00:00
Johan Eliasson
0d6ecd8397 Merge pull request #688 from nhost/contributors-readme-action-C3ZlKRvXQT
contributors readme action update
2022-06-07 13:00:00 +02:00
github-actions[bot]
56b57b2878 contrib-readme-action has updated readme 2022-06-07 10:59:11 +00:00
Johan Eliasson
e79ee93fde Merge pull request #686 from nhost/contributors-readme-action-1LPJf9w-v5
contributors readme action update
2022-06-07 12:58:58 +02:00
Johan Eliasson
7cec42b392 Merge pull request #683 from nhost/contributors-readme-action-PH9phwd1Bo
contributors readme action update
2022-06-07 12:58:42 +02:00
github-actions[bot]
f254c329f5 contrib-readme-action has updated readme 2022-06-07 10:58:28 +00:00
Johan Eliasson
2a84a025d5 Merge pull request #685 from nhost/contributors-readme-action-iIoqZk95q5
contributors readme action update
2022-06-07 12:58:14 +02:00
github-actions[bot]
c2b0625c31 contrib-readme-action has updated readme 2022-06-07 10:57:57 +00:00
Johan Eliasson
e80384c7ee Merge pull request #684 from nhost/timpratim-patch-1
Update event-triggers.mdx
2022-06-07 12:57:40 +02:00
Pratim
8fa4813b4e Update event-triggers.mdx
Added "t" to even
2022-06-07 16:07:54 +05:30
github-actions[bot]
d4c2e9eb78 contrib-readme-action has updated readme 2022-06-07 10:17:33 +00:00
Pilou
557d1a69b3 Merge pull request #682 from nhost/timpratim-patch-1
Update index.mdx
2022-06-07 12:17:16 +02:00
Pratim
4b811d939e Update index.mdx
Corrected the spelling of intuitive
2022-06-07 15:34:12 +05:30
Pierre-Louis Mercereau
f2a25b688d Merge branch 'main' into test/ci 2022-06-07 11:21:18 +02:00
Pierre-Louis Mercereau
e9c82d8609 ci: remove 'test/ci' from the gh workflow 2022-06-07 11:20:11 +02:00
Pierre-Louis Mercereau
853527a770 Merge branch 'main' into test/ci 2022-06-07 11:19:07 +02:00
Pilou
9e6e05c1b2 Merge pull request #663 from nhost/test/react-apollo
e2e tests: groundwork on the react-apollo example
2022-06-07 11:17:42 +02:00
Pierre-Louis Mercereau
85b5d89dbd chore: merge from main 2022-06-07 11:09:32 +02:00
Pilou
d22885f6b7 Merge pull request #680 from plmercereau/test/ci
Test/ci
2022-06-07 11:01:46 +02:00
Pierre-Louis Mercereau
5944b25e7e rename ci script to e2e 2022-06-07 11:00:57 +02:00
Pierre-Louis Mercereau
52fc5d3123 summary 2022-06-07 10:04:20 +02:00
Pierre-Louis Mercereau
7e0608f5ca ci: codecov 2022-06-07 09:57:55 +02:00
Svarto
18ac56d097 added changeset for hasura-auth-js 2022-06-06 21:38:53 +02:00
Svarto
366fc2403d included an optional ticket in changePassword function to allow for changeing password of logged out users, matches hasura-auth #186 2022-06-06 21:27:44 +02:00
Pierre-Louis Mercereau
8876819687 docs: inline explanation of the tests GH workflow 2022-06-06 20:11:06 +02:00
Pilou
635d82b18f Merge pull request #678 from nhost/changeset-release/main
chore: update versions
2022-06-06 19:02:34 +02:00
github-actions[bot]
6a1def9b86 chore: update versions 2022-06-06 16:29:21 +00:00
Pilou
2cc075f4ef Merge pull request #677 from nhost/fix/subscription-headers
fix: add headers to subscription when creating the Apollo client
2022-06-06 18:28:27 +02:00
Pierre-Louis Mercereau
bbe6750632 chore: rephrase changeset 2022-06-06 18:28:08 +02:00
Johan Eliasson
19149261aa Merge pull request #676 from nhost/docs-emails-b8as9d
Docs abut emails with CLI
2022-06-06 13:59:08 +02:00
Pierre-Louis Mercereau
8b2d1b00a1 fix: add headers to subscription when creating the Apollo client 2022-06-06 13:34:27 +02:00
Johan Eliasson
3231e31c3e docs abuot emails with CLI 2022-06-06 08:08:09 +02:00
Pierre-Louis Mercereau
be1ef6fe79 ci: cosmetics: ann install step name 2022-06-05 23:06:55 +02:00
Pierre-Louis Mercereau
5a963832e2 ci: clean gh action and workflow 2022-06-05 23:05:52 +02:00
Pierre-Louis Mercereau
aa3f5c243c ci: disable fail-fast 2022-06-05 22:56:54 +02:00
Pierre-Louis Mercereau
5dce0f0fdc ci: make e2e test work locally 2022-06-05 22:49:46 +02:00
Pierre-Louis Mercereau
3c0e9fbb84 Merge branch 'plmercereau-test/ci' into test/ci 2022-06-05 22:19:54 +02:00
Pierre-Louis Mercereau
6c202304b2 Merge branch 'test/ci' of https://github.com/plmercereau/nhost into plmercereau-test/ci 2022-06-05 22:19:34 +02:00
Pierre-Louis Mercereau
50dcf41e6c ci: unit tests, e2e and lint 2022-06-05 22:14:13 +02:00
Pierre-Louis Mercereau
d6b4f83e16 ci: return json as a single line 2022-06-04 11:27:00 +02:00
Pierre-Louis Mercereau
ba86ae229d ci: include hasura-auth-js to e2e, and improve gh action 2022-06-04 11:14:30 +02:00
Pierre-Louis Mercereau
96f41ad0de ci: rename ci to test:ci 2022-06-03 22:41:25 +02:00
Pierre-Louis Mercereau
aba0c8b2da refactor: readability, and remove obsolete script 2022-06-03 22:36:53 +02:00
Pierre-Louis Mercereau
a27eeeab8e ci: improve readability 2022-06-03 22:30:06 +02:00
Pierre-Louis Mercereau
61a746e674 ci: only build example dependencies 2022-06-03 22:21:52 +02:00
Pierre-Louis Mercereau
7f37c87929 ci: add build step 2022-06-03 22:08:22 +02:00
Pierre-Louis Mercereau
3322c4b795 ci: convert list to stringified json and remove presumably useless steps 2022-06-03 22:04:19 +02:00
Pierre-Louis Mercereau
1e70c7e7a5 ci: gh actions matrix 2022-06-03 21:57:07 +02:00
Pierre-Louis Mercereau
9fbbdca60d chore: check new gh action runs on separate branch 2022-06-03 20:28:32 +02:00
Pilou
f7a3136086 Merge pull request #670 from nhost/changeset-release/main
chore: update versions
2022-06-03 20:06:20 +02:00
github-actions[bot]
b5642586a4 chore: update versions 2022-06-03 14:00:05 +00:00
Pilou
cadc8f8864 Merge pull request #667 from nhost/662-invalid-url-when-using-google-provider
fix: correct rewriting options when `clientUrl` is not available
2022-06-03 15:58:17 +02:00
Pierre-Louis Mercereau
1dc2bce05a refactor: add tests and inline docs 2022-06-03 14:41:15 +02:00
Pilou
65588268f6 Merge pull request #669 from nhost/contributors-readme-action-hUXZuGw8l3
contributors readme action update
2022-06-03 13:37:21 +02:00
github-actions[bot]
a6b15bb387 contrib-readme-action has updated readme 2022-06-03 10:07:07 +00:00
Pilou
7b8f64ab25 Merge pull request #668 from nbourdin/patch-2
Update github-integration.mdx
2022-06-03 12:06:50 +02:00
Nicolas Bourdin
451b62d641 Update github-integration.mdx 2022-06-03 12:05:04 +02:00
Pierre-Louis Mercereau
d843f1a3ed refactor: use testing-library and other adjustments 2022-06-03 12:00:17 +02:00
Pierre-Louis Mercereau
08a37aae7c fix: correct rewriting options when clientUrl is not available
The client URL is set to `window.location.origin`, so it can rewrite redirection urls that are
passed on to authenticaion methods. However, `clientUrl` is set to `''` when running on the server
side. This fix then avoid raising an error when trying to rewrite `redirectTo` on non-browser
environment, and forces `useProviderLink` to be rendered on the client side.
2022-06-03 11:41:52 +02:00
Pierre-Louis Mercereau
464a10fa06 refactor: replace 'workspace:*' by '*' in react-apollo example 2022-06-03 08:42:24 +02:00
Pierre-Louis Mercereau
2cb1c36c76 chore: remove line from .eslint.base.js (merge mistake), remove eslintrc in example folder 2022-06-02 21:35:04 +02:00
Pierre-Louis Mercereau
b4670024ca Merge branch 'main' into test/react-apollo 2022-06-02 21:13:20 +02:00
Pierre-Louis Mercereau
feb616ecc0 test: mvp 2022-06-02 21:05:03 +02:00
Johan Eliasson
679c32cb5a Merge pull request #658 from nhost/docs-storage
Docs: Storage and small fixes
2022-06-02 17:03:13 +02:00
Johan Eliasson
25bc2bee67 small updates 2022-06-02 15:34:17 +02:00
Szilárd Dóró
ce1ea16981 Merge pull request #661 from nhost/changeset-release/main
chore: update versions
2022-06-02 12:50:27 +02:00
github-actions[bot]
7048eaf0bb chore: update versions 2022-06-02 10:47:48 +00:00
Szilárd Dóró
9c382a3773 Merge pull request #660 from nhost/fix/esm-rollback
chore: reverted ESM related changes
2022-06-02 12:46:57 +02:00
Johan Eliasson
7f07c75dc4 Merge pull request #659 from gdangelo/docs/quickstarts-nextjs
docs: Add skip option to useQuery call to skip query if id is falsy
2022-06-02 12:44:13 +02:00
Szilárd Dóró
ebad09364e added changeset 2022-06-02 12:43:40 +02:00
Szilárd Dóró
cbec4dbab6 chore: reverted ESM related changes
ESM gods didn't like me 😞 we'll come back to this in the future
2022-06-02 11:26:23 +02:00
Johan Eliasson
a05d7585a3 typo 2022-06-02 10:51:15 +02:00
Johan Eliasson
89f823fdce stronger 2022-06-02 10:50:08 +02:00
Johan Eliasson
6f4d465f54 main repo 2022-06-02 10:48:23 +02:00
Johan Eliasson
aafbaa8d25 update 2022-06-02 10:37:47 +02:00
Johan Eliasson
0f7b31497f storage update 2022-06-02 09:33:36 +02:00
Grégory D'Angelo
bcf2751625 docs: Add skip option to useQuery call to skip query if id is falsy 2022-06-02 09:20:53 +02:00
Johan Eliasson
1965fc85d6 storage started 2022-06-02 08:30:46 +02:00
Johan Eliasson
a8a7c32ec1 better docs for magic link and sms 2022-06-02 07:21:36 +02:00
Johan Eliasson
e8232cdfbb better phone number sign in docs 2022-06-02 07:14:28 +02:00
Johan Eliasson
066489e3d4 zoom images 2022-06-02 07:00:34 +02:00
Johan Eliasson
de10d84cc1 started 2022-06-01 23:24:11 +02:00
Pierre-Louis Mercereau
7bc6d231b8 chore: cypress example 2022-06-01 18:24:07 +02:00
Szilárd Dóró
f7ddafdf05 Merge pull request #657 from nhost/changeset-release/main
chore: update versions
2022-06-01 15:26:43 +02:00
github-actions[bot]
f86b707d34 chore: update versions 2022-06-01 13:23:25 +00:00
Szilárd Dóró
d281665424 Merge pull request #655 from nhost/fix/missing-modules
fix: `@nhost/react-apollo` imports
2022-06-01 15:22:21 +02:00
Szilárd Dóró
24659b2979 fixed build warning related to unknown globals 2022-06-01 14:52:36 +02:00
Szilárd Dóró
ef8c8f9cd4 fixed @nhost/react-apollo imports 2022-06-01 14:47:04 +02:00
Pierre-Louis Mercereau
84e72f1d8d chore: install cypress and adjust eslint 2022-06-01 14:36:15 +02:00
Johan Eliasson
bc526e70ef Merge pull request #651 from gdangelo/docs/quickstarts-redwoodjs
docs: Add skip option to useQuery call to skip query if id is falsy
2022-06-01 14:30:23 +02:00
Szilárd Dóró
35068d213f Merge pull request #652 from nhost/changeset-release/main
chore: update versions
2022-06-01 13:42:31 +02:00
Pilou
e732ea9aa5 Merge pull request #650 from gdangelo/docs/quickstarts-react
docs: Add skip option to useQuery call to skip query if id is falsy
2022-06-01 13:40:35 +02:00
github-actions[bot]
e8d5338aca chore: update versions 2022-06-01 11:39:36 +00:00
Szilárd Dóró
ac84f4d0e9 Merge pull request #648 from nhost/fix/next-esm-followup
ESM and build process improvements
2022-06-01 13:38:05 +02:00
Szilárd Dóró
12e9a572db activated import/extensions ESLint rule
- file extensions are mandatory for imported packages
- fixed general errors indicated by the linter
2022-06-01 13:31:09 +02:00
Grégory D'Angelo
c1c7ceb319 docs: Add skip option to useQuery call to skip query if id is falsy 2022-06-01 13:20:41 +02:00
Grégory D'Angelo
23a9f9f547 docs: Add skip option to useQuery call to skip query if id is falsy 2022-06-01 11:43:27 +02:00
Pierre-Louis Mercereau
3db941eb46 Merge branch 'main' into feat/file-upload 2022-06-01 11:22:50 +02:00
Pierre-Louis Mercereau
42a7aaf916 add doc link 2022-06-01 11:04:13 +02:00
Szilárd Dóró
1b37b9f62a added changeset 2022-06-01 10:37:25 +02:00
Szilárd Dóró
764ea72d60 fixed build warning about globals 2022-06-01 09:42:06 +02:00
Pilou
3efbbca136 Merge pull request #646 from nhost/plmercereau-patch-1
Remove AUTH_SMS_TWILIO_FROM from env var list
2022-06-01 09:01:24 +02:00
Pilou
93d8eec950 Remove AUTH_SMS_TWILIO_FROM from env var list 2022-06-01 08:46:49 +02:00
Szilárd Dóró
d4ea2fce6d fixed React ESM issues, simplified bundle copy 2022-05-31 23:08:48 +02:00
Pierre-Louis Mercereau
2443399cdc Merge branch 'main' into feat/file-upload 2022-05-31 20:35:43 +02:00
Nuno Pato
b8f4b75b0c Add changeset 2022-05-31 17:43:45 +02:00
Nuno Pato
5227c84820 Merge branch 'main' into feat/add-cdn-support-nhost-js 2022-05-31 17:32:47 +02:00
Johan Eliasson
5096456f78 Merge pull request #643 from nhost/elitan-patch-2
Light mode for now to match landing page and dashboard
2022-05-31 17:08:01 +02:00
Johan Eliasson
507d09861c Light mode for now to match landing page and dashboard 2022-05-31 16:32:25 +02:00
Szilárd Dóró
050cb288fc Merge pull request #642 from nhost/changeset-release/main
chore: update versions
2022-05-31 16:22:55 +02:00
github-actions[bot]
cd120c61fb chore: update versions 2022-05-31 14:19:38 +00:00
Szilárd Dóró
5ddb5a751b Merge pull request #640 from nhost/fix/next-esm-bundling 2022-05-31 16:18:20 +02:00
Johan Eliasson
92209b6690 Merge pull request #641 from nhost/contributors-readme-action-A3l1kugNkY
contributors readme action update
2022-05-31 16:04:08 +02:00
github-actions[bot]
bdb11c0fa4 contrib-readme-action has updated readme 2022-05-31 14:02:31 +00:00
Johan Eliasson
63c3e7cb2c Merge pull request #639 from nhost/contributors-readme-action-Dh3J_t5dMB
contributors readme action update
2022-05-31 16:02:09 +02:00
Szilárd Dóró
78341491cd fixed ESM related errors, updated ESM file names 2022-05-31 15:19:42 +02:00
github-actions[bot]
cd8560e6d3 contrib-readme-action has updated readme 2022-05-31 13:14:37 +00:00
Johan Eliasson
fced43f55d Merge pull request #638 from nhost/contributors-readme-action-bW8QNtGd78
contributors readme action update
2022-05-31 15:14:19 +02:00
github-actions[bot]
47cc5d1562 contrib-readme-action has updated readme 2022-05-31 12:42:26 +00:00
Johan Eliasson
9ab4d49421 Merge pull request #616 from mdp18/docs-react-nhost-fix
docs clarification for nhost instance
2022-05-31 14:42:12 +02:00
Johan Eliasson
4bdd29c2ea Merge branch 'main' into docs-react-nhost-fix 2022-05-31 14:41:48 +02:00
Johan Eliasson
a43fa284b4 Merge pull request #637 from nhost/docs-small-fixes
Docs: Small fixes
2022-05-31 14:40:59 +02:00
Johan Eliasson
e68ca9b0c8 Merge pull request #632 from nhost/docs-og-images
Docs: Open Graph Images
2022-05-31 14:40:40 +02:00
Johan Eliasson
ad26b8392f small fixes 2022-05-31 14:01:46 +02:00
Johan Eliasson
09ffcb961a slightly modified images 2022-05-31 13:56:43 +02:00
Johan Eliasson
42879a26da added img for all docs under platform 2022-05-31 13:49:26 +02:00
Johan Eliasson
cdba9aa5a0 no nextjs 2022-05-31 11:26:16 +02:00
Johan Eliasson
b092e13ba0 more images 2022-05-31 11:16:14 +02:00
Johan Eliasson
a2343c8ef2 small config updates 2022-05-31 10:57:03 +02:00
Johan Eliasson
2cbe8a5045 dynamic url 2022-05-31 10:39:35 +02:00
Johan Eliasson
a38ddeed5e update 2022-05-31 10:35:49 +02:00
Johan Eliasson
1fbf990c79 test image 2022-05-31 10:25:36 +02:00
Johan Eliasson
c5a9fc568b Merge branch 'main' into docs-react-nhost-fix 2022-05-31 09:31:22 +02:00
Pierre-Louis Mercereau
de81942fb2 phrasing 2022-05-31 08:21:10 +02:00
Pierre-Louis Mercereau
5a60c5cb29 doc cleanup 2022-05-30 23:59:43 +02:00
Pierre-Louis Mercereau
752812a321 minor improvement 2022-05-30 23:53:07 +02:00
Pierre-Louis Mercereau
0af2337499 rename to bucketId 2022-05-30 23:46:10 +02:00
Pierre-Louis Mercereau
b238bd7b6b improve actions 2022-05-30 23:41:49 +02:00
Pierre-Louis Mercereau
f87403108f correct progress 2022-05-30 23:31:54 +02:00
Pierre-Louis Mercereau
20f8fe9eb4 correct inline doc 2022-05-30 22:48:56 +02:00
Pierre-Louis Mercereau
6f6044c49c forbid clearing list when uploading 2022-05-30 22:45:24 +02:00
Pierre-Louis Mercereau
4ffb14b240 rename to useFileUploadItem 2022-05-30 22:23:25 +02:00
Pierre-Louis Mercereau
f9854b15c4 typo and changesets 2022-05-30 22:19:14 +02:00
Pierre-Louis Mercereau
cf206a4d1c inline documentation 2022-05-30 22:10:03 +02:00
Pierre-Louis Mercereau
eae285bfc9 misc improvements 2022-05-30 21:47:13 +02:00
Pierre-Louis Mercereau
51a115eaf7 rename machine files and fix cancel action 2022-05-30 20:37:39 +02:00
Pierre-Louis Mercereau
da9c043fb5 reuse single file upload hook 2022-05-30 19:44:45 +02:00
Max
0b79b4f492 end ticks fix
fixed ``` end ticks from protected routes
2022-05-30 09:07:29 -07:00
Max
832702ff45 docs clarification v2
added review comments
2022-05-30 09:05:51 -07:00
Pierre-Louis Mercereau
e821af279a error, cancellation, simplification 2022-05-30 17:36:27 +02:00
Pierre-Louis Mercereau
1d3469a455 Merge branch 'main' into feat/file-upload 2022-05-30 15:58:37 +02:00
Pierre-Louis Mercereau
05ced50d74 Merge branch 'main' into anonymous-users 2022-05-30 13:31:27 +02:00
Pierre-Louis Mercereau
4c916a94f0 improve tests on anonymous users 2022-05-30 13:17:21 +02:00
Pierre-Louis Mercereau
a69a6d63e3 grammar 2022-05-30 13:16:33 +02:00
Pierre-Louis Mercereau
5abb2dda3f not(a and b) <=> not a and not b 2022-05-30 13:15:25 +02:00
Pierre-Louis Mercereau
5630c07a8a rename hook to composable 2022-05-30 11:47:19 +02:00
Pierre-Louis Mercereau
5c6239589c remove unused interface 2022-05-30 11:46:38 +02:00
Max
1791452fc2 docs clarification for nhost instance
Clarifying where nhost client instance should be made for ease of following and understanding the documentation. I think ultimately it should follow the steps shown subsequently.
2022-05-29 10:53:59 -07:00
Pierre-Louis Mercereau
9ff668d26c feat: remove one or every file in multiple upload 2022-05-27 09:34:52 +02:00
Pierre-Louis Mercereau
8f100e6e56 refactor: get things prepared for the next @nhost/react file structure 2022-05-27 08:29:40 +02:00
Pierre-Louis Mercereau
42dc93100c feat(wip): file upload machines, hooks and example 2022-05-26 22:28:44 +02:00
Nuno Pato
04aadb6fa4 Add missing https 2022-05-25 19:04:22 +02:00
Nuno Pato
e08a08973d Test urlFromParams util function 2022-05-25 18:36:16 +02:00
Nuno Pato
3b11caf3bc Introduce types for backendUrl and subdomain 2022-05-25 17:11:01 +02:00
Nuno Pato
049f67e54a Improve messaging 2022-05-25 00:45:41 +02:00
Nuno Pato
6da1f90bc3 Add subdomain alongside backendUrl 2022-05-25 00:03:14 +02:00
Pierre-Louis Mercereau
9772a3b577 rephrase 2022-05-24 15:24:11 +02:00
Nuno Pato
59fd68dee3 Add region to the NhostClient constructor 2022-05-24 12:56:02 +02:00
Pierre-Louis Mercereau
5b69e6eccb refactor: lint 2022-05-20 14:17:00 +02:00
Pierre-Louis Mercereau
1ca5d34c80 revert: unnecessary renaming 2022-05-20 14:08:18 +02:00
Pierre-Louis Mercereau
c161339423 chore: changesets and improvements 2022-05-20 13:56:59 +02:00
Pierre-Louis Mercereau
ab469fba84 Merge branch 'main' into anonymous-users 2022-05-20 13:07:04 +02:00
Pierre-Louis Mercereau
b122a306a4 feat: deanonymisation from a phone 2022-05-20 13:04:14 +02:00
Pierre-Louis Mercereau
d3a2eae789 refactor: merge email and signup states into a common registration state 2022-05-20 10:49:04 +02:00
Pierre-Louis Mercereau
3ac1694d1e Merge branch 'main' into anonymous-users 2022-05-20 08:44:36 +02:00
Pierre-Louis Mercereau
032743c750 refactor: consistent naming 2022-05-19 22:34:48 +02:00
Pierre-Louis Mercereau
5029c0b934 fix: corrections 2022-05-19 22:29:31 +02:00
Pierre-Louis Mercereau
7eb927b549 refactor: working and tested 2022-05-19 22:22:25 +02:00
Pierre-Louis Mercereau
dbb29ac4d6 Merge branch 'main' into anonymous-users 2022-05-19 13:49:24 +02:00
Pierre-Louis Mercereau
0348114d26 test: first anonymous user tests 2022-05-19 13:19:20 +02:00
Pierre-Louis Mercereau
e66c1689a4 Merge branch 'feat/vue' into anonymous-users 2022-05-19 13:03:29 +02:00
Pierre-Louis Mercereau
80c1de6a55 refactor: remove DEANONYMYZE event 2022-05-18 21:46:46 +02:00
Pierre-Louis Mercereau
52de584034 refactor: adjust 2022-05-18 21:39:31 +02:00
Pierre-Louis Mercereau
edfb04cd07 refactor: improve naming consistency 2022-05-18 21:27:47 +02:00
Pierre-Louis Mercereau
bb30d683ee Merge branch 'feat/vue' into anonymous-users 2022-05-18 20:57:14 +02:00
Pierre-Louis Mercereau
3b16cfd295 feat: deanonymisation
tests need to be written
2022-05-18 20:11:18 +02:00
729 changed files with 24147 additions and 4354 deletions

View File

@@ -0,0 +1,17 @@
name: Install Node and package dependencies
description: 'Install Node dependencies with pnpm'
runs:
using: 'composite'
steps:
- uses: pnpm/action-setup@v2.2.1
with:
version: 6.32.14
- name: Use Node.js 16
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'pnpm'
# * Install package dependencies. As cache is enabled, it will cache/restore downloaded files
- shell: bash
name: Install packages
run: pnpm install --frozen-lockfile

View File

@@ -1,8 +1,4 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
# Poached from https://github.com/hayes/pothos/tree/main/.github/workflows, thanks to the original author
name: Node.js CI
name: Tests
on:
push:
@@ -10,61 +6,112 @@ on:
paths-ignore:
- 'docs/**'
- 'templates/**'
- 'examples/**'
- 'assets/**'
- '**.md'
- 'LICENSE'
pull_request:
branches: [main]
types: [opened, synchronize]
paths-ignore:
- 'docs/**'
- 'templates/**'
- 'examples/**'
- 'assets/**'
- '**.md'
- 'LICENSE'
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: nhost
jobs:
build:
name: Build @nhost packages
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14, 16]
steps:
- uses: actions/checkout@v2
- name: Install nhost CLI
run: curl -L https://raw.githubusercontent.com/nhost/cli/main/get.sh | bash
- name: Start Nhost Backend
# * Install Node and dependencies. Package downloads will be cached for the next jobs.
- name: Install Node and dependencies
uses: ./.github/actions/install-dependencies
# * Build all Nhost packages as they are all supposed to be tested.
# * They will be reused through the Turborepo cache
- name: Build packages
run: pnpm build
# * List packagesthat has an `e2e` script, except the root, and return an array of their name and path
- name: List examples with an e2e script
id: set-matrix
run: |
cp -R examples/testing-project /tmp/
cd /tmp/testing-project
nhost dev &
- uses: pnpm/action-setup@v2.2.1
PACKAGES=$(pnpm recursive list --depth -1 --parseable --filter=!nhost-root \
| xargs -I@ jq "if (.scripts.e2e | length) != 0 then {name: .name, path: \"@\"} else null end" @/package.json \
| awk "!/null/" \
| jq -c --slurp)
echo "::set-output name=matrix::$PACKAGES"
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
e2e:
name: 'e2e: ${{ matrix.package.name }}'
needs: build
strategy:
# * Don't cancel other matrices when one fails
fail-fast: false
matrix:
package: ${{ fromJson(needs.build.outputs.matrix) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# * Install Nhost CLI if a `nhost/config.yaml` file is found
- name: Install Nhost CLI
if: hashFiles(format('{0}/nhost/config.yaml', matrix.package.path)) != ''
run: curl -L https://raw.githubusercontent.com/nhost/cli/main/get.sh | bash
# * Install Node and dependencies. Package dependencies won't be downloaded again as they have been cached by the `build` job.
- name: Install Node and dependencies
uses: ./.github/actions/install-dependencies
# * Run the `ci` script of the current package of the matrix. Dependencies build is cached by Turborepo
- name: Run e2e test
run: pnpm run e2e -- --filter="${{ matrix.package.name }}"
- id: file-name
if: ${{ failure() }}
name: Tranform package name into a valid file name
run: |
PACKAGE_FILE_NAME=$(echo "${{ matrix.package.name }}" | sed 's/@//g; s/\//-/g')
echo "::set-output name=fileName::$PACKAGE_FILE_NAME"
# * Run this step only if the previous step failed, and some Cypress screenshots/videos exist
- name: Upload Cypress videos and screenshots
if: ${{ failure() && hashFiles(format('{0}/cypress/screenshots/**', matrix.package.path), format('{0}/cypress/videos/**', matrix.package.path)) != ''}}
uses: actions/upload-artifact@v3
with:
version: 6.32.3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
name: cypress-${{ steps.file-name.outputs.fileName }}
path: |
${{format('{0}/cypress/screenshots/**', matrix.package.path)}}
${{format('{0}/cypress/videos/**', matrix.package.path)}}
unit:
name: Unit tests
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# * Install Node and dependencies. Package dependencies won't be downloaded again as they have been cached by the `build` job.
- name: Install Node and dependencies
uses: ./.github/actions/install-dependencies
# * Run every `test` script in the workspace . Dependencies build is cached by Turborepo
- name: Run unit tests
run: pnpm run test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Cache turbo
uses: actions/cache@v2
with:
path: ./node_modules/.cache/turbo
key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ github.ref_name }}-
- name: Install dependencies
run: pnpm install
- name: Wait for Nhost
run: pnpm run wait
- name: Build, tests and lint
run: pnpm run ci
files: '**/coverage/coverage-final.json'
name: codecov-umbrella
- name: Create summary
run: |
echo '### Code coverage' >> $GITHUB_STEP_SUMMARY
echo 'Visit [codecov](https://app.codecov.io/gh/nhost/nhost/) to see the code coverage reports' >> $GITHUB_STEP_SUMMARY
lint:
name: Lint
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# * Install Node and dependencies. Package dependencies won't be downloaded again as they have been cached by the `build` job.
- name: Install Node and dependencies
uses: ./.github/actions/install-dependencies
# * Run every `lint` script in the workspace . Dependencies build is cached by Turborepo
- name: Lint
run: pnpm run lint

5
.gitignore vendored
View File

@@ -53,4 +53,7 @@ todo.md
# TypeDoc output
.docgen
.docgen
# Nhost CLI data
.nhost

View File

@@ -1,4 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged

View File

@@ -1,6 +0,0 @@
{
"packages/(docgen|hasura-auth-js|hasura-storage-js|nextjs|nhost-js|react|core|vue)/src/**/*.{js,ts,jsx,tsx}": [
"pnpm docgen",
"git add docs"
]
}

View File

@@ -60,19 +60,24 @@ $ pnpm start
## Run test suites
In order to run tests, the Nhost testing backend should be running locally. You can run it from a separate terminal:
### Unit tests
```sh
$ cd examples/testing-project
$ nhost -d
```
Once Nhost is started locally, you can run the tests with the following command from the repository root:
You can run the unit tests with the following command from the repository root:
```sh
$ pnpm test
```
### End-to-end tests
Each package that defines end-to-end tests embeds their own Nhost configuration, that will be automatically when running the tests. As a result, you must make sure you are not running the Nhost CLI before running the tests.
You can run the e2e tests with the following command from the repository root:
```sh
$ pnpm e2e
```
## Changesets
If you've made changes to the packages, you must describe those changes so that they can be reflected in the next release.

153
README.md
View File

@@ -1,4 +1,4 @@
![Nhost](https://i.imgur.com/FrcdOZg.png)
![Nhost](https://i.imgur.com/ZenoUlM.png)
<div align="center">
@@ -12,7 +12,7 @@
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://nhost.io/blog">Blog</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://twitter.com/nhostio">Twitter</a>
<a href="https://twitter.com/nhost">Twitter</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://nhost.io/discord">Discord</a>
<br />
@@ -32,7 +32,7 @@ Nhost consists of open source software:
- Database: [PostgreSQL](https://www.postgresql.org/)
- Instant GraphQL API: [Hasura](https://hasura.io/)
- Authentication: [Hasura Auth](https://github.com/nhost/hasura-auth/)
- Storage: [Hasura Storage](https://hub.docker.com/r/nhost/hasura-storage)
- Storage: [Hasura Storage](https://github.com/nhost/hasura-storage)
- Serverless Functions: Node.js (JavaScript and TypeScript)
- [Nhost CLI](https://docs.nhost.io/reference/cli) for local development
@@ -67,7 +67,8 @@ Install the `@nhost/nhost-js` package and start build your app:
import { NhostClient } from '@nhost/nhost-js'
const nhost = new NhostClient({
backendUrl: 'https://awesome-app.nhost.run'
subdomain: '<your-subdomain>',
region: '<your-region>'
})
await nhost.auth.signIn({ email: 'elon@musk.com', password: 'spaceX' })
@@ -115,6 +116,10 @@ Also, follow Nhost on [GitHub Discussions](https://github.com/nhost/nhost/discus
This repository, and most of our other open source projects, are licensed under the MIT license.
<a href="https://runacap.com/ross-index/q1-2022/" target="_blank" rel="noopener">
<img style="width: 260px; height: 56px" src="https://runacap.com/wp-content/uploads/2022/06/ROSS_badge_black_Q1_2022.svg" alt="ROSS Index - Fastest Growing Open-Source Startups in Q1 2022 | Runa Capital" width="260" height="56" />
</a>
### How to contribute
Here are some ways of contributing to making Nhost better:
@@ -143,10 +148,10 @@ Here are some ways of contributing to making Nhost better:
</a>
</td>
<td align="center">
<a href="https://github.com/szilarddoro">
<img src="https://avatars.githubusercontent.com/u/310881?v=4" width="100;" alt="szilarddoro"/>
<a href="https://github.com/nunopato">
<img src="https://avatars.githubusercontent.com/u/1523504?v=4" width="100;" alt="nunopato"/>
<br />
<sub><b>Szilárd Dóró</b></sub>
<sub><b>Nuno Pato</b></sub>
</a>
</td>
<td align="center">
@@ -157,26 +162,26 @@ Here are some ways of contributing to making Nhost better:
</a>
</td>
<td align="center">
<a href="https://github.com/nunopato">
<img src="https://avatars.githubusercontent.com/u/1523504?v=4" width="100;" alt="nunopato"/>
<a href="https://github.com/szilarddoro">
<img src="https://avatars.githubusercontent.com/u/310881?v=4" width="100;" alt="szilarddoro"/>
<br />
<sub><b>Nuno Pato</b></sub>
<sub><b>Szilárd Dóró</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/subatuba21">
<img src="https://avatars.githubusercontent.com/u/34824571?v=4" width="100;" alt="subatuba21"/>
<br />
<sub><b>Subha Das</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/guicurcio">
<img src="https://avatars.githubusercontent.com/u/20285232?v=4" width="100;" alt="guicurcio"/>
<br />
<sub><b>Guido Curcio</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/subatuba21">
<img src="https://avatars.githubusercontent.com/u/34824571?v=4" width="100;" alt="subatuba21"/>
<br />
<sub><b>Subha Das</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/sebagudelo">
@@ -192,12 +197,34 @@ Here are some ways of contributing to making Nhost better:
<sub><b>Mrinal Wahal</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/timpratim">
<img src="https://avatars.githubusercontent.com/u/32492961?v=4" width="100;" alt="timpratim"/>
<br />
<sub><b>Pratim</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/GavanWilhite">
<img src="https://avatars.githubusercontent.com/u/2085119?v=4" width="100;" alt="GavanWilhite"/>
<br />
<sub><b>Gavan Wilhite</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/FuzzyReason">
<img src="https://avatars.githubusercontent.com/u/62517920?v=4" width="100;" alt="FuzzyReason"/>
<br />
<sub><b>Vadim Smirnov</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/macmac49">
<img src="https://avatars.githubusercontent.com/u/831190?v=4" width="100;" alt="macmac49"/>
<br />
<sub><b>Macmac49</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/subhendukundu">
@@ -212,8 +239,7 @@ Here are some ways of contributing to making Nhost better:
<br />
<sub><b>Christian Gambardella</b></sub>
</a>
</td></tr>
<tr>
</td>
<td align="center">
<a href="https://github.com/chrtze">
<img src="https://avatars.githubusercontent.com/u/3797215?v=4" width="100;" alt="chrtze"/>
@@ -234,12 +260,13 @@ Here are some ways of contributing to making Nhost better:
<br />
<sub><b>Filip Hájek</b></sub>
</a>
</td>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/GavanWilhite">
<img src="https://avatars.githubusercontent.com/u/2085119?v=4" width="100;" alt="GavanWilhite"/>
<a href="https://github.com/MelodicCrypter">
<img src="https://avatars.githubusercontent.com/u/18341500?v=4" width="100;" alt="MelodicCrypter"/>
<br />
<sub><b>Gavan Wilhite</b></sub>
<sub><b>Hugh Caluscusin</b></sub>
</a>
</td>
<td align="center">
@@ -249,19 +276,25 @@ Here are some ways of contributing to making Nhost better:
<sub><b>Jerry Jäppinen</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/mdp18">
<img src="https://avatars.githubusercontent.com/u/11698527?v=4" width="100;" alt="mdp18"/>
<br />
<sub><b>Max</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/mustafa-hanif">
<img src="https://avatars.githubusercontent.com/u/30019262?v=4" width="100;" alt="mustafa-hanif"/>
<br />
<sub><b>Mustafa Hanif</b></sub>
</a>
</td></tr>
<tr>
</td>
<td align="center">
<a href="https://github.com/timpratim">
<img src="https://avatars.githubusercontent.com/u/32492961?v=4" width="100;" alt="timpratim"/>
<a href="https://github.com/nbourdin">
<img src="https://avatars.githubusercontent.com/u/5602476?v=4" width="100;" alt="nbourdin"/>
<br />
<sub><b>Pratim</b></sub>
<sub><b>Nicolas Bourdin</b></sub>
</a>
</td>
<td align="center">
@@ -270,6 +303,21 @@ Here are some ways of contributing to making Nhost better:
<br />
<sub><b>Savin Vadim</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/Svarto">
<img src="https://avatars.githubusercontent.com/u/24279217?v=4" width="100;" alt="Svarto"/>
<br />
<sub><b>Svarto</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/muttenzer">
<img src="https://avatars.githubusercontent.com/u/49474412?v=4" width="100;" alt="muttenzer"/>
<br />
<sub><b>Muttenzer</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ahmic">
@@ -300,6 +348,13 @@ Here are some ways of contributing to making Nhost better:
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/dminkovsky">
<img src="https://avatars.githubusercontent.com/u/218725?v=4" width="100;" alt="dminkovsky"/>
<br />
<sub><b>Dmitry Minkovsky</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/dohomi">
<img src="https://avatars.githubusercontent.com/u/489221?v=4" width="100;" alt="dohomi"/>
@@ -328,13 +383,6 @@ Here are some ways of contributing to making Nhost better:
<sub><b>Hoang Do</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/MelodicCrypter">
<img src="https://avatars.githubusercontent.com/u/18341500?v=4" width="100;" alt="MelodicCrypter"/>
<br />
<sub><b>Hugh Caluscusin</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/jladuval">
<img src="https://avatars.githubusercontent.com/u/1935359?v=4" width="100;" alt="jladuval"/>
@@ -343,6 +391,13 @@ Here are some ways of contributing to making Nhost better:
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/kylehayes">
<img src="https://avatars.githubusercontent.com/u/509932?v=4" width="100;" alt="kylehayes"/>
<br />
<sub><b>Kyle Hayes</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/leothorp">
<img src="https://avatars.githubusercontent.com/u/12928449?v=4" width="100;" alt="leothorp"/>
@@ -350,6 +405,13 @@ Here are some ways of contributing to making Nhost better:
<sub><b>Leo Thorp</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/LucasBois1">
<img src="https://avatars.githubusercontent.com/u/44686060?v=4" width="100;" alt="LucasBois1"/>
<br />
<sub><b>Lucas Bois</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/MarcelloTheArcane">
<img src="https://avatars.githubusercontent.com/u/21159570?v=4" width="100;" alt="MarcelloTheArcane"/>
@@ -358,10 +420,10 @@ Here are some ways of contributing to making Nhost better:
</a>
</td>
<td align="center">
<a href="https://github.com/nbourdin">
<img src="https://avatars.githubusercontent.com/u/5602476?v=4" width="100;" alt="nbourdin"/>
<a href="https://github.com/nachoaldamav">
<img src="https://avatars.githubusercontent.com/u/22749943?v=4" width="100;" alt="nachoaldamav"/>
<br />
<sub><b>Nicolas Bourdin</b></sub>
<sub><b>Nacho Aldama</b></sub>
</a>
</td>
<td align="center">
@@ -370,7 +432,8 @@ Here are some ways of contributing to making Nhost better:
<br />
<sub><b>Nirmalya Ghosh</b></sub>
</a>
</td>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/quentin-decre">
<img src="https://avatars.githubusercontent.com/u/1137511?v=4" width="100;" alt="quentin-decre"/>
@@ -384,8 +447,14 @@ Here are some ways of contributing to making Nhost better:
<br />
<sub><b>Tapas Adhikary</b></sub>
</a>
</td></tr>
<tr>
</td>
<td align="center">
<a href="https://github.com/uulwake">
<img src="https://avatars.githubusercontent.com/u/22399181?v=4" width="100;" alt="uulwake"/>
<br />
<sub><b>Ulrich Wake</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/komninoschat">
<img src="https://avatars.githubusercontent.com/u/29049104?v=4" width="100;" alt="komninoschat"/>

View File

@@ -20,7 +20,8 @@ module.exports = {
'tests/**/*.ts',
'tests/**/*.d.ts'
],
plugins: ['@typescript-eslint', 'simple-import-sort'],
plugins: ['@typescript-eslint', 'simple-import-sort', 'cypress'],
extends: ['plugin:cypress/recommended'],
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module'

View File

@@ -1,6 +1,12 @@
const base = require('./.eslint.base')
module.exports = {
...base,
extends: ['react-app', 'plugin:react/recommended', 'plugin:react-hooks/recommended'],
extends: [
...base.extends,
'react-app',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:react/jsx-runtime'
],
plugins: [...base.plugins, 'react', 'react-hooks']
}

View File

@@ -1,10 +1,13 @@
const base = require('./.eslint.base')
module.exports = {
...base,
extends: ['plugin:import/recommended', 'plugin:import/typescript'],
extends: [...base.extends, 'plugin:import/recommended', 'plugin:import/typescript'],
parser: 'vue-eslint-parser',
parserOptions: {
...base.parserOptions,
parser: '@typescript-eslint/parser'
},
rules: {
'vue/html-self-closing': 'off'
}
}

4
config/.husky/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged --config config/.lintstagedrc.js

8
config/.lintstagedrc.js Normal file
View File

@@ -0,0 +1,8 @@
module.exports = {
'packages/(docgen|hasura-auth-js|hasura-storage-js|nextjs|nhost-js|react|core|vue)/src/**/*.{js,ts,jsx,tsx}':
['pnpm docgen', 'git add docs'],
'(nhost-cloud.yaml|**/nhost/config.yaml)': () => [
'pnpm sync-versions',
"git add ':(glob)**/nhost/config.yaml'"
]
}

View File

@@ -14,9 +14,6 @@ const entry = fs.existsSync(tsEntry) ? tsEntry : tsEntry.replace('.ts', '.tsx')
const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.dependencies))]
export default defineConfig({
optimizeDeps: {
include: ['react/jsx-runtime']
},
plugins: [
tsconfigPaths(),
dts({
@@ -37,14 +34,18 @@ export default defineConfig({
include: [`${PWD}/src/**/*.{spec,test}.{ts,tsx}`, `${PWD}/tests/**/*.{spec,test}.{ts,tsx}`],
// Note: temporarily disabled threads, because of a bug in vitest
// https://github.com/vitest-dev/vitest/issues/1171
threads: false
threads: false,
coverage: {
enabled: process.env.CI === 'true',
reporter: ['json']
}
},
build: {
sourcemap: true,
lib: {
entry,
name: pkg.name,
fileName: (format) => (format === 'cjs' ? `index.cjs.js` : `index.mjs`),
fileName: (format) => (format === 'cjs' ? `index.cjs.js` : `index.esm.js`),
formats: ['cjs', 'es']
},
rollupOptions: {
@@ -55,6 +56,7 @@ export default defineConfig({
'@apollo/client': '@apollo/client',
'@apollo/client/core': '@apollo/client/core',
'@apollo/client/link/context': '@apollo/client/link/context',
'@apollo/client/react': '@apollo/client/react',
'@apollo/client/link/subscriptions': '@apollo/client/link/subscriptions',
'@apollo/client/utilities': '@apollo/client/utilities',
'graphql-ws': 'graphql-ws',

View File

@@ -6,5 +6,8 @@ import baseLibConfig from './vite.lib.config'
export default defineConfig({
...baseLibConfig,
plugins: [react(), ...baseLibConfig.plugins]
optimizeDeps: {
include: ['react/jsx-runtime']
},
plugins: [react({ jsxRuntime: 'classic' }), ...baseLibConfig.plugins]
})

View File

@@ -1,5 +1,11 @@
# @nhost/docs
## 0.0.2
### Patch Changes
- 747aa969: fix: added twitch and discord as provider
## 0.0.1
### Patch Changes

View File

@@ -2,6 +2,7 @@
title: 'Introduction to Nhost'
sidebar_label: Introduction
sidebar_position: 1
image: /img/og/platform/introduction-to-nhost.png
---
Nhost is the open source GraphQL backend (Firebase Alternative) and a development platform. Nhost is doing for the backend, what [Netlify](https://netlify.com/) and [Vercel](https://vercel.com/) are doing for the frontend.

View File

@@ -12,11 +12,11 @@ The following email templates are available:
- **signin-passwordless** - Magic Link
- **password-reset** - Reset password
Changing email templates is only available for apps on the [Pro and Enterprise plan](https://nhost.io/pricing).
Changing email templates is only available for projects on the [Pro and Enterprise plan](https://nhost.io/pricing).
## Update Email Templates
Your app must be connected to a GitHub repository using the [GitHub Integration](/platform/github-integration) to be able to change the email templates.
Your project must be connected to a GitHub repository using the [GitHub Integration](/platform/github-integration) to be able to change the email templates.
Email templates are automatically deployed during a deployment, just like database migrations, Hasura metadata, and Serverless Functions.
@@ -29,7 +29,7 @@ The email templates should be provided as body.html and subject.txt files in thi
**Example:** Email templates for `en` (English) and `es` (Spanish):
```txt
my-nhost-app/
my-nhost-project/
└── nhost/
├── config.yaml
├── emails/
@@ -70,7 +70,7 @@ As you see, the format is:
nhost/emails/{two-letter-language-code}/{email-template}/[subject.txt, body.html]
```
Default templates for English (`en`) and French (`fr`) are automatically generated when the app is initialized with the [CLI](/platform/cli).
Default templates for English (`en`) and French (`fr`) are automatically generated when the project is initialized with the [CLI](/platform/cli).
## Languages

View File

@@ -2,11 +2,12 @@
title: Nhost Authentication
sidebar_label: Authentication
sidebar_position: 1
image: /img/og/platform/authentication.png
---
Nhost Authentication is a ready-to-use authentication service that is integrated with the [GraphQL API](/platform/graphql) and its permission system from Hasura.
Nhost Authentication lets you authenticate users to your app using different sign-in methods:
Nhost Authentication lets you authenticate users using different sign-in methods:
- [Email and Password](/platform/authentication/sign-in-with-email-and-password)
- [Magic Link](/platform/authentication/sign-in-with-magic-link)

View File

@@ -2,11 +2,12 @@
title: Sign In with Email and Password
sidebar_label: Email and Password
slug: /platform/authentication/sign-in-with-email-and-password
image: /img/og/platform/sign-in-with-email-and-password.png
---
Follow this guide to sign in users with email and password.
The email and password sign-in method is enabled by default for all Nhost apps.
The email and password sign-in method is enabled by default for all Nhost projects.
## Sign Up
@@ -21,7 +22,7 @@ await nhost.auth.signUp({
})
```
If you've turned on email verification in your app's **login settings**, a user will be sent a verification email upon signup. The user must click the verification link in the email before they can sign in.
If you've turned on email verification in your project's **Authentication Settings**, a user will be sent a verification email upon signup. The user must click the verification link in the email before they can sign in.
## Sign In
@@ -38,6 +39,6 @@ await nhost.auth.signIn({
## Verified Emails
You can decide if only verified emails should be able to sign in or not. Modify the **Only allow login for verified emails.** setting in the **Login Settings** section under **Users** in your Nhost app.
You can decide if only verified emails should be able to sign in or not. Modify the **Only allow users with verified emails to sign in.** setting in the **Authentication Settings** section under **Users** in your Nhost project.
An email-verification email is automatically sent to the user during sign-up if your app only allows to sign in users with verified emails. You can also manually send the verification email to the user using [`nhost.auth.sendVerificationEmail()`](/reference/javascript/auth/send-verification-email).
An email-verification email is automatically sent to the user during sign-up if your project only allows to sign in users with verified emails. You can also manually send the verification email to the user using [`nhost.auth.sendVerificationEmail()`](/reference/javascript/auth/send-verification-email).

View File

@@ -2,21 +2,32 @@
title: Sign In with Magic Link
sidebar_label: Magic Link
slug: /platform/authentication/sign-in-with-magic-link
image: /img/og/platform/sign-in-with-magic-link.png
---
Follow this guide to sign in users with Magic Link, also called passwordless email.
The Magic Link sign-in method enables you to sign in users to your app using an email address, without requiring a password.
The Magic Link sign-in method enables you to sign in users using an email address, without requiring a password.
## Setup
Enable the Magic Link sign-in method in the Nhost dashboard under **Users** -> **Authentication Settings** -> **Magic Link**.
![Magic Link Setup with Nhost](/img/platform/authentication/sign-in-methods/magic-link/magic-link-setup.png)
## Sign In
To sign in users with Magic Link is a two-step process:
1. Send a Magic Link to the user's email address.
2. The user clicks the Magic Link in their email to sign in to your app.
2. The user clicks the Magic Link in their email to sign in.
Use the [Nhost JavaScript client](/reference/javascript) to sign up users with Magic Link in your app:
Use the [Nhost JavaScript client](/reference/javascript) to sign in users with Magic Link:
```js
nhost.auth.signIn({
email: 'joe@example.com'
})
```
If you want to change the email for your magic link emails, you can do so by changing the [email templates](/platform/authentication/email-templates).

View File

@@ -2,26 +2,56 @@
title: Sign In with Phone Number (SMS)
sidebar_label: Phone Number (SMS)
slug: /platform/authentication/sign-in-with-phone-number-sms
image: /img/og/platform/sign-in-with-phone-number-sms.png
---
Follow this guide to sign in users with a phone number (SMS).
## Setup
You need a [Twilio account](https://www.twilio.com/try-twilio) to use this feature because all SMS are sent through Twilio.
Enable the Phone Number (SMS) sign-in method in the Nhost dashboard under **Users** -> **Authentication Settings** -> **Passwordless SMS**.
You need to insert the following settings in the Nhost dashboard from Twilio:
- Account SID
- Auth Token
- Messaging Service SID (or a Twilio phone number)
<video width="99%" autoPlay muted loop controls="true" style={{ marginBottom: '15px' }}>
<source src="/videos/enable-sms-sign-in.mp4" type="video/mp4" />
</video>
## Sign In
To sign in users with a phone number is a two-step process:
1. Send a one-time password (OTP) to the user's phone number.
2. The user uses the OTP to sign in
2. The user uses the OTP to sign in.
```js
// Step 1: Send OTP to the user's phone number
await nhost.auth.signIn({
phoneNumber: '0011233213123'
phoneNumber: '+11233213123'
})
// Step 2: Sign in user using their phone number and OTP
await nhost.auth.signIn({
phoneNumber: '0011233213123'
phoneNumber: '+11233213123'
// highlight-next-line
otp: '123456',
})
```
The first time a user signs in using a phone number, the user is created. That means you don't need to sign up the user before signin in the user.
:::info
Phone numbers should start with `+` (not `00`) to follow the [E.164 formatting standard](https://en.wikipedia.org/wiki/E.164).
:::
## Other SMS Providers
We only support Twilio for now. If you want support for another SMS provider, please create an issue on [GitHub](https://github.com/nhost/nhost).

View File

@@ -0,0 +1,98 @@
---
title: Sign In with Apple
sidebar_label: Apple
slug: /platform/authentication/sign-in-with-apple
image: /img/og/platform/sign-in-with-apple.png
---
Follow this guide to sign in users with Apple.
<p align="center">
<img
alt="Apple Sign In Preview"
src="/img/social-providers/apple-preview.svg"
width={480}
height={267}
/>
</p>
## Create Apple Developer Account
- Click on "Account" in the top menu.
- Create a new [Apple Developer account](https://developer.apple.com) if you don't have one already and sign in to the Apple Developer platform.
## Get an App ID
- Go to the [Apple Developer Dashboard](https://developer.apple.com/account/).
- Click on **Certificates, IDs & Profiles** in the left menu.
- Click on **Identifiers** in the left menu.
- Click on the "+" button in the header next to "Identifiers".
- Select **App IDs** and click **Continue**.
- Select type **App** and click **Continue**.
- Fill in the App information:
- Description.
- Bundle ID (ex. io.nhost.app or com.your-startup.app).
- Scroll down and check **Sign In With Apple**.
- Click **Continue** in the top right corner.
- Click **Register** in the top right corner.
- Click on the newly created app to see **Team ID**.
- **Team ID**: Copy and paste the **Team ID** to your Nhost OAuth settings for Apple.
## Get a Service ID
- Go to the [Apple Developer Dashboard](https://developer.apple.com/account/).
- Click on **Certificates, IDs & Profiles** in the left menu.
- Click on **Identifiers** in the left menu.
- Click on **Certificates, IDs & Profiles** in the left menu.
- Click on **Identifiers** in the left menu.
- Click on the "+" button in the header next to "Identifiers".
- Select **Service IDs** and click **Continue**.
- Fill in the Service information:
- Description.
- Identifier (Service ID) (ex. _service_.io.nhost.app or _service_.com.your-startup.app). Notice you can't use the same identifier as for the app so we recommend adding "service" at the beginning if the identifier.
- **Service ID**: Copy and paste the **Identifier (Service ID)** to your Nhost OAuth settings for Apple.
- Click **Continue** in the top right corner.
- Click **Register** in the top right corner.
- Click on the newly created service in the list of Identifiers.
- Click the checkbox to enable "Sign in with Apple".
- Click **Configure** next to "Sign in with Apple".
- Make sure your newly created Bundle ID is selected under Primary App ID.
- Add your base auth domain under "Domains and Subdomains". E.g. `<subdomain>.nhost.run`.
- Add the full callback URL under "Return URLs". E.g. `https://<subdomain>.nhost.run/v1/auth/signin/provider/apple/callback`.
- Click **Next**.
- Click **Done**.
- Click **Continue** in the top right corner.
- Click **Save** in the top right corner.
## Generate Key
- Go to the [Apple Developer Dashboard](https://developer.apple.com/account/).
- Click on **Certificates, IDs & Profiles** in the left menu.
- Click on **Keys** in the left menu.
- Click on **Create a key**.
- Fill in a name for your key.
- Click the checkbox to enable "Sign in with Apple".
- Click **Configure** next to "Sign in with Apple".
- Select your newly created App ID in the dropdown selector.
- Click **Save** in the top right corner.
- Click **Continue** in the top right corner.
- Click **Register** in the top right corner.
- **Key ID**: Copy and paste the **Key ID** to your Nhost OAuth settings for Apple.
- Click **Download** to download the key to your computer.
- **Private Key**: Copy and paste the content of the downloaded key to your Nhost OAuth settings for Apple.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({
provider: 'apple'
})
```

View File

@@ -0,0 +1,45 @@
---
title: Sign In with Discord
sidebar_label: Discord
slug: /platform/authentication/sign-in-with-discord
image: /img/og/platform/sign-in-with-discord.png
---
Follow this guide to sign in users with Discord.
<p align="center">
<img
alt="Discord Sign In Preview"
src="/img/social-providers/discord-preview.svg"
width={480}
height={267}
/>
</p>
## Create Discord Account
- Create a new [Discord account](https://discord.com/) if you don't have one already.
## Create Discord App
- Sign in to the [Discord Developer Portal](https://discord.com/developers/applications).
- Click on **New Application** in the top right corner.
- Fill in the name of your Discord Application and click **Create**.
- Click on **OAuth2** settings in the left menu.
- Copy the **Client ID** and paste it into your Nhost OAuth settings for Discord.
- Click on **Reset Secret**.
- Click **Yes, do it** to generate a new secret.
- Copy the **Client Secret** and paste it into your Nhost OAuth settings for Discord.
- Click on **Add Redirect**.
- Copy and paste the callback URL from your Nhost OAuth settings for Discord to the input field in the Discord Developer portal.
- Click **Save Changes** to save the added callback URL.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({
provider: 'discord'
})
```

View File

@@ -2,9 +2,10 @@
title: Sign In with Facebook
sidebar_label: Facebook
slug: /platform/authentication/sign-in-with-facebook
image: /img/og/platform/sign-in-with-facebook.png
---
Follow this guide to sign in users with Facebook with your Nhost App.
Follow this guide to sign in users with Facebook.
<p align="center">
<img
@@ -58,7 +59,7 @@ To make sure we can fetch all user data (email, profile picture and name). For t
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users in your app:
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({

View File

@@ -2,9 +2,10 @@
title: Sign In with GitHub
sidebar_label: GitHub
slug: /platform/authentication/sign-in-with-github
image: /img/og/platform/sign-in-with-github.png
---
Follow this guide to sign in users with GitHub with your Nhost App.
Follow this guide to sign in users with GitHub.
<p align="center">
<img
@@ -43,7 +44,7 @@ Follow this guide to sign in users with GitHub with your Nhost App.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users in your app:
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({

View File

@@ -2,9 +2,10 @@
title: Sign In with Google
sidebar_label: Google
slug: /platform/authentication/sign-in-with-google
image: /img/og/platform/sign-in-with-google.png
---
Follow this guide to sign in users with Google with your Nhost App.
Follow this guide to sign in users with Google.
<p align="center">
<img
@@ -67,7 +68,7 @@ Follow this guide to sign in users with Google with your Nhost App.
## Sign In Users
Use the Nhost JavaScript client to sign in users in your app:
Use the Nhost JavaScript client to sign in users:
```js
nhost.auth.signIn({

View File

@@ -2,9 +2,10 @@
title: Sign In with LinkedIn
sidebar_label: LinkedIn
slug: /platform/authentication/sign-in-with-linkedin
image: /img/og/platform/sign-in-with-linkedin.png
---
Follow this guide to sign in users with LinkedIn with your Nhost App.
Follow this guide to sign in users with LinkedIn.
<p align="center">
<img
@@ -50,7 +51,7 @@ Follow this guide to sign in users with LinkedIn with your Nhost App.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users in your app:
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({

View File

@@ -2,9 +2,10 @@
title: Sign In with Spotify
sidebar_label: Spotify
slug: /platform/authentication/sign-in-with-spotify
image: /img/og/platform/sign-in-with-spotify.png
---
Follow this guide to sign in users with Spotify with your Nhost App.
Follow this guide to sign in users with Spotify.
<p align="center">
<img
@@ -43,7 +44,7 @@ Follow this guide to sign in users with Spotify with your Nhost App.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users in your app:
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({

View File

@@ -0,0 +1,47 @@
---
title: Sign In with Twitch
sidebar_label: Twitch
slug: /platform/authentication/sign-in-with-twitch
image: /img/og/platform/sign-in-with-twitch.png
---
Follow this guide to sign in users with Twitch.
<p align="center">
<img
alt="Twitch Sign In Preview"
src="/img/social-providers/twitch-preview.svg"
width={480}
height={267}
/>
</p>
## Create Twitch Account
- Create a new [Twitch account](https://twitch.tv/) if you don't have one already.
## Create Twitch App
- Sign in to the [Twitch Developer Console](https://dev.twitch.tv/console).
- Click on **Register Your Application**.
- Fill in a **Twitch application name**.
- Copy and paste the callback URL from your Nhost OAuth settings for Twitch to the input field under **OAuth Redirect URLs** and click **Add** to the right of the input field.
- Select an application **Category**. E.g. _Application Integration_.
- Click **Create**.
## Get Twitch Appplication Client ID and Client Secret
- Click on **Manage** on your newly created Twitch application.
- Copy the **Client ID** and paste it into your Nhost OAuth settings for Twitch.
- Click on **New Secret** to generate a new client secret.
- Copy the **Client Secret** and paste it into your Nhost OAuth settings for Twitch.
## Sign In Users
Use the [Nhost JavaScript client](/reference/javascript) to sign in users:
```js
nhost.auth.signIn({
provider: 'twitch'
})
```

View File

@@ -1,6 +1,7 @@
---
title: 'Sign-In Methods'
slug: /platform/authentication/sign-in-methods
image: /img/og/platform/sign-in-methods.png
---
Nhost Authentication support the following sign-in methods:
@@ -16,13 +17,13 @@ Nhost Authentication support the following sign-in methods:
## Enabling Social Sign-In Provider
To start with social sign-in, select your app in Nhost Console and go to **Users****Login settings**.
To start with social sign-in, select your project in Nhost Dashboard and go to **Users****Authentication Settings**.
You need to set the Client ID and Client Secret for each provider that you want to enable.
## Implementing sign-in experience
Use the [Nhost JavaScript SDK](/reference/javascript) and the `signIn()` method to implement social sign-in in your app,
Use the [Nhost JavaScript SDK](/reference/javascript) and the `signIn()` method to implement social sign-in for your project.
Here's an example of how to implement sign-in with GitHub:
@@ -32,13 +33,24 @@ nhost.auth.signIn({
})
```
Users are redirected to your Nhost app's **client URL** by default. By default, your Nhost app's client URL is set to `http://localhost:3000`. You can change the value of your client URL in the Nhost console by going to **Users****Login settings****Client URL**.
Users are redirected to your Nhost project's **client URL** by default. By default, your Nhost project's client URL is set to `http://localhost:3000`. You can change the value of your client URL in the Nhost console by going to **Users****Authentication Settings****Client URL**.
Here is an example of how to redirect to another host or path:
```js
nhost.auth.signIn({
provider: '<provider>'
options: {
redirectTo: "<host>/<slug>" // Example: "https://example.com/dashboard"
},
})
```
## Provider OAuth scopes
Scopes are a mechanism in OAuth to allow or limit an application's access to a user's account.
By default, Nhost sets the scope to get the name, email, and avatar url for each user. Editing scope is not currently supported.
By default, Nhost sets the scope to get the name, email, and avatar URL for each user. Editing scope is not currently supported.
## Provider OAuth Tokens

View File

@@ -2,6 +2,7 @@
title: Tokens
sidebar_label: Tokens
sidebar_position: 10
image: /img/og/platform/tokens.png
---
Nhost Authentication makes use of two types of tokens:

View File

@@ -2,6 +2,7 @@
title: Users
sidebar_label: Users
sidebar_position: 1
image: /img/og/platform/users.png
---
Users are stored in the database in the `users` table in the `auth` schema.
@@ -59,11 +60,35 @@ The default role is used when no role is specified in the GraphQL request. By de
### Allowed Roles
Allowed roles are roles the user is allowed to use when making a GraphQL request. Usually you would change the role from `user` (the default role) to some other role because you want Hasura to use a different role to resolve permissions for a particular GraphQL request.
By default, users have two allowed roles:
- `user`
- `me`
You can manage what allowed roles users should get when they sign up under **Users** -> **Roles & Permissions**.
:::info
You must also add the roles manually to the `auth.roles` table.
:::
It's also possible to give users a subset of allowed roles during signup.
**Example:** Only give the `user` role (without the `me` role) for the user's allowed roles:
```js
await nhost.auth.signUp({
email: 'joe@example.com',
password: 'secret-password'
options: {
allowedRoles: ['user']
}
})
```
### Public Role
The `public` role is used to resolve GraphQL permissions for unauthenticated users.

View File

@@ -1,14 +1,15 @@
---
title: 'CLI'
sidebar_position: 11
image: /img/og/platform/cli.png
---
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
Nhost CLI, or `nhost`, is a command-line interface that lets you run and manage Nhost apps locally on Mac, Linux and Windows (WSL2).
Nhost CLI, or `nhost`, is a command-line interface that lets you run and manage Nhost projects locally on Mac, Linux and Windows (WSL2).
This means you get a full-featured Nhost app running locally on your machine:
This means you get a full-featured Nhost project running locally on your machine:
- Postgres Database
- Hasura GraphQL API
@@ -40,6 +41,12 @@ The following dependencies are required:
- [Git](https://git-scm.com/downloads)
- [Docker](https://www.docker.com/get-started) (must be running while using the CLI)
:::info
Make sure you have the correct permissions for Docker so you don't have to run Docker with `sudo`. See ["Post-installation steps for Linux"](https://docs.docker.com/engine/install/linux-postinstall/) from Docker's documentation.
:::
## Get started
Start by authenticating yourself to Nhost Cloud:
@@ -48,31 +55,55 @@ Start by authenticating yourself to Nhost Cloud:
nhost login
```
Once signed in, you can list all your Nhost apps using:
Once signed in, you can list all your Nhost projects using:
```
nhost list
```
Let's start by initializing a remote Nhost app locally with the following command:
Let's start by initializing a remote Nhost project locally with the following command:
```
nhost init --remote
```
Pick a Nhost app to use then change the directory once the app initialization is completed:
Pick a Nhost project to use then change the directory once the project initialization is completed:
```
cd my_test_app
```
Then start the Nhost app locally:
Then start the Nhost project locally:
```
nhost up
```
Hasura Console starts automatically and your Nhost app is running locally with the backend URL: `http://localhost:1337`.
Hasura Console starts automatically and your Nhost project is running locally with the backend URL: `http://localhost:1337`.
## Subdomain and Region
Use `localhost:1337` as the `subdomain`, and skip `region` when using the CLI and the [JavaScript SDK](/reference/javascript):
```
import { NhostClient } from '@nhost/nhost-js'
const nhost = new NhostClient({
subdomain: 'localhost:1337',
})
```
## Emails
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`.
```bash
$ nhost up
✔ Your app is running at http://localhost:1337 (Ctrl+C to stop)
Emails will be sent to http://localhost:8839
```
## What's next?

View File

@@ -1,6 +1,7 @@
---
title: 'Event triggers'
sidebar_position: 2
image: /img/og/platform/event-triggers.png
---
Event Triggers enable you to invoke webhooks when a database event happens. Event Triggers are typically used to do post-processing tasks, using custom backend code, based on database events.
@@ -17,7 +18,7 @@ Event Triggers can also be triggered manually in the Hasura Console.
Let's say you're building an e-commerce application and you want to send an email to the customer when a new order is placed. Orders are stored in the `orders` table in your database.
To send out an email every time a new order is placed, you create an event trigger that listens for the `INSERT` event on the `orders` table. Now every time an order is placed, the even trigger invokes a webhook with the order information, and the webhook sends out the email.
To send out an email every time a new order is placed, you create an event trigger that listens for the `INSERT` event on the `orders` table. Now every time an order is placed, the event trigger invokes a webhook with the order information, and the webhook sends out the email.
## Create Event Trigger

View File

@@ -1,12 +1,13 @@
---
title: 'Database'
sidebar_position: 1
image: /img/og/platform/database.png
---
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
Every Nhost app comes with its own [Postgres database](https://postgres.org/). Postgres is the world's most advanced open-source relational database and it's the most [popular SQL database for developers](https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-databases).
Every Nhost project comes with its own [Postgres database](https://postgres.org/). Postgres is the world's most advanced open-source relational database and it's the most [popular SQL database for developers](https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-databases).
:::info
@@ -14,13 +15,16 @@ It's currently not possible to connect directly to the Postgres database via a c
:::
The database is managed via the Hasura Console where you can manage the database via an intuative UI. You can also use SQL to directly interact with the database via the Hasura Console.
The database is managed via the Hasura Console where you can manage the database via an intuitive UI. You can also use SQL to directly interact with the database via the Hasura Console.
## Hasura Console
Hasura Console is where you manage your database. This is where you create and manage tables, schemas, and data.
Open the Hasura Console by clicking on **Data** in the top menu in the Nhost Dashboard, copy the **admin secret**, and click **Open Hasura**. Use the **admin secret** to sign in.
1. Open the Hasura Console by clicking on **GraphQL** in the top menu in the Nhost Dashboard.
2. Click **Open Hasura Console** at the top right of the page.
3. Copy the **admin secret**, and click **Open Hasura**.
4. Use the **admin secret** to sign in.
<video width="99%" autoPlay muted loop controls="true">
<source src="/videos/open-hasura-console.mp4" type="video/mp4" />
@@ -30,7 +34,7 @@ Open the Hasura Console by clicking on **Data** in the top menu in the Nhost Das
The two schemas `auth` and `storage` are reserved for Nhost Auth and Nhost Storage to work. You're allowed to modify **permissions** and **add relationships**. However, never modify any tables or remove relationships that were added by Nhost inside the `auth` and `storage` schemas.
Generally, you should use the `public` schema when creating and managing your tables for your app. It's also ok to add custom schemas for more advanced usage.
Generally, you should use the `public` schema when creating and managing your tables for your project. It's also ok to add custom schemas for more advanced usage.
## Create Table
@@ -127,6 +131,21 @@ To track database changes, use the [Nhost CLI](/platform/cli) to develop locally
Learn how to [get started with Nhost CLI](/platform/overview/get-started-with-nhost-cli).
## Seed Data
Seed data is a way of automatically adding data to your database using SQL when a new environment is created. This is, for the moment, only applicable when you're using the [Nhost CLI](/platform/cli) to develop locally. When you're running `nhost up` for the first time, seed data is added.
In the future, seed data will also be added to new preview environments.
Seed data should be located in `nhost/seeds/default/` and are executed in alphabetical order.
**Example:** Two seed scripts with countries and products.
```text
nhost/seeds/default/001-countries.sql
nhost/seeds/default/002-products.sql
```
## Backups
Databases on [Pro and Enterprise plans](https://nhost.io/pricing) are backed up automatically.

View File

@@ -1,15 +1,16 @@
---
title: 'Environment Variables'
sidebar_position: 9
image: /img/og/platform/environment-variables.png
---
Environment Variables are key-value pairs configured outside your source code. They are used to store environment-specific values such as API keys.
You can manage your app's environment variables in Nhost Console under **Variables**. When you define a new variable, you can set one value for **production** and one for **development**.
You can manage your project's Environment Variables in Nhost Dashboard under **Variables**. When you define a new variable, you can set one value for **production** and one for **development**.
![Environment Variables](/img/platform/environment-variables/environment-variables.png)
When an environment variable is changed, you must deploy your app again using the [GitHub integration](/platform/github-integration) for the changes to take effect.
When an Environment Variable is changed, you must deploy your project again using the [GitHub integration](/platform/github-integration) for the changes to take effect.
Environment Variables are available in:
@@ -18,7 +19,7 @@ Environment Variables are available in:
## System Environment Variables
System environment variables are automatically available in production and during development. The following system environment variables are available:
System Environment Variables are automatically available in production and during development. The following system Environment Variables are available:
- `NHOST_ADMIN_SECRET`
- `NHOST_WEBHOOK_SECRET`
@@ -37,7 +38,7 @@ NHOST_BACKEND_URL=https://xxxxxxx.nhost.run
## Development Environment Variables
When developing locally using the [CLI](/platform/cli), environment variables set in `.env.development` are available in your local environment. There are two ways to manage them:
When developing locally using the [CLI](/platform/cli), Environment Variables set in `.env.development` are available in your local environment. There are two ways to manage them:
1. Edit the `.env.development` file manually.
2. Add development environment variables in the Nhost Console and use `nhost env pull` to sync them. This way, your team members will also have access to the same variables.
2. Add development Environment Variables in the Nhost Dashboard and use `nhost env pull` to sync them. This way, your team members will also have access to the same Environment Variables.

View File

@@ -1,11 +1,12 @@
---
title: 'GitHub Integration'
sidebar_position: 10
image: /img/og/platform/github-integration.png
---
The GitHub integration allows you to automatically deploy your Nhost app when on push and merge to a GitHub repository that is connected to your Nhost app.
The GitHub integration allows you to automatically deploy your Nhost project when on push and merge to a GitHub repository that is connected to your Nhost project.
When a GitHub repository is connected to a Nhost app, Nhost automatically deploys changes when you push code to the repo.
When a GitHub repository is connected to a Nhost project, Nhost automatically deploys changes when you push code to the repo.
The following things are deployed:
@@ -14,16 +15,16 @@ The following things are deployed:
- Serverless Functions
:::info
Settings in `nhost/config.yaml` are **not** deployed. That menas you need to manually sync settings between local and remote environments between the CLI and Nhost Cloud.
Settings in `nhost/config.yaml` are **not** deployed. That means you need to manually sync settings between local and remote environments between the CLI and Nhost Cloud.
:::
## Connecting a GitHub repository
1. From your Nhost app, click **Connect to Github**.
1. From your Nhost project, click **Connect to Github**.
![Connect to GitHub](/img/architecture/cli/connect-repo-step-1.png)
2. **Install the Nhost app** on your Github account.
2. **Install the Nhost project** on your Github account.
![Install the Nhost GitHub App](/img/architecture/cli/connect-repo-step-2.png)
@@ -35,9 +36,9 @@ Settings in `nhost/config.yaml` are **not** deployed. That menas you need to man
Nhost only deploys your **deployment branch**. By default, your deployment branch matches the default branch set on GitHub (usually `main`).
You can change the deployment branch by clicking **Edit** next to the repository in your Nhost app's dashboard.
You can change the deployment branch by clicking **Edit** next to the repository in your Nhost project's Overview.
You can have multiple Nhost apps connected to the same GitHub repository and use different deployment branches (e.g., `main` and `staging`).
You can have multiple Nhost projects connected to the same GitHub repository and use different deployment branches (e.g., `main` and `staging`).
<center>
<img src="/img/platform/github-integration/deployment-branch.png" alt="drawing" width="50%" />
@@ -45,7 +46,7 @@ You can have multiple Nhost apps connected to the same GitHub repository and use
## Base Directory
If your Nhost app is not at the root of your git repository, you can set a custom base directory. The base directory is where the `nhost` and `functions` directories are located. In other words, the base directory is the **parent directory** of the `nhost` and `functions` directories.
If your Nhost project is not at the root of your git repository (typically when using a monorepo), you can set a custom base directory. The base directory is where the `nhost` directory is located. In other words, the base directory is the **parent directory** of the `nhost` folder.
<center>
<img src="/img/platform/github-integration/base-directory.png" alt="drawing" width="50%" />
@@ -53,4 +54,4 @@ If your Nhost app is not at the root of your git repository, you can set a custo
## Next Steps
- Learn how to [use the CLI to deploy your Nhost app](/platform/overview/get-started-with-nhost-cli).
- Learn how to [use the CLI to deploy your Nhost project](/platform/overview/get-started-with-nhost-cli).

View File

@@ -1,11 +1,12 @@
---
title: 'GraphQL'
sidebar_position: 1
image: /img/og/platform/graphql.png
---
A GraphQL API is automatically and instantly available based on the tables and columns in your [database](/platform/database).
The GraphQL API has instant support for inserting, selecting, updating, and deleting data, which usually account for 80% of all operations you need in your app.
The GraphQL API has instant support for inserting, selecting, updating, and deleting data, which usually account for 80% of all API operations you need.
It's the [Hasura GraphQL engine](https://github.com/hasura/graphql-engine) that powers the GraphQL API which means that all documentation about [queries](https://hasura.io/docs/latest/graphql/core/databases/postgres/queries/index/), [mutations](https://hasura.io/docs/latest/graphql/core/databases/postgres/mutations/index/), and [subscriptions](https://hasura.io/docs/latest/graphql/core/databases/postgres/subscriptions/index/) from Hasura's documentation is applicable.
@@ -39,7 +40,7 @@ When building more complex frontend applications, we recommend using a more adva
A GraphQL query is used to fetch data from the database.
:::tip
The [Queries documentation from Hasura](https://hasura.io/docs/latest/graphql/core/databases/postgres/queries/index/) is applicable since Nhost uses Hasura's GraphQL Engine for your app.
The [Queries documentation from Hasura](https://hasura.io/docs/latest/graphql/core/databases/postgres/queries/index/) is applicable since we're using Hasura's GraphQL Engine for your project.
:::
**Example:** A GraphQL query to select `title`, `body`, and `isCompleted` for every row in the `todos` table.
@@ -130,7 +131,7 @@ query GetTodosWithLatestComments {
A GraphQL mutation is used to insert, upsert, update, or delete data.
:::tip
The [Mutations documentation from Hasura](https://hasura.io/docs/latest/graphql/core/databases/postgres/mutations/index/) is applicable since Nhost uses Hasura's GraphQL Engine for your app.
The [Mutations documentation from Hasura](https://hasura.io/docs/latest/graphql/core/databases/postgres/mutations/index/) is applicable since we're using Hasura's GraphQL Engine for your project.
:::
### Insert Data

View File

@@ -1,6 +1,7 @@
---
title: 'Permissions'
sidebar_position: 1
image: /img/og/platform/permissions.png
---
The GraphQL API is protected by a role-based permission system.
@@ -31,7 +32,7 @@ The rule above make it so users can only select posts where the value of `user_i
`x-hasura-user-id` is a permission variable that is used to create permission rules in Hasura. The permission variable comes from the [access token](platform/authentication#access-tokens) that signed-in users have.
The `x-hasura-user-id` permission variable is always available for all signed-in users. You can add [custom permission variables](#custom-permission-variables) to create more complex permission rules unique to your app.
The `x-hasura-user-id` permission variable is always available for all signed-in users. You can add [custom permission variables](#custom-permission-variables) to create more complex permission rules unique to your project.
## Custom Permission Variables
@@ -53,6 +54,18 @@ query {
}
```
### Local Custom Permission Variables
To use custom permission variables locally, add your claims to the `config.yml` as following:
```
auth:
jwt:
custom_claims: '{"organisation-id":"profile.organisation.id"}'
```
Your custom claim will be automatically prefixed with `x-hasura-`, therefore, the example above results in a custom permission variable named `x-hasura-organisation-id`.
## Roles
Every GraphQL request is resolved based on a **single role**. Roles are added in the Hasura Console when selecting a table and clicking **Permisisons**.

View File

@@ -1,6 +1,7 @@
---
title: 'Architecture'
sidebar_position: 2
image: /img/og/platform/architecture.png
---
Nhost is a backend as a service built with open source tools to provide developers the general building blocks required to build fantastic digital apps and products.

View File

@@ -1,6 +1,7 @@
---
title: 'Get Started with Nhost CLI'
sidebar_position: 2
image: /img/og/platform/get-started-with-nhost-cli.png
---
# Get started with Nhost CLI
@@ -98,11 +99,11 @@ nhost logout
## Set up your project
### 1. Create a new Nhost app
### 1. Create a new Nhost project
import CreateApp from '@site/src/components/create-nhost-app.mdx';
import CreateProject from '@site/src/components/create-nhost-project.mdx'
<CreateApp />
<CreateProject />
### 2. Create a new GitHub Repository
@@ -118,61 +119,43 @@ either public or private.
### 3. Connect Nhost project to Github
Finally, connect your Github repository to your Nhost project. Doing so will
enable Nhost to deploy new versions of your project when you push automatically
commits to your connected Git repository.
Finally, connect your GitHub repository to your Nhost project. Doing so will
enable Nhost to deploy new versions of your project when you push new commits to your connected Git repository.
1. From your project workspace, click **Connect to Github**.
1. From your project workspace, click **Connect to GitHub**.
![Connect to GitHub](/img/architecture/cli/connect-repo-step-1.png)
2. **Install the Nhost app** on your Github account.
2. **Install the Nhost app** on your GitHub account.
![Connect to GitHub](/img/architecture/cli/connect-repo-step-2.png)
3. **Connect** your Github repository.
3. **Connect** your GitHub repository.
![Connect to GitHub](/img/architecture/cli/connect-repo-step-3.png)
## Develop locally
## 1. Initialize your Nhost app
## 1. Initialize your Nhost project
**Nhost CLI** brings the functionality of your Nhost production environment
directly to your local machine.
It provides Docker containers to run the backend services that match your
production application in a local environment. That way, you can make changes
production environment in a local environment. That way, you can make changes
and test your code locally before deploying those changes to production.
You can either initialize a blank Nhost app locally to start from scratch by
running the following command:
Initialize your Nhost project locally with the following command:
```bash
nhost init -n my-nhost-app
nhost init --remote
```
And then link it to a remote app from your Nhost workspace in `app.nhost.io` by
running the `link` command and selecting the corresponding app from the prompt:
It will prompt you to choose what Nhost project you want to initialize.
```bash
nhost link
```
![Select Nhost Project](/img/architecture/cli/cli-select-app.png)
Or you can directly initialize a local Nhost app from one of your existing
production apps by specifying the `--remote` flag:
```bash
nhost init --remote -n my-nhost-app
```
It will also prompt you to choose the remote app you'd like to use to initialize
your local Nhost development environment.
![Select app](/img/architecture/cli/cli-select-app.png)
The `init` command creates the Nhost app inside your current working directory
within a `nhost/` folder.
Your file system will be populated with the following files and folders:
```
my-nhost-app/
@@ -199,11 +182,11 @@ git push -u origin main
## 2. Start a local development environment
To start a local development environment for your Nhost app, run the following
To start a local development environment for your Nhost project, run the following
command:
```bash
nhost dev
nhost up
```
:::caution
@@ -212,11 +195,10 @@ Make sure [Docker](https://www.docker.com/get-started) is up and running. Its
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
you can manage the database and try out the API.
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.
The Hasura console should open automatically at
[http://localhost:1337](http://localhost:1337/).
The Hasura Console opens automatically at [http://localhost:1337](http://localhost:1337/).
![Hasura Console](/img/architecture/cli/hasura-console.png)
@@ -225,7 +207,7 @@ The Hasura console should open automatically at
There are three things the Nhost CLI and the GitHub integration track and apply
to production:
- Database migrations
- Database Migrations
- Hasura Metadata
- Serverless Functions
@@ -238,7 +220,7 @@ Settings in `nhost/config.yaml` are not being applied to production. They only w
Database changes are tracked and managed through migrations.
:::tip
It's important that you use the Hasura console to make database changes. Indeed, with the Hasura console, DB migration files are generated incrementally to track changes automatically for you.
You must use the Hasura Console to make database changes. With the Hasura Console, database migration files are automatically generated incrementally to track database changes for you.
:::
To demonstrate how to make database changes, let's create a new table called
@@ -249,14 +231,15 @@ To demonstrate how to make database changes, let's create a new table called
- `authorId` (type UUID),
- `createdAt` (type Timestamp and default `now()`)
In the Hasura console, head over to the **data** tab section and click on the
In the Hasura Console, go to the **DATA** tab section and click on the
PostgreSQL database (from the left side navigation) that Nhost provides us.
Click on the **public** schema and the **Create Table** button.
Click on the **public** schema and then the **Create Table** button.
![Create Table](/img/architecture/cli/create-table-step-1.png)
Then, enter the values for creating the `messages` table as mentioned above.
Enter the values for creating the `messages` table as mentioned above.
Also, specify the `id` column as the primary key of the table, and link the
`authorId` column to the `users.id` column using a foreign key to link the
`users` and `messages` tables together.
@@ -279,7 +262,7 @@ drwxr-xr-x 3 user staff 96 Apr 27 17:06 ..
drwxr-xr-x 4 user staff 128 Apr 27 17:06 1651071963431_create_table_public_messages
```
However, note that this database migration has only been applied locally. In
Note that this database migration has only been applied locally. In
other words, the `messages` table does not (yet) exists in production.
To apply the local changes to production, check out the
@@ -337,12 +320,12 @@ insert_permissions:
role: user
```
### Serverless functions
### Serverless Functions
Now let's create a serverless function before we push all changes to GitHub so
Now let's create a Serverless Function before we push all changes to GitHub so
Nhost can deploy them to production.
For this guide, let's create a simple serverless function that will return the
For this guide, let's create a Serverless Function that will return the
current date-time when called.
First, make sure to install `express`, which is required for serverless

View File

@@ -1,6 +1,7 @@
---
title: 'Quickstart: Next.js'
sidebar_position: 2
image: /img/og/platform/quickstart-nextjs.png
---
import Tabs from '@theme/Tabs'
@@ -10,7 +11,7 @@ import TabItem from '@theme/TabItem'
## Introduction
This quickstart guide provides the steps you need to build a simple Next.js app
This quickstart provides the steps you need to build a Next.js app
powered by Nhost for the backend. It includes:
- Database: [PostgreSQL](https://www.postgresql.org/)
@@ -18,7 +19,7 @@ powered by Nhost for the backend. It includes:
- Authentication: [Hasura Auth](https://github.com/nhost/hasura-auth/)
- Storage: [Hasura Storage](https://hub.docker.com/r/nhost/hasura-storage)
By the end of this guide, you'll have a full-stack app that allows users to log
By the end of this guide, you'll have a full-stack app that allows users to sign
in to access a protected dashboard and update their profile information.
## Prerequisites
@@ -32,12 +33,12 @@ You'll need **Node.js** version 12 or later: [install it from here](https://node
### Create a new Nhost app
import CreateApp from '@site/src/components/create-nhost-app.mdx'
import CreateApp from '@site/src/components/create-nhost-project.mdx'
<CreateApp />
:::info
You can also connect your Nhost app to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
You can also connect your Nhost project to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
:::
## Initialize the app
@@ -131,7 +132,8 @@ import { NhostNextProvider, NhostClient } from '@nhost/nextjs';
// highlight-start
const nhost = new NhostClient({
backendUrl: process.env.NEXT_PUBLIC_NHOST_BACKEND_URL || '',
subdomain: process.env.NEXT_PUBLIC_NHOST_SUBDOMAIN || '',
region: process.env.NEXT_PUBLIC_NHOST_REGION || ''
});
// highlight-end
@@ -148,16 +150,16 @@ function MyApp({ Component, pageProps }) {
}
```
Finally, make sure to create an environment variable named
`NEXT_PUBLIC_NHOST_BACKEND_URL` to store your Nhost backend URL:
Finally, store the environment variables for `subdomain` and `region` in `.env.development`:
```yaml title=".env.development"
NEXT_PUBLIC_NHOST_BACKEND_URL=YOUR_NHOST_BACKEND_URL
NEXT_PUBLIC_NHOST_SUBDOMAIN=[subdomain]
NEXT_PUBLIC_NHOST_REGION=[region]
```
You can find your Nhost backend URL for your project from [your dashboard](https://app.nhost.io) as shown below:
You find your Nhost project's `subdomain` and `region` in the [project overview](https://app.nhost.io):
![Nhost Backend URL](/img/quickstarts/app-dashboard.png)
![Project Overview](/img/quickstarts/app-dashboard.png)
:::caution
Don't forget to restart your Next.js server after saving your `.env.development`
@@ -672,7 +674,8 @@ export function UserProvider({ children = null }) {
const id = useUserId()
// highlight-start
const { loading, error, data } = useQuery(GET_USER_QUERY, {
variables: { id }
variables: { id },
skip: !id
})
const user = data?.user
// highlight-end

View File

@@ -1,6 +1,7 @@
---
title: 'Quickstart: React'
sidebar_position: 1
image: /img/og/platform/quickstart-react.png
---
import Tabs from '@theme/Tabs'
@@ -30,13 +31,14 @@ You'll need **Node.js** version 14 or later: [install it from here](https://node
## Project setup
### Create a new Nhost app
### Create a new Nhost project
import CreateApp from '@site/src/components/create-nhost-app.mdx'
import CreateProject from '@site/src/components/create-nhost-project.mdx'
<CreateProject />
<CreateApp />
:::info
You can also connect your Nhost app to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
You can also connect your Nhost project to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
:::
## Initialize the app
@@ -126,7 +128,8 @@ Nhost backend:
import { NhostClient, NhostReactProvider } from '@nhost/react'
const nhost = new NhostClient({
backendUrl: process.env.REACT_APP_NHOST_BACKEND_URL || ''
subdomain: process.env.REACT_APP_NHOST_SUBDOMAIN,
region: process.env.REACT_APP_NHOST_REGION
})
function App() {
@@ -141,15 +144,16 @@ export default App
```
Finally, make sure to create an environment variable named
`REACT_APP_NHOST_BACKEND_URL` to store your Nhost backend URL:
`REACT_APP_NHOST_SUBDOMAIN` and `REACT_APP_NHOST_REGION` to store your Nhost domain details:
```yaml title=".env.local"
REACT_APP_NHOST_BACKEND_URL=YOUR_NHOST_BACKEND_URL
REACT_APP_NHOST_SUBDOMAIN=[subdomain]
REACT_APP_NHOST_REGION=[region]
```
You can find your Nhost backend URL for your project from [your dashboard](https://app.nhost.io) as shown below:
You find your Nhost project's `subdomain` and `region` in the [project overview](https://app.nhost.io):
![Nhost Backend URL](/img/quickstarts/app-dashboard.png)
![Project Overview](/img/quickstarts/app-dashboard.png)
:::caution
Don't forget to restart your React server after saving your `.env.local`
@@ -636,7 +640,8 @@ const Layout = () => {
const id = useUserId()
// highlight-start
const { loading, error, data } = useQuery(GET_USER_QUERY, {
variables: { id }
variables: { id },
skip: !id
})
const user = data?.user
// highlight-end

View File

@@ -1,6 +1,7 @@
---
title: 'Quickstart: RedwoodJS'
sidebar_position: 3
image: /img/og/platform/quickstart-redwoodjs.png
---
import Tabs from '@theme/Tabs'
@@ -43,27 +44,16 @@ If your system versions do not meet both requirements, the RedwoodJS installatio
### Create a new Nhost app
First things first, we need to create a new Nhost project.
import CreateApp from '@site/src/components/create-nhost-project.mdx'
So, log in to your Nhost dashboard and click the **Create your first app**
button.
![nhost-first-app](/img/quickstarts/create-app-step-1.png)
Next, give your new Nhost app a name, select a geographic region for your Nhost
services and click **Create App**.
![nhost-first-app](/img/quickstarts/create-app-step-2.png)
After a few seconds, you should get a PostgreSQL database, a GraphQL API with
Hasura, file storage, and authentication set up.
<CreateApp />
Finally, update your client login URL from your Nhost dashboard as the local RedwoodJS server starts on port `8910` instead of the usual `3000` port you may be used to with a regular React app.
![nhost-first-app](/img/quickstarts/create-app-step-3.png)
:::info
You can also connect your Nhost app to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
You can also connect your Nhost project to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
:::
## Initialize the app
@@ -135,7 +125,8 @@ import { NhostClient } from '@nhost/nhost-js'
// highlight-start
const nhostClient = new NhostClient({
backendUrl: process.env.NHOST_BACKEND_URL
subdomain: process.env.NHOST_SUBDOMAIN
region: process.env.NHOST_REGION
})
// highlight-end
@@ -174,16 +165,16 @@ const App = () => (
That prop avoids having an additional request to fetch the current user.
Next, make sure to create an environment variable named
`NHOST_BACKEND_URL` to store your Nhost backend URL:
Next, store the environment variables for `subdomain` and `region` in `.env`:
```yaml title=".env"
NHOST_BACKEND_URL=YOUR_NHOST_BACKEND_URL
NHOST_SUBDOMAIN=[subdomain]
NHOST_REGION=[region]
```
You can find your Nhost backend URL for your project from [your dashboard](https://app.nhost.io) as shown below:
You find your Nhost project's `subdomain` and `region` in the [project overview](https://app.nhost.io):
![Nhost Backend URL](/img/quickstarts/app-dashboard.png)
![Project Overview](/img/quickstarts/app-dashboard.png)
Finally, we need to customize the GraphQL Endpoint for our RedwoodJS app. Indeed, by default, RedwoodJS provides a built-in GraphQL server under the `api` side. However, as we already have our own GraphQL server through Nhost and Hasura, we do not need it.
@@ -193,7 +184,7 @@ So, open the RedwoodJS configuration file, `redwood.toml`, and change the GraphQ
[web]
apiUrl = "/.redwood/functions"
# highlight-next-line
apiGraphQLUrl = "${NHOST_BACKEND_URL}/v1/graphql"
apiGraphQLUrl = "https://${NHOST_SUBDOMAIN}.graphql.${NHOST_REGION}.nhost.run/v1"
```
:::caution
@@ -1089,7 +1080,8 @@ export function UserProvider({ children = null }) {
const { userMetadata } = useAuth()
const { loading, error, data } = useQuery(GET_USER_QUERY, {
variables: { id: userMetadata?.id }
variables: { id: userMetadata?.id },
skip: !userMetadata?.id
})
const user = data?.user

View File

@@ -1,6 +1,7 @@
---
title: 'Quickstart: Vue'
sidebar_position: 3
image: /img/og/platform/quickstart-vue.png
---
import Tabs from '@theme/Tabs'
@@ -38,12 +39,12 @@ You'll need **Node.js** version 14 or later: [install it from here](https://node
### Create a new Nhost app
import CreateApp from '@site/src/components/create-nhost-app.mdx'
import CreateApp from '@site/src/components/create-nhost-project.mdx'
<CreateApp />
:::info
You can also connect your Nhost app to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
You can also connect your Nhost project to a GitHub repository. When you do this, any updates you push to your code will automatically be deployed. [Learn more](https://docs.nhost.io/platform/github-integration).
:::
## Initialize the app
@@ -152,7 +153,8 @@ import 'uno.css'
// highlight-start
const nhost = new NhostClient({
backendUrl: import.meta.env.VITE_NHOST_URL
subdomain: import.meta.env.VITE_NHOST_SUBDOMAIN
region: import.meta.env.VITE_NHOST_REGION
})
// highlight-end
@@ -169,16 +171,16 @@ app
app.mount('#app')
```
Finally, make sure to create an environment variable named
`VITE_NHOST_URL` to store your Nhost backend URL:
Finally, store the environment variables for `subdomain` and `region` in `.env`:
```bash title=".env"
VITE_NHOST_URL=YOUR_NHOST_BACKEND_URL
```yaml title=".env.development"
VITE_NHOST_SUBDOMAIN=[subdomain]
VITE_NHOST_REGION=[region]
```
You can find your Nhost backend URL for your project from [your dashboard](https://app.nhost.io) as shown below:
You find your Nhost project's `subdomain` and `region` in the [project overview](https://app.nhost.io):
![Nhost Backend URL](/img/quickstarts/app-dashboard.png)
![Project Overview](/img/quickstarts/app-dashboard.png)
## Build the app

View File

@@ -1,6 +1,7 @@
---
title: 'Serverless Functions'
sidebar_position: 8
image: /img/og/platform/serverless-functions.png
---
import Tabs from '@theme/Tabs'
@@ -14,7 +15,7 @@ Serverless functions can be used to handle [event triggers](/platform/database/e
## Creating a Serverless Function
Every `.js` (JavaScript) and `.ts` (TypeScript) file in the `functions/` folder of your Nhost app is its own serverless function.
Every `.js` (JavaScript) and `.ts` (TypeScript) file in the `functions/` folder of your Nhost project is its own serverless function.
<Tabs groupId="language">
<TabItem value="ts" label="TypeScript" default>
@@ -29,7 +30,7 @@ export default (req: Request, res: Response) => {
:::info
You **MUST** install `express` locally in the base directory of your Nhost app.
You **MUST** install `express` locally in the base directory of your Nhost project.
```bash
npm install -d express @types/express
@@ -50,7 +51,7 @@ export default (req, res) => {
:::info
You **MUST** install `express` locally in the base directory of your Nhost app.
You **MUST** install `express` locally in the base directory of your Nhost project.
```bash
npm install -d express
@@ -75,12 +76,12 @@ HTTP endpoints are automatically generated based on the file structure inside `f
Here's an example of four serverless functions with their files and their HTTP endpoints:
| File | HTTP Endpoint |
| --------------------------- | ------------------------------------------------------------- |
| `functions/index.js` | `https://[app-subdomain].nhost.run/v1/functions/` |
| `functions/users/index.ts` | `https://[app-subdomain].nhost.run/v1/functions/users` |
| `functions/users/active.ts` | `https://[app-subdomain].nhost.run/v1/functions/users/active` |
| `functions/my-company.js` | `https://[app-subdomain].nhost.run/v1/functions/my-company` |
| File | HTTP Endpoint |
| --------------------------- | ----------------------------------------------------------------- |
| `functions/index.js` | `https://[project-subdomain].nhost.run/v1/functions/` |
| `functions/users/index.ts` | `https://[project-subdomain].nhost.run/v1/functions/users` |
| `functions/users/active.ts` | `https://[project-subdomain].nhost.run/v1/functions/users/active` |
| `functions/my-company.js` | `https://[project-subdomain].nhost.run/v1/functions/my-company` |
---
@@ -102,4 +103,4 @@ All serverless functions in production are running Node.js version 14.x.
## Regions
Serverless Functions are always deployed to the same region as your app.
Serverless Functions are always deployed to the same region as your project.

View File

@@ -1,101 +0,0 @@
---
title: 'Storage'
sidebar_position: 7
---
Nhost stores and serves files of any type in your backend.
The metadata for files hosted on Nhost is available in the `storage.files` table of your database, and thus is also accessible in the GraphQL API. This allows you to fetch a list of files to display in your frontend, for example.
---
## Buckets
Buckets are used to organize files and group permissions for files. Buckets are stored in the `storage.buckets` table in your database, and accessible via `buckets` in your GraphQL API.
Buckets are a way to segment permissions for file type, minimum and maximum file size, cache control, download expiration, and if pre-signed URLs are allowed.
---
## Permissions
Upload, read and delete permissions for files are managed through Hasura's permission system, just like other permissions.
### Upload
To upload a file, a user must have the `insert` permission to the `storage.files` table. The following columns must be checked:
- `id`
- `bucket_id`
- `name`
- `mime_type`
### Select
To read and download a file, a user must have the `select` permission to the `storage.files` table. Only the `id` column is required, but as a best practice you should allow reading all columns.
### Delete
To delete a file, a user must have the `delete` permission to the `storage.files` table.
> Updating an existing file is not supported. Delete and upload a new file instead.
---
## Accessing files
To access a file, make an HTTP GET request to `/v1/storage/files/{id}` with the `Authorization` header set with the access token returned by Nhost Auth. Alternatively, you can create a pre-signed URL by making an HTTP GET request to `/v1/storage/files/{id}/presignedurl` with the `Authorization` header set with the access token returned by Nhost Auth.
If the file is publicly accessible, there is no need to set the `Authorization` header. The file is publicly accessible if the permission for the `public` role is set to allow reading the file metadata in Hasura for the `storage.files` table.
### Pre-signed URL
A pre-signed URL is a unique URL that is used to access the file. Anyone with the pre-signed URL can access the file without exceptions. The URL is generated by Nhost Storage API and is valid for a limited time. The time limit of the pre-signed URL is determined by the `download_expiration` column in the bucket where the file is.
Using pre-signed URL is a good way to share files to people who don't have access to the file directly, or to access the file without setting the `Authorization` headers, for example when displaying the file in an `img` tag.
## Example with GraphQL
Let's say we're building a CRM and we want to store files for each customer.
In our CRM, we have the following two tables:
- `customers`
- `id`
- `name`
- `address`
- `customer_files`
- `id`
- `customer_id` (foreign key to `customers.id`)
- `file_id` (foreign key to `storage.files.id`)
We also have created relationships between `customers` and `customer_files` and between `customer_files` and `storage.files`.
We can now query the data with the following query:
```graphql
query {
customer {
# customer table
id
name
customer_files {
# customer_files table
id
file {
# storage.files table
id
name
size
mime_type
}
}
}
}
```
To upload a file, this is what we do;
1. Upload a file
2. Get the `id` of the file. The server returns this.
3. Insert the `id` of the file together with the customer's id into the `customer_files` table.

View File

@@ -0,0 +1,243 @@
---
title: 'Storage'
sidebar_position: 7
image: /img/og/platform/storage.png
---
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
Nhost Storage enables you to let your users upload and download files. Nhost Storage is integrated with the [GraphQL API](/platform/graphql) and its permission system from Hasura.
## Files
Files can be of any type, such as images, documents, videos, etc.
File metadata is stored in your database in the `files` table in the `storage` schema. This means that file metadata is available in your GraphQL API, which makes it easy to:
- Read file metadata via GraphQL.
- Manage file permissions (in Hasura).
- Create GraphQL relationships between files and your database tables.
:::warning
Don't modify the database schema, nor GraphQL root fields in any of the tables in the `storage` schema.
:::
:::tip
You're allowed to add and modify the following:
- GraphQL Relationships
- Permissions
:::
### Upload File
When a file is uploaded, the file metadata is inserted into the `storage.files` table and a file `id` is returned. The file's `id` is how you reference and access the file. It's recommended to create your own table to store the uploaded file `id`, to access the file in the future.
<Tabs groupId="http-sdk">
<TabItem value="js" label="JavaScript">
```js
await nhost.storage.upload({ file })
```
Learn more about [`upload()`](/reference/javascript/storage/upload).
</TabItem>
<TabItem value="http" label="HTTP" default>
```http
POST /v1/storage/files HTTP/1.1
```
</TabItem>
</Tabs>
### Download File
There are two ways to download a file:
- Public URL.
- Pre-signed URL.
#### Public URL
Public URLs are available for both unauthenticated and authenticated users. Permissions are checked for every file request. To get a public URL for a file, you would normally use the `public` role to set **select** permissions.
<Tabs groupId="http-sdk">
<TabItem value="js" label="JavaScript">
```js
await nhost.storage.getPublicUrl({
fileId: '<File-ID>'
})
```
Learn more about [`getPublicUrl()`](/reference/javascript/storage/get-public-url).
</TabItem>
<TabItem value="http" label="HTTP" default>
```http
GET /v1/storage/files/{file_id} HTTP/1.1
```
</TabItem>
</Tabs>
#### Pre-signed URL
Pre-signed URLs work a bit differently from public URLs.
The permission check only happens when the user requests a pre-signed URL. Once a pre-signed URL is generated, anyone with the pre-signed URL can download the file.
Pre-signed URLs expire, and stop work, after a set amount of time. By default, for files in the `default` bucket, the expiration time is 30 seconds. You can change the expiration time for pre-signed URLs by changing the `download_expiration` (in seconds) field on the bucket where the file is located.
<Tabs groupId="http-sdk">
<TabItem value="js" label="JavaScript">
```js
await nhost.storage.getPresignedUrl({
fileId: '<File-ID>'
})
```
Learn more about [`getPresignedUrl()`](/reference/javascript/storage/get-presigned-url).
</TabItem>
<TabItem value="http" label="HTTP" default>
```http
GET /v1/storage/files/{file_id}/presignedurl HTTP/1.1
```
</TabItem>
</Tabs>
### Delete File
Delete a file and the file metadata in the database.
<Tabs groupId="http-sdk">
<TabItem value="js" label="JavaScript">
```js
const { error } = await nhost.storage.delete({ fileId: 'uuid' })
```
Learn more about [`delete()`](/reference/javascript/storage/delete).
</TabItem>
<TabItem value="http" label="HTTP" default>
```http
DELETE /v1/storage/files/{file_id} HTTP/1.1
```
</TabItem>
</Tabs>
## Buckets
Buckets are used to organize files and group permissions for files. Buckets are stored in the `storage.buckets` table in your database, and accessible via `buckets` in your GraphQL API.
For each bucket, you can specify file permissions for the following properties:
- MIME type.
- Minimum size.
- Maximum size.
- Cache control.
- Allow pre-signed URLs.
- Download expiration (for pre-signed URLs).
There is a default bucket (`default`) that is used if no bucket is specified during file upload. It's not possible to delete the `default` bucket.
## Permissions
Permissions to upload, download, and delete files are managed through Hasura's permission system on the `storage.files` table.
### Upload
To upload a file, a user must have the **`insert` permission** to the `storage.files` table. The `id` column must be granted.
### Download
To download a file, a user must have the **`select` permission** to the `storage.files` table. **All** columns must be granted.
### Delete
To delete a file, a user must have the **`delete` permission** to the `storage.files` table.
Updating an existing file is not supported. If you need to update a file, delete the file and upload a new file.
Just deleting the file metadata in the `storage.files` table does **not** delete the actual file. Always delete files via Nhost Storage. This way, both the file metadata and the actual file are deleted.
## Image Transformation
Images can be transformed, on the fly, by adding query parameters. The following query parameters are available:
- `w` - Width of the image in pixels.
- `h` - Height of the image in pixels.
Image Transformation works on both public and pre-signed URLs.
**Example**: Transform an image to 500px width (`?w=500`):
```text
https://[subdomain].nhost.run/v1/storage/files/08e6fa32-0880-4d0e-a832-278198acb363?w=500
```
## Example: CRM System
Let's say you want to build a CRM system and you want to store files for customers. This is one way how you could do that.
Start with, you would have two tables:
1. `customers` - Customer data.
2. `customer_files` - What file belongs to what customer
```text
- customers
- id
- name
- address
customer_files
- id
- customer_id (Foreign Key to `customers.id`)
- file_id (Foreign Key to `storage.files.id`)
```
You would also create a [Hasura Relationship](https://hasura.io/docs/latest/graphql/core/databases/postgres/schema/table-relationships/index/) (GraphQL relationship) between between `customers` and `customer_files` and between `customer_files` and `storage.files`.
With the two tables and GraphQL relationships in place, you can query customers and the customer's files like this:
```graphql
query {
customers {
# customers table
id
name
customer_files {
# customer_files table
id
file {
# storage.files table
id
name
size
mimeType
}
}
}
}
```
The file upload process would be as follows:
1. Upload a file.
2. Get the returned file id.
3. Insert (GraphQL Mutation) the file `id` and the customer's `id` into the `customer_files` table.
This would allow you to upload and download files belonging to specific customers in your CRM system.

View File

@@ -3,15 +3,15 @@ title: 'init'
sidebar_position: 1
---
Intialize a local Nhost app in the current working directory.
Intialize a local Nhost project in the current working directory.
```
nhost init
```
If you already have a Nhost app in Nhost Cloud you can use that app as a starting point by appending `--remote` to the command.
If you already have a Nhost project in Nhost Cloud you can use that project as a starting point by appending `--remote` to the command.
This will pull the database migrations and Hasura metadata from the Nhost Cloud app locally for you to use as a starting point.
This will pull the database migrations and Hasura metadata from the Nhost Cloud project locally for you to use as a starting point.
```
nhost init --remote

View File

@@ -3,7 +3,7 @@ title: 'link'
sidebar_position: 4
---
Link the local Nhost app in your working directory to an app in Nhost Cloud.
Link the local Nhost project in your working directory to a project in Nhost Cloud.
```bash
nhost link

View File

@@ -3,7 +3,7 @@ title: 'list'
sidebar_position: 7
---
List all your Nhost apps in Nhost Cloud.
List all your Nhost projects in Nhost Cloud.
```bash
nhost list

View File

@@ -3,11 +3,11 @@ title: 'up'
sidebar_position: 2
---
Launch the development environment for your app. Once the environment is up, the command will:
Launch the development environment for your project. Once the environment is up, the command will:
- Apply database migrations.
- Apply the Hasura metadata.
- Apply seed data.
- Apply [seed data](/platform/database#seed-data).
```bash
nhost up

View File

@@ -4,7 +4,7 @@ title: signUp()
sidebar_label: signUp()
slug: /reference/javascript/auth/sign-up
description: Use `nhost.auth.signUp` to sign up a user using email and password. If you want to sign up a user using passwordless email (Magic Link), SMS, or an OAuth provider, use the `signIn` function instead.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L101
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L103
---
# `signUp()`

View File

@@ -4,7 +4,7 @@ title: signIn()
sidebar_label: signIn()
slug: /reference/javascript/auth/sign-in
description: Use `nhost.auth.signIn` to sign in a user using email and password, passwordless (email or sms) or an external provider. `signIn` can be used to sign in a user in various ways depending on the parameters.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L144
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L146
---
# `signIn()`
@@ -53,8 +53,8 @@ nhost.auth.signIn({ email: 'joe@example.com' })
```ts
// [step 1/2] Passwordless sign in using SMS
nhost.auth.signIn({ phoneNumber: '001122334455' })
nhost.auth.signIn({ phoneNumber: '+11233213123' })
// [step 2/2] Finish passwordless sign in using SMS (OTP)
nhost.auth.signIn({ phoneNumber: '001122334455', otp: '123456' })
nhost.auth.signIn({ phoneNumber: '+11233213123', otp: '123456' })
```

View File

@@ -4,7 +4,7 @@ title: signOut()
sidebar_label: signOut()
slug: /reference/javascript/auth/sign-out
description: Use `nhost.auth.signOut` to sign out the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L256
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L231
---
# `signOut()`
@@ -31,7 +31,7 @@ nhost.auth.signOut()
nhost.auth.signOut()
```
### Sign out the user from all decvices
### Sign out the user from all devices
```ts
nhost.auth.signOut({ all: true })

View File

@@ -4,7 +4,7 @@ title: resetPassword()
sidebar_label: resetPassword()
slug: /reference/javascript/auth/reset-password
description: Use `nhost.auth.resetPassword` to reset the password for a user. This will send a reset-password link in an email to the user. When the user clicks the reset-password link the user is automatically signed-in. Once signed-in, the user can change their password using `nhost.auth.changePassword()`.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L272
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L247
---
# `resetPassword()`

View File

@@ -3,13 +3,13 @@
title: changePassword()
sidebar_label: changePassword()
slug: /reference/javascript/auth/change-password
description: Use `nhost.auth.changePassword` to change the password for the user. The old password is not needed.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L288
description: Use `nhost.auth.changePassword` to change the password for the signed-in user. The old password is not needed. In case the user is not signed-in, a password reset ticket needs to be provided.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L263
---
# `changePassword()`
Use `nhost.auth.changePassword` to change the password for the user. The old password is not needed.
Use `nhost.auth.changePassword` to change the password for the signed-in user. The old password is not needed. In case the user is not signed-in, a password reset ticket needs to be provided.
```ts
nhost.auth.changePassword({ newPassword: 'new-secret-password' })
@@ -24,5 +24,6 @@ nhost.auth.changePassword({ newPassword: 'new-secret-password' })
| Property | Type | Required | Notes |
| :---------------------------------------------------------------------------------------------------------- | :------- | :------: | :---- |
| <span className="parameter-name"><span className="light-grey">\_\_namedParameters.</span>newPassword</span> | `string` | ✔️ | |
| <span className="parameter-name"><span className="light-grey">\_\_namedParameters.</span>ticket</span> | `string` | | |
---

View File

@@ -4,7 +4,7 @@ title: sendVerificationEmail()
sidebar_label: sendVerificationEmail()
slug: /reference/javascript/auth/send-verification-email
description: Use `nhost.auth.sendVerificationEmail` to send a verification email to the specified email. The email contains a verification-email link. When the user clicks the verification-email link their email is verified.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L304
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L279
---
# `sendVerificationEmail()`

View File

@@ -4,7 +4,7 @@ title: changeEmail()
sidebar_label: changeEmail()
slug: /reference/javascript/auth/change-email
description: Use `nhost.auth.changeEmail` to change a user's email. This will send a confirm-email-change link in an email to the new email. Once the user clicks on the confirm-email-change link the email will be change to the new email.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L323
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L298
---
# `changeEmail()`

View File

@@ -4,7 +4,7 @@ title: deanonymize()
sidebar_label: deanonymize()
slug: /reference/javascript/auth/deanonymize
description: Use `nhost.auth.deanonymize` to deanonymize a user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L339
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L314
---
# `deanonymize()`
@@ -24,13 +24,4 @@ nhost.auth.deanonymize({
**<span className="parameter-name">params</span>** <span className="optional-status">required</span> [`DeanonymizeParams`](/reference/docgen/javascript/auth/types/deanonymize-params)
| Property | Type | Required | Notes |
| :---------------------------------------------------------------------------------------------- | :------------------------------------- | :------: | :---- |
| <span className="parameter-name"><span className="light-grey">params.</span>email</span> | `string` | ✔️ | |
| <span className="parameter-name"><span className="light-grey">params.</span>signInMethod</span> | `"email-password"` \| `"passwordless"` | ✔️ | |
| <span className="parameter-name"><span className="light-grey">params.</span>allowedRoles</span> | `Array<string>` | | |
| <span className="parameter-name"><span className="light-grey">params.</span>defaultRole</span> | `string` | | |
| <span className="parameter-name"><span className="light-grey">params.</span>connection</span> | `"email"` \| `"sms"` | | |
| <span className="parameter-name"><span className="light-grey">params.</span>password</span> | `string` | | |
---

View File

@@ -4,7 +4,7 @@ title: onTokenChanged()
sidebar_label: onTokenChanged()
slug: /reference/javascript/auth/on-token-changed
description: Use `nhost.auth.onTokenChanged` to add a custom function that runs every time the access or refresh token is changed.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L373
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L357
---
# `onTokenChanged()`

View File

@@ -4,7 +4,7 @@ title: onAuthStateChanged()
sidebar_label: onAuthStateChanged()
slug: /reference/javascript/auth/on-auth-state-changed
description: Use `nhost.auth.onAuthStateChanged` to add a custom function that runs every time the authentication status of the user changes. E.g. add a custom function that runs every time the authentication status changes from signed-in to signed-out.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L408
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L392
---
# `onAuthStateChanged()`

View File

@@ -4,7 +4,7 @@ title: isAuthenticated()
sidebar_label: isAuthenticated()
slug: /reference/javascript/auth/is-authenticated
description: Use `nhost.auth.isAuthenticated` to check if the user is authenticated or not.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L450
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L434
---
# `isAuthenticated()`

View File

@@ -4,7 +4,7 @@ title: isAuthenticatedAsync()
sidebar_label: isAuthenticatedAsync()
slug: /reference/javascript/auth/is-authenticated-async
description: Use `nhost.auth.isAuthenticatedAsync` to wait (await) for any internal authentication network requests to finish and then return the authentication status.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L468
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L452
---
# `isAuthenticatedAsync()`

View File

@@ -4,7 +4,7 @@ title: getAuthenticationStatus()
sidebar_label: getAuthenticationStatus()
slug: /reference/javascript/auth/get-authentication-status
description: Use `nhost.auth.getAuthenticationStatus` to get the authentication status of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L494
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L478
---
# `getAuthenticationStatus()`

View File

@@ -4,7 +4,7 @@ title: getAccessToken()
sidebar_label: getAccessToken()
slug: /reference/javascript/auth/get-access-token
description: Use `nhost.auth.getAccessToken` to get the access token of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L524
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L508
---
# `getAccessToken()`

View File

@@ -4,7 +4,7 @@ title: getDecodedAccessToken()
sidebar_label: getDecodedAccessToken()
slug: /reference/javascript/auth/get-decoded-access-token
description: Use `nhost.auth.getDecodedAccessToken` to get the decoded access token of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L539
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L523
---
# `getDecodedAccessToken()`

View File

@@ -4,7 +4,7 @@ title: getHasuraClaims()
sidebar_label: getHasuraClaims()
slug: /reference/javascript/auth/get-hasura-claims
description: Use `nhost.auth.getHasuraClaims` to get the Hasura claims of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L556
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L540
---
# `getHasuraClaims()`

View File

@@ -4,7 +4,7 @@ title: getHasuraClaim()
sidebar_label: getHasuraClaim()
slug: /reference/javascript/auth/get-hasura-claim
description: Use `nhost.auth.getHasuraClaim` to get the value of a specific Hasura claim of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L574
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L558
---
# `getHasuraClaim()`

View File

@@ -4,7 +4,7 @@ title: refreshSession()
sidebar_label: refreshSession()
slug: /reference/javascript/auth/refresh-session
description: Use `nhost.auth.refreshSession` to refresh the session with either the current internal refresh token or an external refresh token.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L597
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L581
---
# `refreshSession()`

View File

@@ -4,7 +4,7 @@ title: getSession()
sidebar_label: getSession()
slug: /reference/javascript/auth/get-session
description: Use `nhost.auth.getSession()` to get the session of the user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L641
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L625
---
# `getSession()`

View File

@@ -4,7 +4,7 @@ title: getUser()
sidebar_label: getUser()
slug: /reference/javascript/auth/get-user
description: Use `nhost.auth.getUser()` to get the signed-in user.
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L656
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L640
---
# `getUser()`

View File

@@ -4,7 +4,7 @@ title: HasuraAuthClient
sidebar_label: Auth
description: No description provided.
slug: /reference/javascript/auth
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L59
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/hasura-auth-client.ts#L60
---
# `HasuraAuthClient`

View File

@@ -4,7 +4,7 @@ title: ApiChangeEmailResponse
sidebar_label: ApiChangeEmailResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L178
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L182
---
# `ApiChangeEmailResponse`

View File

@@ -4,7 +4,7 @@ title: ApiChangePasswordResponse
sidebar_label: ApiChangePasswordResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L170
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L174
---
# `ApiChangePasswordResponse`

View File

@@ -4,7 +4,7 @@ title: ApiDeanonymizeResponse
sidebar_label: ApiDeanonymizeResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L182
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L186
---
# `ApiDeanonymizeResponse`

View File

@@ -4,7 +4,7 @@ title: ApiRefreshTokenResponse
sidebar_label: ApiRefreshTokenResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L158
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L162
---
# `ApiRefreshTokenResponse`

View File

@@ -4,7 +4,7 @@ title: ApiResetPasswordResponse
sidebar_label: ApiResetPasswordResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L166
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L170
---
# `ApiResetPasswordResponse`

View File

@@ -4,7 +4,7 @@ title: ApiSendVerificationEmailResponse
sidebar_label: ApiSendVerificationEmailResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L174
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L178
---
# `ApiSendVerificationEmailResponse`

View File

@@ -4,7 +4,7 @@ title: ApiSignInData
sidebar_label: ApiSignInData
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L147
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L151
---
# `ApiSignInData`

View File

@@ -4,7 +4,7 @@ title: ApiSignInResponse
sidebar_label: ApiSignInResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L151
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L155
---
# `ApiSignInResponse`

View File

@@ -4,7 +4,7 @@ title: ApiSignOutResponse
sidebar_label: ApiSignOutResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L162
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L166
---
# `ApiSignOutResponse`

View File

@@ -4,7 +4,7 @@ title: ApiSignUpEmailPasswordResponse
sidebar_label: ApiSignUpEmailPasswordResponse
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L143
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L147
---
# `ApiSignUpEmailPasswordResponse`

View File

@@ -4,7 +4,7 @@ title: AuthChangeEvent
sidebar_label: AuthChangeEvent
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L125
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L135
---
# `AuthChangeEvent`

View File

@@ -4,7 +4,7 @@ title: AuthChangedFunction
sidebar_label: AuthChangedFunction
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L127
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L137
---
# `AuthChangedFunction`

View File

@@ -4,7 +4,7 @@ title: ChangeEmailParams
sidebar_label: ChangeEmailParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L99
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L106
---
# `ChangeEmailParams`

View File

@@ -4,7 +4,7 @@ title: ChangePasswordParams
sidebar_label: ChangePasswordParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L90
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L96
---
# `ChangePasswordParams`
@@ -16,3 +16,7 @@ custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-j
**<span className="parameter-name">newPassword</span>** <span className="optional-status">required</span> `string`
---
**<span className="parameter-name">ticket</span>** <span className="optional-status">optional</span> `string`
---

View File

@@ -4,35 +4,20 @@ title: DeanonymizeParams
sidebar_label: DeanonymizeParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L105
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L111
---
# `DeanonymizeParams`
## Parameters
---
**<span className="parameter-name">email</span>** <span className="optional-status">required</span> `string`
---
**<span className="parameter-name">signInMethod</span>** <span className="optional-status">required</span> `"email-password"` | `"passwordless"`
---
**<span className="parameter-name">allowedRoles</span>** <span className="optional-status">optional</span> `Array<string>`
---
**<span className="parameter-name">defaultRole</span>** <span className="optional-status">optional</span> `string`
---
**<span className="parameter-name">connection</span>** <span className="optional-status">optional</span> `"email"` | `"sms"`
---
**<span className="parameter-name">password</span>** <span className="optional-status">optional</span> `string`
---
```ts
type DeanonymizeParams =
| ({ signInMethod: 'email-password' } & SignUpParams)
| ({
signInMethod: 'passwordless'
connection: 'email'
} & SignInPasswordlessEmailParams)
| ({
signInMethod: 'passwordless'
connection: 'sms'
} & SignInPasswordlessSmsParams)
```

View File

@@ -4,7 +4,7 @@ title: Headers
sidebar_label: Headers
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L136
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L140
---
# `Headers`

View File

@@ -4,7 +4,7 @@ title: Mfa
sidebar_label: Mfa
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L139
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L143
---
# `Mfa`

View File

@@ -4,7 +4,7 @@ title: OnTokenChangedFunction
sidebar_label: OnTokenChangedFunction
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L129
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L139
---
# `OnTokenChangedFunction`

View File

@@ -22,4 +22,6 @@ type Provider =
| 'strava'
| 'gitlab'
| 'bitbucket'
| 'discord'
| 'twitch'
```

View File

@@ -4,7 +4,7 @@ title: ResetPasswordParams
sidebar_label: ResetPasswordParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L85
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L91
---
# `ResetPasswordParams`

View File

@@ -4,7 +4,7 @@ title: SendVerificationEmailParams
sidebar_label: SendVerificationEmailParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L94
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L101
---
# `SendVerificationEmailParams`

View File

@@ -1,19 +1,19 @@
---
# ⚠️ AUTO-GENERATED CONTENT. DO NOT EDIT THIS FILE DIRECTLY! ⚠️
title: LoginData
sidebar_label: LoginData
title: SignInEmailPasswordOtpParams
sidebar_label: SignInEmailPasswordOtpParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L131
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L59
---
# `LoginData`
# `SignInEmailPasswordOtpParams`
## Parameters
---
**<span className="parameter-name">mfa</span>** <span className="optional-status">optional</span> `boolean`
**<span className="parameter-name">otp</span>** <span className="optional-status">required</span> `string`
---

View File

@@ -4,7 +4,7 @@ title: SignInParams
sidebar_label: SignInParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L78
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L83
---
# `SignInParams`
@@ -12,6 +12,7 @@ custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-j
```ts
type SignInParams =
| SignInEmailPasswordParams
| SignInEmailPasswordOtpParams
| SignInPasswordlessEmailParams
| SignInPasswordlessSmsOtpParams
| SignInPasswordlessSmsParams

View File

@@ -4,7 +4,7 @@ title: SignInPasswordlessEmailParams
sidebar_label: SignInPasswordlessEmailParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L59
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L64
---
# `SignInPasswordlessEmailParams`

View File

@@ -4,7 +4,7 @@ title: SignInPasswordlessSmsOtpParams
sidebar_label: SignInPasswordlessSmsOtpParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L69
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L74
---
# `SignInPasswordlessSmsOtpParams`

View File

@@ -4,7 +4,7 @@ title: SignInPasswordlessSmsParams
sidebar_label: SignInPasswordlessSmsParams
description: No description provided.
displayed_sidebar: referenceSidebar
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L64
custom_edit_url: https://github.com/nhost/nhost/edit/main/packages/hasura-auth-js/src/utils/types.ts#L69
---
# `SignInPasswordlessSmsParams`

Some files were not shown because too many files have changed in this diff Show More