@directus/app 9.12.2 → 9.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{@directus_extensions-sdk.016f1070.entry.js → @directus_extensions-sdk.c2d0f9e8.entry.js} +1 -1
- package/dist/assets/accounts.6a41a439.js +1 -0
- package/dist/assets/{active-line.ff3bc705.js → active-line.85f931be.js} +1 -1
- package/dist/assets/activity-log.2f462c6d.js +1 -0
- package/dist/assets/activity.737e1d30.js +80 -0
- package/dist/assets/{apl.cc4825c6.js → apl.cef44fca.js} +1 -1
- package/dist/assets/ar-SA.1270865d.js +1 -0
- package/dist/assets/architecture.19f588c9.js +1 -0
- package/dist/assets/{asciiarmor.30bbdfc8.js → asciiarmor.0a6d46c1.js} +1 -1
- package/dist/assets/{asn.1.499e838e.js → asn.1.8af7db88.js} +1 -1
- package/dist/assets/{asterisk.a2fa7dc3.js → asterisk.133eb9d4.js} +1 -1
- package/dist/assets/authentication.77ec921a.js +73 -0
- package/dist/assets/{autorefresh.d36f34c8.js → autorefresh.8c3a7c64.js} +1 -1
- package/dist/assets/aws.f94e1168.js +1 -0
- package/dist/assets/backing-directus.16949f6d.js +1 -0
- package/dist/assets/bg-BG.375ca1ae.js +1 -0
- package/dist/assets/bn-IN.4127b7a4.js +1 -0
- package/dist/assets/{br-FR.1ad76918.js → br-FR.73a7f62b.js} +1 -1
- package/dist/assets/{brainfuck.dab31c46.js → brainfuck.bb0a1793.js} +1 -1
- package/dist/assets/{ca-ES.365a1fc4.js → ca-ES.3340d7d5.js} +1 -1
- package/dist/assets/cli.18caf1f2.js +19 -0
- package/dist/assets/cli.774a4996.js +4 -0
- package/dist/assets/{clike.7aacd908.js → clike.264a24b6.js} +1 -1
- package/dist/assets/{clojure.c8d9937a.js → clojure.5be5870c.js} +1 -1
- package/dist/assets/cloudron.3b183977.js +1 -0
- package/dist/assets/{cmake.e0408576.js → cmake.361bb9df.js} +1 -1
- package/dist/assets/{cobol.86241640.js → cobol.2e771d85.js} +1 -1
- package/dist/assets/codebase-overview.d6365b1a.js +1 -0
- package/dist/assets/{coffeescript.6090d9e8.js → coffeescript.132c432c.js} +1 -1
- package/dist/assets/collections.5ec4ec4a.js +2 -0
- package/dist/assets/collections.e66dacd4.js +106 -0
- package/dist/assets/{commonlisp.eb3c5619.js → commonlisp.87c850aa.js} +1 -1
- package/dist/assets/config-options.5b139611.js +138 -0
- package/dist/assets/content.0fca8e70.js +1 -0
- package/dist/assets/creating-extensions.09899f65.js +11 -0
- package/dist/assets/{crystal.01db8e68.js → crystal.8b2d4939.js} +1 -1
- package/dist/assets/cs-CZ.678bc13f.js +1 -0
- package/dist/assets/{css.b1894218.js → css.1e9857ce.js} +1 -1
- package/dist/assets/{cypher.c0cbf899.js → cypher.aefea96e.js} +1 -1
- package/dist/assets/{d.54d4201d.js → d.38a2fd63.js} +1 -1
- package/dist/assets/{da-DK.88f53a7d.js → da-DK.8db961d3.js} +1 -1
- package/dist/assets/{dart.2218881c.js → dart.4d90eff6.js} +1 -1
- package/dist/assets/data-model.98153925.js +1 -0
- package/dist/assets/data-sharing.06e8a06f.js +1 -0
- package/dist/assets/de-DE.a45e2867.js +1 -0
- package/dist/assets/{diff.d7f03886.js → diff.f2ea9976.js} +1 -1
- package/dist/assets/digitalocean-app-platform.7da3c7a1.js +3 -0
- package/dist/assets/display-templates.cd179d19.js +1 -0
- package/dist/assets/displays.1ee1f2b5.js +49 -0
- package/dist/assets/{django.913379d3.js → django.fce1ee6c.js} +1 -1
- package/dist/assets/{docker.e1bb4205.js → docker.7318105b.js} +6 -6
- package/dist/assets/{dockerfile.9c7cf88b.js → dockerfile.10fea9a2.js} +1 -1
- package/dist/assets/documentation.ec08e64e.js +1 -0
- package/dist/assets/{dtd.dbc97bdb.js → dtd.c67f9501.js} +1 -1
- package/dist/assets/{dylan.0c2df43b.js → dylan.9c7c8fbb.js} +1 -1
- package/dist/assets/{ebnf.4c778620.js → ebnf.5893ba11.js} +1 -1
- package/dist/assets/{ecl.778611ac.js → ecl.666cf005.js} +1 -1
- package/dist/assets/{eiffel.2a73cd14.js → eiffel.1ff51078.js} +1 -1
- package/dist/assets/{elm.90002323.js → elm.3c43bbde.js} +1 -1
- package/dist/assets/email-templates.bc7359ba.js +2 -0
- package/dist/assets/{en-CA.58d818b8.js → en-CA.d2451b87.js} +1 -1
- package/dist/assets/{en-GB.74320d21.js → en-GB.e362e116.js} +1 -1
- package/dist/assets/endpoints.a283ab67.js +27 -0
- package/dist/assets/{erlang.c8e3989e.js → erlang.cfe0d25f.js} +1 -1
- package/dist/assets/es-419.d7e63f16.js +1 -0
- package/dist/assets/es-CL.7fd46c95.js +1 -0
- package/dist/assets/es-ES.90a08b21.js +1 -0
- package/dist/assets/es-MX.778b926c.js +1 -0
- package/dist/assets/{et-EE.9e35920e.js → et-EE.5321add1.js} +1 -1
- package/dist/assets/extensions.a51d3924.js +12 -0
- package/dist/assets/{fa-IR.f3dc75f9.js → fa-IR.a346165e.js} +1 -1
- package/dist/assets/{factor.a2db9c26.js → factor.eb880fb0.js} +1 -1
- package/dist/assets/faq.7bde76ae.js +2 -0
- package/dist/assets/{fcl.02d85986.js → fcl.a70b3450.js} +1 -1
- package/dist/assets/{fi-FI.42afdce0.js → fi-FI.14cee6db.js} +1 -1
- package/dist/assets/fields.1f2e77de.js +135 -0
- package/dist/assets/file-library.3626307c.js +1 -0
- package/dist/assets/files.e045e557.js +189 -0
- package/dist/assets/filter-rules.247581e5.js +76 -0
- package/dist/assets/filters.43e74661.js +1 -0
- package/dist/assets/flows.323ce75f.js +15 -0
- package/dist/assets/{flows.22228af1.js → flows.5f5e16d5.js} +23 -23
- package/dist/assets/{folders.0024d3d3.js → folders.56c9a624.js} +20 -20
- package/dist/assets/{forth.725698ea.js → forth.127a7f69.js} +1 -1
- package/dist/assets/{fortran.e9ba7b47.js → fortran.64d2bcc8.js} +1 -1
- package/dist/assets/{fr-CA.caa3fc8d.js → fr-CA.7669aed8.js} +1 -1
- package/dist/assets/{fr-FR.615da1bd.js → fr-FR.49507672.js} +1 -1
- package/dist/assets/{gas.25b17a72.js → gas.b5ddd39d.js} +1 -1
- package/dist/assets/gcp.aab7b77c.js +60 -0
- package/dist/assets/{gfm.a7b6e273.js → gfm.0e5a0d37.js} +1 -1
- package/dist/assets/{gherkin.1db310b6.js → gherkin.ca9beebc.js} +1 -1
- package/dist/assets/github-ci.fbe7bc68.js +2 -0
- package/dist/assets/glossary.321fe2e7.js +1 -0
- package/dist/assets/glossary.8e8d2e42.js +1 -0
- package/dist/assets/{go.a0c64ca2.js → go.601cf92f.js} +1 -1
- package/dist/assets/{groovy.b0ac2a1f.js → groovy.106b0e1b.js} +1 -1
- package/dist/assets/{haml.233c9608.js → haml.8a27bb91.js} +1 -1
- package/dist/assets/{handlebars.b13fc00f.js → handlebars.7edaa076.js} +1 -1
- package/dist/assets/{haskell-literate.af8f88ee.js → haskell-literate.c5a1599c.js} +1 -1
- package/dist/assets/{haskell.adcf73db.js → haskell.499e9d63.js} +1 -1
- package/dist/assets/{haxe.f1a75c2e.js → haxe.6103069d.js} +1 -1
- package/dist/assets/{hi-IN.36e79faa.js → hi-IN.1abc0fe8.js} +1 -1
- package/dist/assets/hooks.c8418066.js +60 -0
- package/dist/assets/{hr-HR.b1e41c07.js → hr-HR.5e9128d0.js} +1 -1
- package/dist/assets/{htmlembedded.145e9718.js → htmlembedded.57ac5929.js} +1 -1
- package/dist/assets/{htmlmixed.6794685c.js → htmlmixed.be98881c.js} +1 -1
- package/dist/assets/{http.5bb61ef1.js → http.4229d6d3.js} +1 -1
- package/dist/assets/{hu-HU.9c7ec38f.js → hu-HU.edf3e061.js} +1 -1
- package/dist/assets/id-ID.5d8e082c.js +1 -0
- package/dist/assets/{idl.f52ce6c3.js → idl.1baa44ef.js} +1 -1
- package/dist/assets/{iis.109e5a8a.js → iis.5653e9da.js} +2 -2
- package/dist/assets/import-export.c48e51e7.js +2 -0
- package/dist/assets/{index.d8fe2ade.js → index.06b1bc9f.js} +1 -1
- package/dist/assets/{index.2ec06d14.js → index.0b12fa24.js} +1 -1
- package/dist/assets/{index.a40592f5.js → index.0ec094a3.js} +1 -1
- package/dist/assets/{index.10f90411.js → index.15a6b55f.js} +1 -1
- package/dist/assets/{index.663b73a9.js → index.16d5015d.js} +1 -1
- package/dist/assets/{index.a8aa4628.js → index.178f5aaf.js} +1 -1
- package/dist/assets/{index.627523d7.js → index.1a744da7.js} +1 -1
- package/dist/assets/{index.14c720ba.js → index.204d0697.js} +1 -1
- package/dist/assets/{index.c6e501ec.js → index.219a17f2.js} +1 -1
- package/dist/assets/{index.6f0b7179.js → index.28cc485f.js} +1 -1
- package/dist/assets/{index.d0fe3776.js → index.29e951ca.js} +1 -1
- package/dist/assets/{index.85b9f847.js → index.2c806494.js} +1 -1
- package/dist/assets/{index.cc6496a8.js → index.2d502598.js} +1 -1
- package/dist/assets/{index.cda6c2d6.js → index.3142cfab.js} +1 -1
- package/dist/assets/{index.cef58c9b.js → index.33ca7318.js} +1 -1
- package/dist/assets/{index.b702042e.js → index.360682df.js} +1 -1
- package/dist/assets/{index.af021d8a.js → index.3651f13c.js} +1 -1
- package/dist/assets/{index.e3dcc63c.js → index.3db870b4.js} +1 -1
- package/dist/assets/{index.98713a56.js → index.3f26bd55.js} +1 -1
- package/dist/assets/{index.9b60cfa4.js → index.3f629050.js} +1 -1
- package/dist/assets/{index.63d1f569.js → index.3fcf2822.js} +1 -1
- package/dist/assets/{index.55a12dfb.js → index.4ae9df91.js} +1 -1
- package/dist/assets/{index.1b44d300.js → index.4d0c9d2f.js} +1 -1
- package/dist/assets/{index.2598f40b.js → index.5073c294.js} +1 -1
- package/dist/assets/{index.a9b73f2c.js → index.528b0171.js} +1 -1
- package/dist/assets/{index.98ee194a.js → index.530b8f76.js} +1 -1
- package/dist/assets/{index.4fbaebb7.js → index.57201b30.js} +1 -1
- package/dist/assets/{index.d9285c22.js → index.577a0434.js} +1 -1
- package/dist/assets/{index.4ef25ded.js → index.58506149.js} +1 -1
- package/dist/assets/{index.6bebaca7.js → index.59759bad.js} +1 -1
- package/dist/assets/{index.3eda79ec.js → index.5d2a1255.js} +1 -1
- package/dist/assets/{index.bce5f50d.js → index.5ef47d94.js} +1 -1
- package/dist/assets/{index.a9faa4e8.js → index.656a3daa.js} +1 -1
- package/dist/assets/{index.93059741.js → index.67e35129.js} +1 -1
- package/dist/assets/{index.402d83c0.js → index.6fe4b726.js} +1 -1
- package/dist/assets/{index.77260d1d.js → index.7011d0c4.js} +1 -1
- package/dist/assets/{index.ef3faba8.js → index.708c2587.js} +1 -1
- package/dist/assets/{index.7fe984e4.js → index.731ea486.js} +1 -1
- package/dist/assets/{index.7f906cfe.js → index.7b6f6a30.js} +1 -1
- package/dist/assets/{index.16acfb90.js → index.7bfaf022.js} +1 -1
- package/dist/assets/{index.5c54c17f.js → index.7ccfac4f.js} +1 -1
- package/dist/assets/{index.60d33aa1.js → index.7d3af32f.js} +1 -1
- package/dist/assets/{index.c9fb33ab.js → index.7efa08a7.js} +1 -1
- package/dist/assets/{index.3d4cd218.js → index.83254b8b.js} +1 -1
- package/dist/assets/index.876852bd.entry.js +3402 -0
- package/dist/assets/{index.1a65b37a.js → index.8d2db40f.js} +1 -1
- package/dist/assets/index.9001e465.css +1 -0
- package/dist/assets/{index.a71fa74c.js → index.91fa7a8d.js} +1 -1
- package/dist/assets/{index.8493b2e7.js → index.9459ab09.js} +1 -1
- package/dist/assets/{index.d653bbf2.js → index.94d7ade8.js} +1 -1
- package/dist/assets/{index.55cf7b0a.js → index.9ac418f5.js} +1 -1
- package/dist/assets/{index.0295bc4b.js → index.9c5a0589.js} +1 -1
- package/dist/assets/{index.20b34242.js → index.9dd4ba15.js} +1 -1
- package/dist/assets/{index.5f5bf5b9.js → index.9f4f31bb.js} +1 -1
- package/dist/assets/{index.28aa754b.js → index.9fa88e82.js} +1 -1
- package/dist/assets/{index.b5ed5076.js → index.9fd2f4fc.js} +1 -1
- package/dist/assets/{index.94cf6fb4.js → index.9ff8ac88.js} +1 -1
- package/dist/assets/{index.e6715953.js → index.a22ebf71.js} +1 -1
- package/dist/assets/{index.fa57ca3f.js → index.aadb91bf.js} +1 -1
- package/dist/assets/{index.ee22568a.js → index.b0a109be.js} +1 -1
- package/dist/assets/{index.2926879f.js → index.b107abb9.js} +1 -1
- package/dist/assets/{index.7fd5e2a0.js → index.b6f0287a.js} +1 -1
- package/dist/assets/{index.0e101049.js → index.b7cd48a8.js} +1 -1
- package/dist/assets/{index.b67f8116.js → index.bfffbb2b.js} +1 -1
- package/dist/assets/{index.b43832c6.js → index.c83f5be4.js} +1 -1
- package/dist/assets/{index.d060d5f6.js → index.c8cd968e.js} +1 -1
- package/dist/assets/{index.ebb444cf.js → index.cb9930fe.js} +1 -1
- package/dist/assets/{index.56188e3b.js → index.cf04970d.js} +1 -1
- package/dist/assets/{index.43fa9898.js → index.d0c387c9.js} +1 -1
- package/dist/assets/{index.bfd23a9c.js → index.d2a1f961.js} +1 -1
- package/dist/assets/{index.456ff0bd.js → index.d2cb8f46.js} +1 -1
- package/dist/assets/{index.c35b11e6.js → index.d7109bf7.js} +1 -1
- package/dist/assets/{index.a5d15d7f.js → index.da530994.js} +1 -1
- package/dist/assets/{index.a3e085ea.js → index.dbfcc1a7.js} +1 -1
- package/dist/assets/{index.399c0d62.js → index.dd1b70ed.js} +1 -1
- package/dist/assets/{index.4100d6f0.js → index.e29b1e2d.js} +1 -1
- package/dist/assets/{index.c2e6211e.js → index.e3eade04.js} +1 -1
- package/dist/assets/{index.07257d01.js → index.e65177c5.js} +1 -1
- package/dist/assets/{index.4e2109fe.js → index.e6925009.js} +1 -1
- package/dist/assets/{index.175a81f8.js → index.e7f7c63b.js} +1 -1
- package/dist/assets/{index.c5266851.js → index.f03e3a04.js} +1 -1
- package/dist/assets/{index.8a9f2874.js → index.f2b97e8c.js} +1 -1
- package/dist/assets/{index.7249f524.js → index.f73d801d.js} +1 -1
- package/dist/assets/{input-rich-text-html.817ccf8b.css → input-rich-text-html.05181995.css} +1 -1
- package/dist/assets/{input-rich-text-html.e9e92552.js → input-rich-text-html.ec8448e4.js} +3 -3
- package/dist/assets/insights.91323cd9.js +2 -0
- package/dist/assets/installation.52e4ff88.js +1 -0
- package/dist/assets/interfaces.3a13d91e.js +46 -0
- package/dist/assets/introduction.651560f1.js +1 -0
- package/dist/assets/introduction.8442768e.js +4 -0
- package/dist/assets/introduction.8fbc61cf.js +1 -0
- package/dist/assets/{introduction.2e6f5c1d.js → introduction.a7d534ac.js} +7 -7
- package/dist/assets/it-IT.558525d2.js +1 -0
- package/dist/assets/items.21c2f5c1.js +1 -0
- package/dist/assets/{items.4205dfa0.js → items.89e120a5.js} +27 -27
- package/dist/assets/ja-JP.84597497.js +1 -0
- package/dist/assets/{javascript-hint.d8a99d8e.js → javascript-hint.7c0e2348.js} +1 -1
- package/dist/assets/{javascript.357d6ab4.js → javascript.549d0ba4.js} +1 -1
- package/dist/assets/{jinja2.64181acd.js → jinja2.5aada9b5.js} +1 -1
- package/dist/assets/{jsx.ba14fb9d.js → jsx.560c7673.js} +1 -1
- package/dist/assets/{julia.06a9ee42.js → julia.4b70a3c2.js} +1 -1
- package/dist/assets/layouts.1ab2977a.js +1 -0
- package/dist/assets/layouts.ec7b7659.js +54 -0
- package/dist/assets/{livescript.687f6ca6.js → livescript.c54303a1.js} +1 -1
- package/dist/assets/localization.7df8d876.js +1 -0
- package/dist/assets/{lt-LT.772aac6e.js → lt-LT.7c7364ab.js} +1 -1
- package/dist/assets/{lua.40597bfe.js → lua.eee6a1df.js} +1 -1
- package/dist/assets/manual.1cafb3c9.js +10 -0
- package/dist/assets/{mark-selection.feeab6e5.js → mark-selection.c75b2260.js} +1 -1
- package/dist/assets/{match-highlighter.8afd3316.js → match-highlighter.06888b25.js} +1 -1
- package/dist/assets/{mathematica.6569f1d2.js → mathematica.836a919a.js} +1 -1
- package/dist/assets/{mbox.d8c16b77.js → mbox.a18f3acd.js} +1 -1
- package/dist/assets/migrations.48bae78b.js +19 -0
- package/dist/assets/{mirc.5f909857.js → mirc.8d633a4c.js} +1 -1
- package/dist/assets/{mllike.393c4525.js → mllike.ee0a0e4e.js} +1 -1
- package/dist/assets/{modelica.1180cc4d.js → modelica.806d9c14.js} +1 -1
- package/dist/assets/modules.ba273153.js +69 -0
- package/dist/assets/{mscgen.429d47df.js → mscgen.81143483.js} +1 -1
- package/dist/assets/{multiplex.23c498d1.js → multiplex.b5f6827f.js} +1 -1
- package/dist/assets/{mumps.f94bba13.js → mumps.af4fdb4c.js} +1 -1
- package/dist/assets/{nginx.72bf7bab.js → nginx.a80ef11d.js} +1 -1
- package/dist/assets/{nl-NL.b57de112.js → nl-NL.e22dd4e0.js} +1 -1
- package/dist/assets/{no-NO.79458b78.js → no-NO.6edd4997.js} +1 -1
- package/dist/assets/notifications.1e1cfcf8.js +153 -0
- package/dist/assets/{nsis.68fe2711.js → nsis.6c7c39d8.js} +1 -1
- package/dist/assets/{ntriples.964a7402.js → ntriples.9c907279.js} +1 -1
- package/dist/assets/{octave.26aad7e7.js → octave.1e59cd30.js} +1 -1
- package/dist/assets/operations.054152be.js +1 -0
- package/dist/assets/{operations.22151874.js → operations.cd009c46.js} +21 -21
- package/dist/assets/{overlay.b4b97f23.js → overlay.c92748f5.js} +1 -1
- package/dist/assets/overview.70f19d6e.js +1 -0
- package/dist/assets/overview.a1ad38f6.js +1 -0
- package/dist/assets/overview.b5ff02e8.js +1 -0
- package/dist/assets/{oz.1076911f.js → oz.fccca05b.js} +1 -1
- package/dist/assets/panels.a7ccfe62.js +65 -0
- package/dist/assets/{pascal.8ad1e64f.js → pascal.ba64f8f0.js} +1 -1
- package/dist/assets/{pegjs.c362f9d1.js → pegjs.6dfcd58b.js} +1 -1
- package/dist/assets/{perl.afe37b4f.js → perl.0e74be0a.js} +1 -1
- package/dist/assets/{permissions.f84f8d42.js → permissions.7a7896f5.js} +19 -19
- package/dist/assets/{php.2fcb5b78.js → php.d233db82.js} +1 -1
- package/dist/assets/{pig.1047d3c6.js → pig.21e0eb3e.js} +1 -1
- package/dist/assets/{pinia.256cc3da.entry.js → pinia.10afb35e.entry.js} +1 -1
- package/dist/assets/pl-PL.88defd20.js +1 -0
- package/dist/assets/plesk.e70d310e.js +27 -0
- package/dist/assets/{powershell.a493c1a9.js → powershell.da69d4e0.js} +1 -1
- package/dist/assets/presets-bookmarks.03f2cacf.js +1 -0
- package/dist/assets/{presets.b1e8b6c1.js → presets.78562380.js} +20 -20
- package/dist/assets/project-settings.1ca9f129.js +1 -0
- package/dist/assets/projects.8310e11a.js +1 -0
- package/dist/assets/{properties.2ccd56b8.js → properties.a4628831.js} +1 -1
- package/dist/assets/{protobuf.a0e463a0.js → protobuf.f0f96141.js} +1 -1
- package/dist/assets/pt-BR.70dc0b86.js +1 -0
- package/dist/assets/{pt-PT.c28534a0.js → pt-PT.011f0864.js} +1 -1
- package/dist/assets/{pug.3909bb70.js → pug.3fee26d4.js} +1 -1
- package/dist/assets/{puppet.298e3717.js → puppet.60ebf719.js} +1 -1
- package/dist/assets/{python.099f62ce.js → python.a209d75c.js} +1 -1
- package/dist/assets/{q.64763e8e.js → q.9bc79202.js} +1 -1
- package/dist/assets/query.23aa38a2.js +152 -0
- package/dist/assets/quickstart.2ad94821.js +20 -0
- package/dist/assets/quickstart.59a0c62f.js +9 -0
- package/dist/assets/{r.f2c0470b.js → r.73746445.js} +1 -1
- package/dist/assets/relations.c6b50878.js +115 -0
- package/dist/assets/relationships.7a08adb6.js +55 -0
- package/dist/assets/resources.a731a4ac.js +1 -0
- package/dist/assets/revisions.69b22e98.js +40 -0
- package/dist/assets/{ro-RO.5161835a.js → ro-RO.335d3129.js} +1 -1
- package/dist/assets/roles.caf226aa.js +171 -0
- package/dist/assets/{rpm.cf84a89e.js → rpm.b64d60a3.js} +1 -1
- package/dist/assets/{rst.26def927.js → rst.d4af1cd8.js} +1 -1
- package/dist/assets/{ru-RU.94a64be6.js → ru-RU.2ccef41d.js} +1 -1
- package/dist/assets/{ruby.5fdee9b4.js → ruby.a80f4c3d.js} +1 -1
- package/dist/assets/running-locally.0df06054.js +26 -0
- package/dist/assets/{runtime-core.esm-bundler.b1f35d24.js → runtime-core.esm-bundler.e6808e6c.js} +0 -0
- package/dist/assets/{rust.ab31720a.js → rust.899c7d8f.js} +1 -1
- package/dist/assets/{sas.d35671d3.js → sas.41f29cd7.js} +1 -1
- package/dist/assets/{sass.be16b14c.js → sass.1d8f58d7.js} +1 -1
- package/dist/assets/{scheme.da057889.js → scheme.2ab5ffc7.js} +1 -1
- package/dist/assets/{sdk.12cd7974.js → sdk.482f914b.js} +41 -41
- package/dist/assets/security.e53645ff.js +1 -0
- package/dist/assets/{server.9f12ae3e.js → server.c899d180.js} +12 -12
- package/dist/assets/settings.2dce0b3a.js +51 -0
- package/dist/assets/settings.3849af9a.js +1 -0
- package/dist/assets/{shell.ba07ff2f.js → shell.a3cecf64.js} +1 -1
- package/dist/assets/{show-hint.4c3405db.js → show-hint.3f4ba8eb.js} +1 -1
- package/dist/assets/{sieve.9a88af42.js → sieve.f25d24f4.js} +1 -1
- package/dist/assets/{simple.306c97cf.js → simple.c984322a.js} +1 -1
- package/dist/assets/{sl-SI.719d987e.js → sl-SI.e8321ed4.js} +1 -1
- package/dist/assets/{slim.11e72018.js → slim.3db1f064.js} +1 -1
- package/dist/assets/{smalltalk.802facc0.js → smalltalk.f551ff39.js} +1 -1
- package/dist/assets/{smarty.410c0c8d.js → smarty.afd9c30f.js} +1 -1
- package/dist/assets/{solr.43e14cbf.js → solr.c9696404.js} +1 -1
- package/dist/assets/{soy.18418f41.js → soy.1a041a45.js} +1 -1
- package/dist/assets/{sparql.5169332f.js → sparql.8928a4e7.js} +1 -1
- package/dist/assets/{spreadsheet.2a7e9b13.js → spreadsheet.b508d495.js} +1 -1
- package/dist/assets/{sql.53c1d1ba.js → sql.ca615946.js} +1 -1
- package/dist/assets/{sr-CS.c513578f.js → sr-CS.4de79c8e.js} +1 -1
- package/dist/assets/{sso-examples.b52061be.js → sso-examples.b4ec54d6.js} +12 -12
- package/dist/assets/sso.83af860e.js +22 -0
- package/dist/assets/{stex.7c4e0033.js → stex.49bcb53e.js} +1 -1
- package/dist/assets/{stylus.dfe1c737.js → stylus.861b3b1d.js} +1 -1
- package/dist/assets/support.ec8c583f.js +1 -0
- package/dist/assets/{sv-SE.a70fd097.js → sv-SE.0f875403.js} +1 -1
- package/dist/assets/{swift.e9cb43f5.js → swift.3f2d8cb3.js} +1 -1
- package/dist/assets/{tcl.7cc3bef5.js → tcl.cd07bc30.js} +1 -1
- package/dist/assets/teams.cd070396.js +1 -0
- package/dist/assets/{textile.353c8497.js → textile.a63fbf58.js} +1 -1
- package/dist/assets/{th-TH.bdbc4a8c.js → th-TH.2ebd6079.js} +1 -1
- package/dist/assets/themes.6b4fa5ad.js +5 -0
- package/dist/assets/{tiddlywiki.f4ebe8db.js → tiddlywiki.f2f348c0.js} +1 -1
- package/dist/assets/{tiki.95dd78e4.js → tiki.ba369f07.js} +1 -1
- package/dist/assets/{toml.f50bb93a.js → toml.31bb978b.js} +1 -1
- package/dist/assets/{tornado.3e0cfd8c.js → tornado.1777e143.js} +1 -1
- package/dist/assets/{tr-TR.d7a7361f.js → tr-TR.bf97340d.js} +1 -1
- package/dist/assets/translation-strings.20caaf44.js +1 -0
- package/dist/assets/translations.b0669f1b.js +1 -0
- package/dist/assets/triggers.ef2f026f.js +1 -0
- package/dist/assets/{troff.a2834e8f.js → troff.1d83c4c6.js} +1 -1
- package/dist/assets/{ttcn-cfg.447f138c.js → ttcn-cfg.7fa2f9b9.js} +1 -1
- package/dist/assets/{ttcn.7d877404.js → ttcn.5f856a38.js} +1 -1
- package/dist/assets/{turtle.3b4898fd.js → turtle.3c6fdbbb.js} +1 -1
- package/dist/assets/{twig.53dd7cbe.js → twig.542faf41.js} +1 -1
- package/dist/assets/ubuntu.d721892a.js +11 -0
- package/dist/assets/uk-UA.3d9cc5ac.js +1 -0
- package/dist/assets/upgrades-migrations.7ca77eae.js +1 -0
- package/dist/assets/{use-sync.c0f4dfab.js → use-sync.a493fd37.js} +1 -1
- package/dist/assets/user-directory.1e43d57c.js +1 -0
- package/dist/assets/users-roles-permissions.298f1d29.js +1 -0
- package/dist/assets/users.c27bf116.js +252 -0
- package/dist/assets/{utilities.26e6a9e8.js → utilities.5c027346.js} +12 -12
- package/dist/assets/{vb.c3313898.js → vb.660ea551.js} +1 -1
- package/dist/assets/{vbscript.0b106bed.js → vbscript.8d60ba84.js} +1 -1
- package/dist/assets/{velocity.c20bb29d.js → velocity.2c820c8c.js} +1 -1
- package/dist/assets/{verilog.2f6698b4.js → verilog.a6d857f3.js} +1 -1
- package/dist/assets/{vhdl.6127eef7.js → vhdl.1739da74.js} +1 -1
- package/dist/assets/{vi-VN.7478a743.js → vi-VN.7aaf0f64.js} +1 -1
- package/dist/assets/{vue-i18n.ecb0af35.entry.js → vue-i18n.540626ab.entry.js} +1 -1
- package/dist/assets/{vue-router.8987d576.entry.js → vue-router.3ef5d657.entry.js} +1 -1
- package/dist/assets/{vue.1f4d921a.entry.js → vue.2ddff80c.entry.js} +1 -1
- package/dist/assets/{vue.bb756ea0.js → vue.6a736ef9.js} +1 -1
- package/dist/assets/{vue.runtime.esm-bundler.ac4ff7af.js → vue.runtime.esm-bundler.f4ce1cef.js} +1 -1
- package/dist/assets/{wast.66661aa3.js → wast.4a6e6c0b.js} +1 -1
- package/dist/assets/{webhooks.4eeecb7d.js → webhooks.c44db11b.js} +19 -19
- package/dist/assets/webhooks.dcb64844.js +1 -0
- package/dist/assets/{webidl.0a42319e.js → webidl.92e5974e.js} +1 -1
- package/dist/assets/{xquery.44dd200c.js → xquery.2e4160b5.js} +1 -1
- package/dist/assets/{yacas.6f3863db.js → yacas.3afca2ee.js} +1 -1
- package/dist/assets/{yaml-frontmatter.42fca60b.js → yaml-frontmatter.312d62d5.js} +1 -1
- package/dist/assets/{yaml.d85fc2b2.js → yaml.71c2f2cd.js} +1 -1
- package/dist/assets/{z80.2bbe85a7.js → z80.e076e688.js} +1 -1
- package/dist/assets/zh-CN.d7b18680.js +1 -0
- package/dist/assets/zh-TW.4802ae81.js +1 -0
- package/dist/index.html +8 -8
- package/package.json +9 -7
- package/dist/assets/accounts.08433099.js +0 -1
- package/dist/assets/activity-log.496fa2f2.css +0 -1
- package/dist/assets/activity-log.fd558c9b.js +0 -1
- package/dist/assets/activity.0def80ca.js +0 -80
- package/dist/assets/ar-SA.1a6c2c65.js +0 -1
- package/dist/assets/architecture.6e6f13a7.js +0 -1
- package/dist/assets/authentication.a6f04750.js +0 -73
- package/dist/assets/aws.3b1c64af.js +0 -1
- package/dist/assets/backing-directus.0003d237.js +0 -1
- package/dist/assets/bg-BG.749c86ae.js +0 -1
- package/dist/assets/bn-IN.1385676c.js +0 -1
- package/dist/assets/cli.5153aa86.js +0 -4
- package/dist/assets/cli.e8e2526b.js +0 -19
- package/dist/assets/cloudron.53c430b8.js +0 -1
- package/dist/assets/codebase-overview.e9df94fc.js +0 -1
- package/dist/assets/collections.2453db3a.js +0 -106
- package/dist/assets/collections.aa896b3f.js +0 -2
- package/dist/assets/config-options.b1233b4b.js +0 -138
- package/dist/assets/content.1b1e95cf.js +0 -1
- package/dist/assets/creating-extensions.bfd7c57c.js +0 -11
- package/dist/assets/cs-CZ.6910228b.js +0 -1
- package/dist/assets/data-model.0e360572.js +0 -1
- package/dist/assets/data-sharing.da96e52e.js +0 -1
- package/dist/assets/de-DE.a4271e4f.js +0 -1
- package/dist/assets/digitalocean-app-platform.3412cb40.js +0 -3
- package/dist/assets/display-templates.915c0c5b.js +0 -1
- package/dist/assets/displays.99989c6d.js +0 -49
- package/dist/assets/documentation.788d4998.js +0 -1
- package/dist/assets/email-templates.1f5ac335.js +0 -2
- package/dist/assets/endpoints.aaac7c81.js +0 -27
- package/dist/assets/es-419.aa0bf259.js +0 -1
- package/dist/assets/es-CL.e42c6c3c.js +0 -1
- package/dist/assets/es-ES.5c7e9438.js +0 -1
- package/dist/assets/es-MX.b9c72674.js +0 -1
- package/dist/assets/extensions.34c12005.js +0 -12
- package/dist/assets/faq.89e68608.js +0 -2
- package/dist/assets/fields.54985585.js +0 -135
- package/dist/assets/file-library.b55c53fe.js +0 -1
- package/dist/assets/files.064d5a35.js +0 -187
- package/dist/assets/filter-rules.aec0af01.js +0 -76
- package/dist/assets/filters.3db1b044.js +0 -1
- package/dist/assets/flows.3ea1b90f.js +0 -15
- package/dist/assets/gcp.627205b5.js +0 -60
- package/dist/assets/github-ci.abd39dcc.js +0 -2
- package/dist/assets/glossary.312e2401.js +0 -1
- package/dist/assets/glossary.75ca2027.js +0 -1
- package/dist/assets/hooks.eda18b02.js +0 -60
- package/dist/assets/id-ID.a0052c00.js +0 -1
- package/dist/assets/import-export.3da878a4.js +0 -2
- package/dist/assets/index.133de9ba.entry.js +0 -3406
- package/dist/assets/index.ef58525d.css +0 -1
- package/dist/assets/insights.c8ed7c1c.js +0 -1
- package/dist/assets/installation.78c6d9f6.js +0 -1
- package/dist/assets/interfaces.9e145c45.js +0 -46
- package/dist/assets/introduction.78a2a844.js +0 -4
- package/dist/assets/introduction.8a589eb0.js +0 -1
- package/dist/assets/introduction.fd7c08ac.js +0 -1
- package/dist/assets/it-IT.7b7f58ec.js +0 -1
- package/dist/assets/items.64ed9295.js +0 -1
- package/dist/assets/ja-JP.819a38cf.js +0 -1
- package/dist/assets/layouts.3c14b583.js +0 -54
- package/dist/assets/layouts.ca8afd39.js +0 -1
- package/dist/assets/localization.374b7427.js +0 -1
- package/dist/assets/manual.ab601c95.js +0 -10
- package/dist/assets/migrations.8989fedc.js +0 -19
- package/dist/assets/modules.17c944d1.js +0 -69
- package/dist/assets/notifications.33c688c9.js +0 -153
- package/dist/assets/operations.50a08aae.js +0 -1
- package/dist/assets/overview.3436365c.js +0 -1
- package/dist/assets/overview.623fafba.js +0 -1
- package/dist/assets/overview.dbebe94a.js +0 -1
- package/dist/assets/panels.385b173a.js +0 -65
- package/dist/assets/pl-PL.7e448fa9.js +0 -1
- package/dist/assets/plesk.f7e3d5ef.js +0 -27
- package/dist/assets/presets-bookmarks.1b8ec70c.js +0 -1
- package/dist/assets/project-settings.d32669a9.js +0 -1
- package/dist/assets/projects.bb50c3df.js +0 -1
- package/dist/assets/pt-BR.2d6fa7cc.js +0 -1
- package/dist/assets/query.dbe0b56d.js +0 -152
- package/dist/assets/quickstart.01824cc9.js +0 -9
- package/dist/assets/quickstart.4d7c7736.js +0 -20
- package/dist/assets/relations.d29aa86d.js +0 -115
- package/dist/assets/relationships.c9c5db8a.js +0 -55
- package/dist/assets/resources.00028bf0.js +0 -1
- package/dist/assets/revisions.2898106e.js +0 -40
- package/dist/assets/roles.9fec37da.js +0 -171
- package/dist/assets/running-locally.811d0dcc.js +0 -26
- package/dist/assets/security.8e2a8a41.js +0 -1
- package/dist/assets/settings.149d1dff.js +0 -1
- package/dist/assets/settings.28abc1f0.js +0 -51
- package/dist/assets/sso.64b2717b.js +0 -22
- package/dist/assets/support.94e3734b.js +0 -1
- package/dist/assets/teams.9ff14f8f.js +0 -1
- package/dist/assets/themes.df7ec485.js +0 -5
- package/dist/assets/translations.5191ab7c.js +0 -1
- package/dist/assets/triggers.1f1ace5f.js +0 -1
- package/dist/assets/ubuntu.f4c21886.js +0 -11
- package/dist/assets/uk-UA.473dd1c9.js +0 -1
- package/dist/assets/upgrades-migrations.15498a47.js +0 -1
- package/dist/assets/user-directory.47c8beb2.js +0 -1
- package/dist/assets/users-roles-permissions.005388fa.js +0 -1
- package/dist/assets/users.84251ab9.js +0 -252
- package/dist/assets/webhooks.61b11e7d.js +0 -1
- package/dist/assets/zh-CN.c51e7308.js +0 -1
- package/dist/assets/zh-TW.8ef6cec8.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as n,o as c,b as d,w as o,g as e,e as s,B as t}from"./runtime-core.esm-bundler.b1f35d24.js";var r={};const u={class:"markdown-body"},h=t("A Project is a complete instance of Directus, including its "),p=e("strong",null,"Database",-1),g=t(", config file, asset storage, and any custom extensions. "),_=t("Learn more about Projects"),m=t("."),f=e("h2",{id:"upgrading-%2F-updating-a-project"},[t("Upgrading / Updating a Project "),e("a",{class:"header-anchor",href:"#upgrading-%2F-updating-a-project"},"#")],-1),y=e("ol",null,[e("li",null,"Backup your project"),e("li",null,[t("Run "),e("code",{class:""},"npm update")]),e("li",null,[t("Run "),e("code",{class:""},"npx directus database migrate:latest"),t(" to update the DB")])],-1),b=e("h2",{id:"backing-up-a-project"},[t("Backing-up a Project "),e("a",{class:"header-anchor",href:"#backing-up-a-project"},"#")],-1),v=e("ol",null,[e("li",null,[t("Make a copy of the "),e("strong",null,"files within each storage adapter"),t(", and store them in a safe place")]),e("li",null,[t("Make a copy of the "),e("strong",null,"Env file"),t(" ("),e("code",{class:""},"/api/.env"),t("), and store it in a safe place")]),e("li",null,"Create a database dump")],-1),w=e("h2",{id:"migrating-a-project"},[t("Migrating a Project "),e("a",{class:"header-anchor",href:"#migrating-a-project"},"#")],-1),k=e("p",null,"Directus doesn\u2019t rely on anything besides the database for it\u2019s operation. Therefore, migrating your Directus project can be done by moving the whole database to a new location using a database dump.",-1),j=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"File Storage"),e("p",null,"If you have files uploaded, make sure to copy those over as well, or use the same storage location in the new location of Directus.")],-1),D=e("h2",{id:"downgrading-a-project"},[t("Downgrading a Project "),e("a",{class:"header-anchor",href:"#downgrading-a-project"},"#")],-1),x=e("p",null,[t("Directus can be reverted to an earlier version by going to your terminal, navigating into your project folder and running "),e("code",{class:""},"npm install directus@<version>"),t(".")],-1),B=e("p",null,[t("If you ran any database migrations for a newer version, you can revert those by running "),e("code",{class:""},"npx directus database migrate:down")],-1),P=e("h2",{id:"deleting-a-project"},[t("Deleting a Project "),e("a",{class:"header-anchor",href:"#deleting-a-project"},"#")],-1),I=e("ol",null,[e("li",null,[t("Optional: "),e("strong",null,"Backup any local files"),t(" stored within the project\u2019s root directory")]),e("li",null,[t("Optional: "),e("strong",null,"Backup any custom code and extensions"),t(" within the project\u2019s root directory")]),e("li",null,[t("Optional: "),e("strong",null,"Backup your entire database"),t(", only system tables, or only project tables")]),e("li",null,[e("strong",null,"Delete the project\u2019s root directory"),t(" from the server")]),e("li",null,[e("strong",null,"Delete all Directus system tables"),t(" ("),e("code",{class:""},"directus_*"),t(") from the database")])],-1),M=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Pure SQL"),e("p",null,"After completing this process, you will be left with a pure SQL database, with no trace that Directus was ever installed. Any external services connecting to your database\u2019s project tables directly (eg: SQL queries) should continue working normally.")],-1),T=e("h2",{id:"migrating-from-v8"},[t("Migrating from v8 "),e("a",{class:"header-anchor",href:"#migrating-from-v8"},"#")],-1),S=e("p",null,"There are two ways to migrate from an existing Directus 8.X instance:",-1),U=e("ul",null,[e("li",null,[e("a",{href:"#automated-script"},"Automated Script"),t(" (recommended)")]),e("li",null,[e("a",{href:"#manual-database-export-import"},"Manual Database Export/Import")])],-1),A=e("p",null,[t("Be sure to check the "),e("a",{href:"#breaking-changes"},"Breaking changes"),t(" if you are consuming the API from an application.")],-1),F=e("h2",{id:"automated-script"},[t("Automated Script "),e("a",{class:"header-anchor",href:"#automated-script"},"#")],-1),E=e("p",null,"We created a (community maintained) script, that will automatically copy over the schema, content, files, users, and roles from an existing v8 instance to a new v9 instance. This is the most hands-off approach to moving from a v8 to a v9 instance, and is the recommended way of migrating your v8 instance.",-1),N=e("div",{class:"tip hint"},[e("p",null,[t("The script, and instructions on how to run it, can be found on the"),e("br"),e("a",{href:"https://github.com/directus-community/migration-tool",target:"_blank",rel:"noopener noreferrer"},[e("code",{class:""},"directus-community/migration-tool")]),t(" repo.")])],-1),O=e("p",null,"This tool will copy over:",-1),q=e("ul",null,[e("li",null,"Schema (collections / fields)"),e("li",null,"Files (including file contents)"),e("li",null,"User data (eg all items in all collections)"),e("li",null,"Roles"),e("li",null,"Users")],-1),C=e("p",null,[t("Due to significant differences in data structure between versions, this tool will "),e("strong",null,"NOT"),t(" copy over:")],-1),L=e("ul",null,[e("li",null,"Interface/display configurations"),e("li",null,"Permissions"),e("li",null,"Activity / revisions")],-1),Q=e("h2",{id:"manual-database-export%2Fimport"},[t("Manual Database Export/Import "),e("a",{class:"header-anchor",href:"#manual-database-export%2Fimport"},"#")],-1),R=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Automated"),e("p",null,"We highly recommend using the automated migration tool mentioned above. If that\u2019s not possible, you can perform the following steps to migrate your v8 instance.")],-1),V=e("p",null,"Directus v9 is a breaking change coming from v8 (hence the major version bump), so you won\u2019t be able to just use your existing v8 database and run v9 on top of it. However, due to the database-mirroring approach of Directus, it\u2019s fairly straightforward to migrate your content from v8 to v9.",-1),W=e("h4",{id:"1)-setup-a-fresh-v9-instance"},[t("1) Setup a Fresh v9 Instance "),e("a",{class:"header-anchor",href:"#1)-setup-a-fresh-v9-instance"},"#")],-1),z=e("p",null,"By installing Directus \u201Cfresh\u201D, you\u2019re ensured your system tables are up-to-date and ready to go.",-1),H=e("h4",{id:"2)-migrate-your-data"},[t("2) Migrate your Data "),e("a",{class:"header-anchor",href:"#2)-migrate-your-data"},"#")],-1),X=e("p",null,[t("Using a tool like "),e("a",{href:"http://sequelpro.com",target:"_blank",rel:"noopener noreferrer"},"Sequel Pro"),t(" or "),e("a",{href:"https://tableplus.com",target:"_blank",rel:"noopener noreferrer"},"TablePlus"),t(", export your v8 user-tables and import them into your v9 database.")],-1),G=e("p",null,"Directus v9 will automatically recognize your tables, and you\u2019ll be ready to get started in v9.",-1),J=e("p",null,[e("strong",null,"Note:"),t(" If you have references to users and files, make sure to update them to the new UUID format.")],-1),K=e("h4",{id:"3)-configure-directus"},[t("3) Configure Directus "),e("a",{class:"header-anchor",href:"#3)-configure-directus"},"#")],-1),Y=e("p",null,"Once the tables are in, you can start configuring the details of the schema. This includes choosing the correct interfaces, displays, and their options for your fields.",-1),Z=e("p",null,"This would also be a good time to reconfigure your permissions, to ensure they are accurate.",-1),$=e("h2",{id:"breaking-changes"},[t("Breaking changes "),e("a",{class:"header-anchor",href:"#breaking-changes"},"#")],-1),ee=t("Filter operators"),te=t(" have changed, now they are preceded with an underscore eg: "),oe=e("code",{class:""},"/items/users?filter[comments.thread.title][like]=Directus",-1),ae=t(" is now "),ne=e("code",{class:""},"/items/users?filter[comments][thread][title][_like]=Directus",-1),se={title:"Upgrades & Migrations",modularExtension:!1},re={name:"upgrades-migrations",setup(ie,{expose:i}){return i({frontmatter:{title:"Upgrades & Migrations",modularExtension:!1}}),(le,ce)=>{const a=n("router-link"),l=n("docswrapper");return c(),d(l,{frontmatter:se},{default:o(()=>[e("div",u,[e("blockquote",null,[e("p",null,[h,p,g,s(a,{to:"/docs/getting-started/glossary/#projects"},{default:o(()=>[_]),_:1}),m])]),f,y,b,v,w,k,j,D,x,B,P,I,M,T,S,U,A,F,E,N,O,q,C,L,Q,R,V,W,z,H,X,G,J,K,Y,Z,$,e("ul",null,[e("li",null,[s(a,{to:"/docs/configuration/filter-rules/"},{default:o(()=>[ee]),_:1}),te,oe,ae,ne])])])]),_:1})}}};typeof r=="function"&&r(re);export{re as default,se as frontmatter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as n,o as d,b as c,w as t,g as e,e as i,B as s}from"./runtime-core.esm-bundler.b1f35d24.js";var l={};const u={class:"markdown-body"},h=s("The User Directory is the management system for all Users within a Project. "),p=s("Users"),_=s(" are the individual accounts for logging in to the App. Each User belongs to a "),g=s("Role"),f=s(" which defines its "),m=s("Permissions"),y=s("."),v=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-directory-20220222A.webp",alt:"User Directory Page"})],-1),U=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#how-it-works"},"How it Works")]),e("li",null,[e("a",{href:"#user-directory-page"},"User Directory Page")]),e("li",null,[e("a",{href:"#user-details-page"},"User Details Page")]),e("li",null,[e("a",{href:"#view-a-user"},"View a User")]),e("li",null,[e("a",{href:"#create-a-user"},"Create a User")]),e("li",null,[e("a",{href:"#invite-a-user"},"Invite a User")]),e("li",null,[e("a",{href:"#edit-user-details"},"Edit User Details")]),e("li",null,[e("a",{href:"#archive-a-user"},"Archive a User")]),e("li",null,[e("a",{href:"#delete-a-user"},"Delete a User")])])])],-1),b=s(" @TODO getting-started > learn-directus :::tip Before You Begin To use this Module effectively, you will need to understand [Users, Roles and Permissions](/configuration/users-roles-permissions.md). ::: "),w=e("h2",{id:"how-it-works"},[s("How it Works "),e("a",{class:"header-anchor",href:"#how-it-works"},"#")],-1),A=e("p",null,"This Module is a management system that enables one to view, invite, create, edit, and delete Users and User information. Users can be created directly in the app, or invited to join via email.",-1),D=e("p",null,"When a User is created, they must also be assigned a Role. This Role defines the User\u2019s data access permissions within Directus. In other words, it determines what a User can see and do inside the app.",-1),T=s("The User Directory is composed of two pages: The User Directory Page and the User Details Page. It has all the same features and functionality as the "),k=s("Content Module"),P=s(" such as manual and automatic sorting, batch edit/delete/archive, import/export from files, etc."),S=e("h2",{id:"user-directory-page"},[s("User Directory Page "),e("a",{class:"header-anchor",href:"#user-directory-page"},"#")],-1),I=e("video",{title:"User Directory Options",autoplay:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-directory-options-20220222A.mp4"}),e("p",null,[s(" Your browser is not displaying the video for some reason. Here's a "),e("a",{href:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-directory-options-20220222A.mp4"},"link to the video"),s(" instead. ")])],-1),C=s("The User Directory Page lists all Users in a Project, with a navigation that allows quick access to Users by Role. This page has the same functionality as the "),L=s("Collection Page"),O=s("."),x=e("li",null,[e("strong",null,"Select All"),s(" \u2014 Selects all Users currently in queue.")],-1),E=e("li",null,[e("strong",null,"Card Size"),s(" \u2014 Toggles size of User Displays.")],-1),N=e("li",null,[e("strong",null,"Sort Field"),s(" \u2014 Selects Field used to Users by.")],-1),R=e("li",null,[e("strong",null,"Sort Direction"),s(" \u2014 Toggles ascending & descending sort order.")],-1),F=e("li",null,[e("strong",null,"Search"),s(" \u2014 Enables classic type-based searching.")],-1),M=e("li",null,[e("strong",null,"Filter"),s(" \u2014 Enables advanced query-based search.")],-1),B=e("span",{mi:"",btn:"",sec:""},"person_add",-1),q=s(" \u2014 "),H=s("Invite people"),j=s(" to become Users via email."),z=e("span",{mi:"",btn:""},"add",-1),V=s(" \u2014 "),W=s("Create User"),Y=s(" manually."),K=e("p",null,[e("em",null,"The following are only visible once Users are selected.")],-1),G=e("ul",null,[e("li",null,[e("span",{mi:"",btn:"",warn:""},"edit"),s(" \u2014 Opens a User Details page to apply a single edit across multiple Users.")]),e("li",null,[e("strong",null,[e("span",{mi:"",btn:"",dngr:""},"delete")]),s(" \u2014 Deletes one or more Users.")])],-1),J=e("h3",{id:"layout-options"},[s("Layout Options "),e("a",{class:"header-anchor",href:"#layout-options"},"#")],-1),Q=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-directory-layout-options-20220222A.webp",alt:"User Directory Layout Options"})],-1),X=s("The "),Z=e("strong",null,"Sidebar > Layout Options",-1),$=s(),ee=e("em",null,[s("(denoted by "),e("span",{mi:"",icon:""},"layers"),s(" when Sidebar is minimized)")],-1),se=s(" allows you to adjust how Users are displayed on the User Directory. To learn more, see "),te=s("Layouts"),oe=s("."),ie=e("h2",{id:"user-details-page"},[s("User Details Page "),e("a",{class:"header-anchor",href:"#user-details-page"},"#")],-1),ne=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-profile-20220222A.webp",alt:"The User Page"})],-1),le=s("A User\u2019s profile page can be accessed from the User Directory or by clicking the User Menu at the bottom of the "),re=s("Module Bar"),ae=s(". The profile page has the same features and functionality as the "),de=s("Item Page"),ce=s(". Administrators can add and customize Fields under "),ue=s("Settings > Data Model > Directus Users"),he=s(", but the following are available by default."),pe=e("ul",null,[e("li",null,[e("strong",null,"First Name"),s(" \u2014 The given name.")]),e("li",null,[e("strong",null,"Last Name"),s(" \u2014 The family/surname.")]),e("li",null,[e("strong",null,"Email"),s(" \u2014 A unique email address.")]),e("li",null,[e("strong",null,"Password"),s(" \u2014 A hashed system password.")]),e("li",null,[e("strong",null,"Avatar"),s(" \u2014 An image to represent the User.")]),e("li",null,[e("strong",null,"Location"),s(" \u2014 The city, country, office, or branch name.")]),e("li",null,[e("strong",null,"Title"),s(" \u2014 The professional staff title.")]),e("li",null,[e("strong",null,"Description"),s(" \u2014 A freeform text description.")]),e("li",null,[e("strong",null,"Tags"),s(" \u2014 Keywords for search-ability.")])],-1),_e=e("h3",{id:"user-preferences"},[s("User Preferences "),e("a",{class:"header-anchor",href:"#user-preferences"},"#")],-1),ge=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-preferences-20220222A.webp",alt:"User Preferences"})],-1),fe=e("ul",null,[e("li",null,[e("strong",null,"Language"),s(" \u2014 The preferred App language/locale.")]),e("li",null,[e("strong",null,"Theme"),s(" \u2014 Light or Dark mode (or based on system preferences).")]),e("li",null,[e("strong",null,"Multi-Factor Authentication"),s(" \u2014 Configuration for MFA.")]),e("li",null,[e("strong",null,"Email Notifications"),s(" \u2014 Receive emails for notifications.")])],-1),me=e("h3",{id:"admin-options"},[s("Admin Options "),e("a",{class:"header-anchor",href:"#admin-options"},"#")],-1),ye=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/admin-options-20220222A.webp",alt:"Admin Options"})],-1),ve=e("li",null,[e("strong",null,"Status"),s(" \u2014 Sets User status as Draft, Invited, Active, Suspended, Archived.")],-1),Ue=e("li",null,[e("strong",null,"Role"),s(" \u2014 Defines the User\u2019s Role.")],-1),be=e("li",null,[e("strong",null,"Token"),s(" \u2014 Accepts any string as a User access token."),e("br"),e("em",null,"Note: At least 19-20 characters recommended for an access token, but we give you the flexibility to set this according to you own internal security policies.")],-1),we=e("strong",null,"Provider",-1),Ae=s(" \u2014 "),De=e("em",null,"read-only:",-1),Te=s(" SSO provider associated with User. See our built-in "),ke=s("SSO options"),Pe=s("."),Se=e("li",null,[e("strong",null,"External Identifier"),s(" \u2014 Displays external identifier generated by SSO provider.")],-1),Ie=e("h3",{id:"read-only-info"},[s("Read-only Info "),e("a",{class:"header-anchor",href:"#read-only-info"},"#")],-1),Ce=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/user-profile-sidebar-information-20220309A.webp",alt:"User Profile Sidebar Information"})],-1),Le=e("p",null,[s("Information in the Sidebar "),e("em",null,[s("(denoted by "),e("span",{mi:"",icon:"",dark:""},"info"),s(" when Sidebar is minimized)")]),s(" also includes the following read-only details:")],-1),Oe=e("ul",null,[e("li",null,[e("strong",null,"User Key"),s(" \u2014 The Primary Key of the User.")]),e("li",null,[e("strong",null,"Last Page"),s(" \u2014 The last App page accessed by the User.")]),e("li",null,[e("strong",null,"Last Access"),s(" \u2014 The timestamp of the User\u2019s last App or API action.")])],-1),xe=e("h2",{id:"view-a-user"},[s("View a User "),e("a",{class:"header-anchor",href:"#view-a-user"},"#")],-1),Ee=e("video",{autoplay:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/viewing-a-user-20220222A.mp4"}),e("p",null,[s(" Your browser is not displaying the video for some reason. Here's a "),e("a",{href:"https://cdn.directus.io/docs/v9/app-guide/user-directory/user-directory-20220222A/viewing-a-user-20220222A.mp4"},"link to the video"),s(" instead. ")])],-1),Ne=e("p",null,"Users are referenced throughout the app, often for accountability purposes. Hovering over a User in this context will provide a popover with basic information. Clicking that popover will navigate you to a view of that User\u2019s profile page.",-1),Re=e("h2",{id:"create-a-user"},[s("Create a User "),e("a",{class:"header-anchor",href:"#create-a-user"},"#")],-1),Fe=e("p",null,"To create a User, follow these steps:",-1),Me=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library"),s(".")]),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"add"),s(" in the page header.")]),e("li",null,[s("Enter an "),e("strong",null,"Email Address"),s(".")]),e("li",null,"Optional: Fill in the other User details as desired."),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"check"),s(" to save the User.")])],-1),Be=e("h2",{id:"invite-a-user"},[s("Invite a User "),e("a",{class:"header-anchor",href:"#invite-a-user"},"#")],-1),qe=e("p",null,"To invite User(s) via email, follow these steps:",-1),He=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library"),s(".")]),e("li",null,[s("Click "),e("span",{mi:"",btn:"",sec:""},"person_add"),s(" in the page header.")]),e("li",null,[s("Enter one or more email addresses, separated by a comma and a space."),e("br"),e("em",null,"Tip: You can also add emails on a new line.")]),e("li",null,[s("Select the "),e("strong",null,"Role"),s(" you want to assign to the User(s).")]),e("li",null,[s("Click "),e("strong",null,"Invite"),s(".")])],-1),je=e("p",null,"After that, the invited User(s) will receive an email with a link to the App where they set a password and enable their account.",-1),ze=e("h2",{id:"edit-user-details"},[s("Edit User Details "),e("a",{class:"header-anchor",href:"#edit-user-details"},"#")],-1),Ve=e("p",null,"To edit User details, follow these steps:",-1),We=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library"),s(".")]),e("li",null,"Click on the User you wish to manage and the User Details Page will open."),e("li",null,"Reset User details as desired.")],-1),Ye=e("p",null,"The User Detail is only editable by the current User and admins, and the following fields are only available to admins:",-1),Ke=e("li",null,[e("strong",null,"Status"),s(" \u2014 Determines if an account is able to access the platform or not. Only the "),e("code",{class:""},"active"),s(" state is able to authenticate, all others are simply descriptive inactive states. "),e("ul",null,[e("li",null,[e("strong",null,"Draft"),s(" \u2014 An incomplete User; no App/API access.")]),e("li",null,[e("strong",null,"Invited"),s(" \u2014 Has a pending invite to the project; no App/API access until accepted.")]),e("li",null,[e("strong",null,"Active"),s(" \u2014 The only status that has proper access to the App and API.")]),e("li",null,[e("strong",null,"Suspended"),s(" \u2014 A User that has been temporarily disabled; no App/API access.")]),e("li",null,[e("strong",null,"Archived"),s(" \u2014 A soft-deleted User; no App/API access.")])])],-1),Ge=e("li",null,[e("strong",null,"Role"),s(" \u2014 The User\u2019s role determines their permissions and access.")],-1),Je=e("strong",null,"Token",-1),Qe=s(" \u2014 A User\u2019s token is an alternate way to "),Xe=s("authenticate into the API"),Ze=s(" using a static string. When NULL, the token is disabled. When enabled, ensure that a secure string is used."),$e=e("h2",{id:"archive-a-user"},[s("Archive a User "),e("a",{class:"header-anchor",href:"#archive-a-user"},"#")],-1),es=e("p",null,"To archive a User, follow these steps:",-1),ss=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library"),s(".")]),e("li",null,"Click the User you with to archive to go to their User Detail page."),e("li",null,[s("Click on "),e("span",{mi:"",btn:"",warn:""},"archive"),s(" in the header.")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Archive"),s(" in the dialog.")])],-1),ts=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Disables Access"),e("p",null,[s("Archiving is equivalent to a "),e("em",null,"soft-delete"),s(". These Users are unable to access the App or API.")])],-1),os=e("h2",{id:"delete-a-user"},[s("Delete a User "),e("a",{class:"header-anchor",href:"#delete-a-user"},"#")],-1),is=e("p",null,"To delete a User, follow these steps:",-1),ns=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library"),s(".")]),e("li",null,"Select one or more Users you wish to delete."),e("li",null,[s("Click on "),e("span",{mi:"",btn:"",dngr:""},"delete"),s(" in the header.")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Delete"),s(" in the dialog.")])],-1),ls=e("div",{class:"danger hint"},[e("div",{class:"hint-title"},"Irreversible Change"),e("p",null,[s("This action is permanent and can not be undone. Please proceed with caution. If you wish to soft-delete Users, see "),e("a",{href:"#archive-a-user"},"Archive a User"),s(".")])],-1),rs={title:"User Directory",modularExtension:!1},as={name:"user-directory",setup(ds,{expose:r}){return r({frontmatter:{title:"User Directory",modularExtension:!1}}),(cs,us)=>{const o=n("router-link"),a=n("docswrapper");return d(),c(a,{frontmatter:rs},{default:t(()=>[e("div",u,[e("blockquote",null,[e("p",null,[h,i(o,{to:"/docs/getting-started/glossary#users"},{default:t(()=>[p]),_:1}),_,i(o,{to:"/docs/getting-started/glossary#roles"},{default:t(()=>[g]),_:1}),f,i(o,{to:"/docs/getting-started/glossary#permissions"},{default:t(()=>[m]),_:1}),y])]),v,U,b,w,A,D,e("p",null,[T,i(o,{to:"/docs/app/collections"},{default:t(()=>[k]),_:1}),P]),S,I,e("p",null,[C,i(o,{to:"/docs/app/content/collections/"},{default:t(()=>[L]),_:1}),O]),e("ul",null,[x,E,N,R,F,M,e("li",null,[B,q,i(o,{to:"/docs/configuration/users-roles-permissions/#inviting-a-user"},{default:t(()=>[H]),_:1}),j]),e("li",null,[z,V,i(o,{to:"/docs/configuration/users-roles-permissions/#creating-a-user"},{default:t(()=>[W]),_:1}),Y])]),K,G,J,Q,e("p",null,[X,Z,$,ee,se,i(o,{to:"/docs/app/layouts/"},{default:t(()=>[te]),_:1}),oe]),ie,ne,e("p",null,[le,i(o,{to:"/docs/app/overview/#_1-module-bar"},{default:t(()=>[re]),_:1}),ae,i(o,{to:"/docs/app/content-items/"},{default:t(()=>[de]),_:1}),ce,i(o,{to:"/docs/configuration/data-model"},{default:t(()=>[ue]),_:1}),he]),pe,_e,ge,fe,me,ye,e("ul",null,[ve,Ue,be,e("li",null,[we,Ae,De,Te,i(o,{to:"/docs/configuration/sso"},{default:t(()=>[ke]),_:1}),Pe]),Se]),Ie,Ce,Le,Oe,xe,Ee,Ne,Re,Fe,Me,Be,qe,He,je,ze,Ve,We,Ye,e("ul",null,[Ke,Ge,e("li",null,[Je,Qe,i(o,{to:"/docs/reference/authentication/"},{default:t(()=>[Xe]),_:1}),Ze])]),$e,es,ss,ts,os,is,ns,ls])]),_:1})}}};typeof l=="function"&&l(as);export{as as default,rs as frontmatter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as l,o as c,b as d,w as t,g as e,e as i,B as s}from"./runtime-core.esm-bundler.b1f35d24.js";var n={};const u={class:"markdown-body"},h=s("Users"),m=s(" are the individual accounts for authenticating into the API and App. Each user belongs to a "),p=s("Role"),f=s(" which defines its access "),_=s("Permissions"),g=s("."),w=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#overview"},"Overview")]),e("li",null,[e("a",{href:"#create-a-role"},"Create a Role")]),e("li",null,[e("a",{href:"#configure-a-role"},"Configure a Role")]),e("li",null,[e("a",{href:"#delete-a-role"},"Delete a Role")]),e("li",null,[e("a",{href:"#configure-permissions"},"Configure Permissions")]),e("li",null,[e("a",{href:"#configure-workflows"},"Configure Workflows")])])])],-1),b=s(" :::tip Before You Begin ::: "),y=e("h2",{id:"overview"},[s("Overview "),e("a",{class:"header-anchor",href:"#overview"},"#")],-1),v=e("p",null,"While this page focuses on configuration of Roles and Permissions, it is important to remember that Roles and Permissions are inherently intwined with Users. This is because every User must be assigned a Role to define their access permissions.",-1),A=e("p",null,"Directus comes with two Roles out of the box, Admin and Public. The Admin role provides full Permissions for all data in the app, and this cannot be limited. This Admin Role provides full, app-wide control to the Project owners, administrators, and creators. The Public role comes with all permissions turned off by default and these can be fully reconfigured as needed. This Public role determines the access permissions given for any unauthenticated request to app data including un-authenticated users, visitors to your website or any other web request to your Directus Project\u2019s API.",-1),P=e("p",null,"In addition, Admins can create as many Roles as they wish and configure permissions granularly.",-1),R=s(' Roles with _App Access_ enabled are created with some limited Permissions configured by default, so they can access the app and their own profile information. Roles that have neither _Admin_ nor _App Access_ enabled (such as the built-in _Public_ Role) are created with Public access permissions. ### Configure Public Permissions The Public permissions control what project data is accessible without authentication. This is managed via the Public "role", which is included in the system by default and can not be deleted. ::: warning Private by Default All of the data within the platform is private by default. Permissions for the public role can be granted on a case-by-case basis by administrators. ::: '),k=e("h2",{id:"create-a-role"},[s("Create a Role "),e("a",{class:"header-anchor",href:"#create-a-role"},"#")],-1),C=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions")])]),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"add"),s(" in the header")]),e("li",null,[s("Enter a unique "),e("strong",null,"Role Name")]),e("li",null,[s("Enabling "),e("strong",null,"App Access"),s(" allows logging in to the App")]),e("li",null,[s("Enabling "),e("strong",null,"Admin Access"),s(" gives full permission to project data and Settings")]),e("li",null,[s("Click on "),e("strong",null,"Save"),s(" to save the role")])],-1),T=e("h2",{id:"configure-a-role"},[s("Configure a Role "),e("a",{class:"header-anchor",href:"#configure-a-role"},"#")],-1),F=e("ul",null,[e("li",null,[e("strong",null,"Permissions"),s(" \u2014 Configure "),e("a",{href:"#configure-permissions"},"access permissions"),s(" for the role")]),e("li",null,[e("strong",null,"Role Name"),s(" \u2014 This is the name of the role")]),e("li",null,[e("strong",null,"Role Icon"),s(" \u2014 The icon used throughout the App when referencing this role")]),e("li",null,[e("strong",null,"Description"),s(" \u2014 A helpful note that explains the role\u2019s purpose")]),e("li",null,[e("strong",null,"App Access"),s(" \u2014 Allows logging in to the App")]),e("li",null,[e("strong",null,"Admin Access"),s(" \u2014 Gives full permission to project data and Settings")]),e("li",null,[e("strong",null,"IP Access"),s(" \u2014 An allow-list of IP addresses from which the platform can be accessed, empty allows all")]),e("li",null,[e("strong",null,"Require 2FA"),s(" \u2014 Forces all users within this role to use two-factor authentication")]),e("li",null,[e("strong",null,"Users in Role"),s(" \u2014 A list of all users within this role")])],-1),S=e("h2",{id:"delete-a-role"},[s("Delete a Role "),e("a",{class:"header-anchor",href:"#delete-a-role"},"#")],-1),x=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" [Role Name]")])]),e("li",null,[s("Click "),e("span",{mi:"",btn:"",dngr:""},"delete"),s(" in the header")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Delete"),s(" in the dialog")])],-1),D=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Users in a Deleted Role"),e("p",null,[s("If you delete a role that still has users in it, those users will be given a "),e("code",{class:""},"NULL"),s(" role, which denies their App access and limits them to Public permissions. They can then be reassigned to a new role by an admin.")])],-1),I=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Last Admin"),e("p",null,"You must maintain at least one role/user with Admin Access so that you can still properly manage the project.")],-1),N=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Public Role"),e("p",null,"You can not delete the Public role, as it is part of the core platform. To disable it completely, simply turn off all Public access permissions.")],-1),U=e("h2",{id:"configure-permissions"},[s("Configure Permissions "),e("a",{class:"header-anchor",href:"#configure-permissions"},"#")],-1),q=e("p",null,"Directus possesses an extremely granular, yet easy to configure, permissions system. When creating a new role, permissions are disabled for all project collections by default \u2014 allowing you to give explicit access to only what is required. Individual permissions are applied to the role, and each is scoped to a specific collection and CRUD action (create, read, update, delete).",-1),j=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Saves Automatically"),e("p",null,"Every change made to the permissions of a role is saved automatically and instantly.")],-1),E=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Admin Roles"),e("p",null,[s("If a role is set to "),e("strong",null,"Admin Access"),s(" then it is granted complete access to the platform, and Permission configuration is disabled.")])],-1),B=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" [Role Name]")])]),e("li",null,[s("Scroll to the "),e("strong",null,"Permissions"),s(" section")]),e("li",null,[e("strong",null,"Click the icon"),s(" for the collection (row) and action (column) you want to set")]),e("li",null,[s("Choose the desired permission level: "),e("span",{mi:"",icon:""},"check"),s(),e("strong",null,"All Access"),s(", "),e("span",{mi:"",icon:""},"block"),s(),e("strong",null,"No Access"),s(", or "),e("span",{mi:"",icon:""},"rule"),s(),e("strong",null,"Use Custom")])],-1),W=e("p",null,[s("If you selected "),e("strong",null,[s("\u201C"),e("span",{mi:"",icon:""},"check"),s(" All Access\u201D")]),s(" or "),e("strong",null,[s("\u201C"),e("span",{mi:"",icon:""},"block"),s(" No Access\u201D")]),s(" then setup is complete. If you chose to customize permissions then continue with the appropriate guide below based on the relevant "),e("em",null,"action"),s(".")],-1),V=e("h3",{id:"create-(custom-access)"},[s("Create (Custom Access) "),e("a",{class:"header-anchor",href:"#create-(custom-access)"},"#")],-1),Y=e("ol",{start:"5"},[e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields accept a value on create. Fields are individually toggled.")]),e("li",null,[e("strong",null,"Field Validation"),s(" define the rules for field values on create")]),e("li",null,[e("strong",null,"Field Presets"),s(" control the field defaults when creating an item")])],-1),L=e("h3",{id:"read-(custom-access)"},[s("Read (Custom Access) "),e("a",{class:"header-anchor",href:"#read-(custom-access)"},"#")],-1),M={start:"5"},z=e("strong",null,"Item Permissions",-1),G=s(" control which items can be read, as defined by the "),O=s("Filter Rules"),K=s(" entered."),H=e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields can be read. Fields are individually toggled.")],-1),J=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Read Field Permissions"),e("p",null,[s("The Directus App always requires read access to the Primary Key field (eg: "),e("code",{class:""},"id"),s(") so it can uniquely identify items. Also, if a Collection has \u201CArchive\u201D or \u201CSort\u201D fields configured, those fields will also need read access to use the App\u2019s soft-delete and manual sorting features.")])],-1),Q=e("h3",{id:"update-(custom-access)"},[s("Update (Custom Access) "),e("a",{class:"header-anchor",href:"#update-(custom-access)"},"#")],-1),X={start:"5"},Z=e("strong",null,"Item Permissions",-1),$=s(" control which items can be updated, as defined by "),ee=s("Filter Rules"),se=s("."),te=e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields can be updated. Fields are individually toggled.")],-1),oe=e("strong",null,"Field Validation",-1),ie=s(" define the rules for field values on update, as defined by "),le=s("Filter Rules"),ne=s("."),ae=e("li",null,[e("strong",null,"Field Presets"),s(" control the field defaults when updating an item")],-1),re=e("h3",{id:"delete-(custom-access)"},[s("Delete (Custom Access) "),e("a",{class:"header-anchor",href:"#delete-(custom-access)"},"#")],-1),ce={start:"5"},de=e("strong",null,"Item Permissions",-1),ue=s(" control which items can be deleted, as defined by the "),he=s("Filter Rules"),me=s(" entered."),pe=e("hr",null,null,-1),fe=e("h3",{id:"configure-system-permissions"},[s("Configure System Permissions "),e("a",{class:"header-anchor",href:"#configure-system-permissions"},"#")],-1),_e=e("p",null,[s("In addition to permissions for "),e("em",null,"your"),s(" custom collections, you can also customize the permissions for "),e("em",null,"system"),s(" collections. To edit system permissions, follow these steps:")],-1),ge=e("ol",null,[e("li",null,[s("Go to "),e("strong",null,"Roles and Permissions"),s(" and select the desired Role."),e("br"),e("em",null,"You will be taken to the permissions configuration page.")]),e("li",null,[s("Click "),e("strong",null,"System Collections"),s(" at the bottom of the page.")]),e("li",null,"Find the desired System Collection."),e("li",null,"Set permissions as desired.")],-1),we=e("p",null,"There are two pre-configured options you can use for resetting the role\u2019s system permissions and ensure proper App access. To access these, click \u201CSystem Collections\u201D to expand, and then click one of the buttons at the bottom of the listing.",-1),be=e("ul",null,[e("li",null,[e("strong",null,"App Access Minimum"),s(" \u2014 The minimum permissions required to properly access the App")]),e("li",null,[e("strong",null,"Recommended Defaults"),s(" \u2014 More permissive but balanced for a better App user experience")])],-1),ye=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Remember"),e("p",null,[s("When App Access is enabled, Directus will automatically add "),e("em",null,"(and hardcode)"),s(" permissions for the necessary system collections for that Role.")])],-1),ve=e("h2",{id:"configure-workflows"},[s("Configure Workflows "),e("a",{class:"header-anchor",href:"#configure-workflows"},"#")],-1),Ae=e("p",null,"Workflows are a way to add structured stages to the flow of content authoring. They are primarily defined through the permissions for a Collection, but can be further enhanced via email notifications, custom interfaces, and automation. Directus supports endlessly configurable workflows, so we will only cover one simple example below.",-1),Pe=s("To create a structured workflow for "),Re=e("strong",null,"Articles",-1),ke=s(", the first step is "),Ce=s("Creating a Field"),Te=s(" to track the article \u201Cstatus\u201D \u2014 we\u2019ll call it "),Fe=e("strong",null,"Status",-1),Se=s(", but it can be named anything."),xe=e("li",null,[s("Next, create different Roles for each stage of the workflow, such as "),e("code",{class:""},"author"),s(" and "),e("code",{class:""},"manager"),s(".")],-1),De=e("li",null,[s("Finally, configure the Role permissions based on the possible values of that Status field, such as "),e("code",{class:""},"draft"),s(", "),e("code",{class:""},"review"),s(", "),e("code",{class:""},"approved"),s(", and "),e("code",{class:""},"published"),s(", so that they are properly restricted to create content and update the status. "),e("ul",null,[e("li",null,[s("The Author can create content, but only save a status of "),e("code",{class:""},"draft"),s(" or "),e("code",{class:""},"review"),s(".")]),e("li",null,[s("The Manager has additional permissions that allow them to save statuses of "),e("code",{class:""},"approved"),s(" or "),e("code",{class:""},"published"),s(".")])])],-1),Ie={title:"Users, Roles & Permissions",modularExtension:!1},Ne={name:"users-roles-permissions",setup(Ue,{expose:a}){return a({frontmatter:{title:"Users, Roles & Permissions",modularExtension:!1}}),(qe,je)=>{const o=l("router-link"),r=l("docswrapper");return c(),d(r,{frontmatter:Ie},{default:t(()=>[e("div",u,[e("blockquote",null,[e("p",null,[i(o,{to:"/docs/getting-started/glossary/#users"},{default:t(()=>[h]),_:1}),m,i(o,{to:"/docs/getting-started/glossary/#roles"},{default:t(()=>[p]),_:1}),f,i(o,{to:"/docs/getting-started/glossary/#permissions"},{default:t(()=>[_]),_:1}),g])]),w,b,y,v,A,P,R,k,C,T,F,S,x,D,I,N,U,q,j,E,B,W,V,Y,L,e("ol",M,[e("li",null,[z,G,i(o,{to:"/docs/configuration/filter-rules"},{default:t(()=>[O]),_:1}),K]),H]),J,Q,e("ol",X,[e("li",null,[Z,$,i(o,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[ee]),_:1}),se]),te,e("li",null,[oe,ie,i(o,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[le]),_:1}),ne]),ae]),re,e("ol",ce,[e("li",null,[de,ue,i(o,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[he]),_:1}),me])]),pe,fe,_e,ge,we,be,ye,ve,Ae,e("ol",null,[e("li",null,[Pe,Re,ke,i(o,{to:"/docs/configuration/data-model/#creating-a-field"},{default:t(()=>[Ce]),_:1}),Te,Fe,Se]),xe,De])])]),_:1})}}};typeof n=="function"&&n(Ne);export{Ne as default,Ie as frontmatter};
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import{a as r,o as h,b as i,w as a,g as s,e as l,B as e}from"./runtime-core.esm-bundler.b1f35d24.js";var n={};const d={class:"markdown-body"},u={class:"two-up"},p={class:"left"},_=e("Directus Users are the individual accounts that let you authenticate into the API and App. Each user belongs to a Role which defines its granular Permissions. "),g=e("Learn more about Users"),f=e("."),m=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-user-object"},"The User Object")]),s("li",null,[s("a",{href:"#list-users"},"List Users")]),s("li",null,[s("a",{href:"#retrieve-a-user"},"Retrieve a User")]),s("li",null,[s("a",{href:"#retrieve-the-current-user"},"Retrieve the Current User")]),s("li",null,[s("a",{href:"#update-the-current-user"},"Update the Current User")]),s("li",null,[s("a",{href:"#create-a-user"},"Create a User")]),s("li",null,[s("a",{href:"#create-multiple-users"},"Create Multiple Users")]),s("li",null,[s("a",{href:"#update-a-user"},"Update a User")]),s("li",null,[s("a",{href:"#update-multiple-users"},"Update Multiple Users")]),s("li",null,[s("a",{href:"#delete-a-user"},"Delete a User")]),s("li",null,[s("a",{href:"#delete-multiple-users"},"Delete Multiple Users")]),s("li",null,[s("a",{href:"#invite-a-new-user"},"Invite a new User")]),s("li",null,[s("a",{href:"#accept-user-invite"},"Accept User Invite")]),s("li",null,[s("a",{href:"#generate-two-factor-authentication-secret"},"Generate Two-Factor Authentication Secret")]),s("li",null,[s("a",{href:"#enable-two-factor-authentication"},"Enable Two-Factor Authentication")]),s("li",null,[s("a",{href:"#disable-two-factor-authentication"},"Disable Two-Factor Authentication")])])])])],-1),j=s("hr",null,null,-1),y=s("h2",{id:"the-user-object"},[e("The User Object "),s("a",{class:"header-anchor",href:"#the-user-object"},"#")],-1),b={class:"two-up"},q={class:"left"},v={class:"definitions"},w=s("p",null,[s("code",{class:""},"id"),e(),s("strong",null,"uuid"),s("br"),e(" Primary key of the user.")],-1),x=s("p",null,[s("code",{class:""},"first_name"),e(),s("strong",null,"string"),s("br"),e(" First name of the user.")],-1),T=s("p",null,[s("code",{class:""},"last_name"),e(),s("strong",null,"string"),s("br"),e(" Last name of the user.")],-1),R=s("p",null,[s("code",{class:""},"email"),e(),s("strong",null,"string"),s("br"),e(" Email address of the user.")],-1),E=s("p",null,[s("code",{class:""},"password"),e(),s("strong",null,"hash"),s("br"),e(" Password of the user.")],-1),S=s("p",null,[s("code",{class:""},"location"),e(),s("strong",null,"string"),s("br"),e(" Location of the user.")],-1),P=s("p",null,[s("code",{class:""},"title"),e(),s("strong",null,"string"),s("br"),e(" Title of the user.")],-1),k=s("p",null,[s("code",{class:""},"description"),e(),s("strong",null,"string"),s("br"),e(" Description of the user.")],-1),A=s("p",null,[s("code",{class:""},"tags"),e(),s("strong",null,"csv"),s("br"),e(" Tags for the user.")],-1),U=s("code",{class:""},"avatar",-1),O=e(),L=s("strong",null,"many-to-one",-1),C=s("br",null,null,-1),I=e(" Avatar file. Many-to-one to "),Q=e("files"),G=e("."),B=s("p",null,[s("code",{class:""},"language"),e(),s("strong",null,"string"),s("br"),e(" Language the Admin App is rendered in. See "),s("a",{href:"https://locales.directus.io",target:"_blank",rel:"noopener noreferrer"},"our Crowdin page"),e(" for all available languages and translations.")],-1),D=s("p",null,[s("code",{class:""},"theme"),e(),s("strong",null,"string"),s("br"),e(" One of "),s("code",{class:""},"auto"),e(", "),s("code",{class:""},"light"),e(", "),s("code",{class:""},"dark"),e(".")],-1),M=s("p",null,[s("code",{class:""},"tfa_secret"),e(),s("strong",null,"string"),s("br"),e(" When TFA is enabled, this holds the secret key for it.")],-1),F=s("p",null,[s("code",{class:""},"status"),e(),s("strong",null,"string"),s("br"),e(" Status of the user. One of "),s("code",{class:""},"draft"),e(", "),s("code",{class:""},"invited"),e(", "),s("code",{class:""},"active"),e(", "),s("code",{class:""},"suspended"),e(", "),s("code",{class:""},"archived"),e(".")],-1),H=s("code",{class:""},"role",-1),N=e(),V=s("strong",null,"uuid",-1),W=s("br",null,null,-1),Y=e(" Role of the user. Many-to-one to "),z=e("roles"),J=e("."),K=s("p",null,[s("code",{class:""},"token"),e(),s("strong",null,"string"),s("br"),e(" Static access token for the user.")],-1),X=s("p",null,[s("code",{class:""},"last_access"),e(),s("strong",null,"date"),s("br"),e(" Last time the user accessed the API.")],-1),Z=s("p",null,[s("code",{class:""},"last_page"),e(),s("strong",null,"string"),s("br"),e(" Last page in the app the user used.")],-1),$=s("p",null,[s("code",{class:""},"provider"),e(),s("strong",null,"string"),s("br"),e(" What auth provider was used to register this user.")],-1),ss=s("p",null,[s("code",{class:""},"external_identifier"),e(),s("strong",null,"string"),s("br"),e(" Primary key of the user in the third party authentication provider, if used.")],-1),es=s("p",null,[s("code",{class:""},"auth_data"),e(),s("strong",null,"json"),s("br"),e(" Required data about the user as provided by the third party auth provider, if used.")],-1),as=s("p",null,[s("code",{class:""},"email_notifications"),e(),s("strong",null,"boolean"),s("br"),e(" When this is enabled, the user will receive emails for notifications.")],-1),ts=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[e(`{
|
|
2
|
-
`),s("span",{class:"hljs-attr"},'"id"'),e(": "),s("span",{class:"hljs-string"},'"0bc7b36a-9ba9-4ce0-83f0-0a526f354e07"'),e(`,
|
|
3
|
-
`),s("span",{class:"hljs-attr"},'"first_name"'),e(": "),s("span",{class:"hljs-string"},'"Admin"'),e(`,
|
|
4
|
-
`),s("span",{class:"hljs-attr"},'"last_name"'),e(": "),s("span",{class:"hljs-string"},'"User"'),e(`,
|
|
5
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"admin@example.com"'),e(`,
|
|
6
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"**********"'),e(`,
|
|
7
|
-
`),s("span",{class:"hljs-attr"},'"location"'),e(": "),s("span",{class:"hljs-string"},'"New York City"'),e(`,
|
|
8
|
-
`),s("span",{class:"hljs-attr"},'"title"'),e(": "),s("span",{class:"hljs-string"},'"CTO"'),e(`,
|
|
9
|
-
`),s("span",{class:"hljs-attr"},'"description"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`,
|
|
10
|
-
`),s("span",{class:"hljs-attr"},'"tags"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`,
|
|
11
|
-
`),s("span",{class:"hljs-attr"},'"avatar"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`,
|
|
12
|
-
`),s("span",{class:"hljs-attr"},'"language"'),e(": "),s("span",{class:"hljs-string"},'"en-US"'),e(`,
|
|
13
|
-
`),s("span",{class:"hljs-attr"},'"theme"'),e(": "),s("span",{class:"hljs-string"},'"auto"'),e(`,
|
|
14
|
-
`),s("span",{class:"hljs-attr"},'"tfa_secret"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`,
|
|
15
|
-
`),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"active"'),e(`,
|
|
16
|
-
`),s("span",{class:"hljs-attr"},'"role"'),e(": "),s("span",{class:"hljs-string"},'"653925a9-970e-487a-bfc0-ab6c96affcdc"'),e(`,
|
|
17
|
-
`),s("span",{class:"hljs-attr"},'"token"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`,
|
|
18
|
-
`),s("span",{class:"hljs-attr"},'"last_access"'),e(": "),s("span",{class:"hljs-string"},'"2021-02-05T10:18:13-05:00"'),e(`,
|
|
19
|
-
`),s("span",{class:"hljs-attr"},'"last_page"'),e(": "),s("span",{class:"hljs-string"},'"/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"'),e(`
|
|
20
|
-
}
|
|
21
|
-
`)])])],-1),ls=s("hr",null,null,-1),rs=s("h2",{id:"list-users"},[e("List Users "),s("a",{class:"header-anchor",href:"#list-users"},"#")],-1),ns=s("p",null,"List all users that exist in Directus.",-1),cs={class:"two-up"},os={class:"left"},hs=s("h3",{id:"query-parameters"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters"},"#")],-1),is=e("Supports all "),ds=e("global query parameters"),us=e("."),ps=s("h3",{id:"returns"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns"},"#")],-1),_s=e("An array of up to "),gs=e("limit"),fs=e(),ms=s("a",{href:"#the-user-object"},"user objects",-1),js=e(". If no items are available, data will be an empty array."),ys={class:"right"},bs=s("h3",{id:"rest-api"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")],-1),qs=s("pre",null,[s("code",{class:""},`GET /users
|
|
22
|
-
SEARCH /users
|
|
23
|
-
`)],-1),vs=e("Learn more about SEARCH ->"),ws=s("h3",{id:"graphql"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql"},"#")],-1),xs=s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
24
|
-
`)],-1),Ts=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
|
|
25
|
-
users: [directus_users]
|
|
26
|
-
}
|
|
27
|
-
`)])],-1),Rs=s("h5",{id:"example"},[e("Example "),s("a",{class:"header-anchor",href:"#example"},"#")],-1),Es=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
|
|
28
|
-
users {
|
|
29
|
-
first_name
|
|
30
|
-
last_name
|
|
31
|
-
email
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
`)])],-1),Ss=s("hr",null,null,-1),Ps=s("h2",{id:"retrieve-a-user"},[e("Retrieve a User "),s("a",{class:"header-anchor",href:"#retrieve-a-user"},"#")],-1),ks=s("p",null,"List an existing user by primary key.",-1),As={class:"two-up"},Us={class:"left"},Os=s("h3",{id:"query-parameters-2"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-2"},"#")],-1),Ls=e("Supports all "),Cs=e("global query parameters"),Is=e("."),Qs=s("h3",{id:"returns-2"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-2"},"#")],-1),Gs=s("p",null,[e("Returns the requested "),s("a",{href:"#the-user-object"},"user object"),e(".")],-1),Bs=s("div",{class:"right"},[s("h3",{id:"rest-api-2"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-2"},"#")]),s("pre",null,[s("code",{class:""},`GET /users/:id
|
|
35
|
-
`)]),s("h5",{id:"example-2"},[e("Example "),s("a",{class:"header-anchor",href:"#example-2"},"#")]),s("pre",null,[s("code",{class:""},`GET /users/72a1ce24-4748-47de-a05f-ce9af3033727
|
|
36
|
-
`)]),s("h3",{id:"graphql-2"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-2"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
37
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
|
|
38
|
-
users_by_id(id:`),s("span",{class:"hljs-literal"}," ID"),e(`!): directus_users
|
|
39
|
-
}
|
|
40
|
-
`)])]),s("h5",{id:"example-3"},[e("Example "),s("a",{class:"header-anchor",href:"#example-3"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
|
|
41
|
-
users_by_id(id: `),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(`) {
|
|
42
|
-
first_name
|
|
43
|
-
last_name
|
|
44
|
-
email
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
`)])])],-1),Ds=s("hr",null,null,-1),Ms=s("h2",{id:"retrieve-the-current-user"},[e("Retrieve the Current User "),s("a",{class:"header-anchor",href:"#retrieve-the-current-user"},"#")],-1),Fs=s("p",null,"Retrieve the currently authenticated user.",-1),Hs={class:"two-up"},Ns={class:"left"},Vs=s("h3",{id:"query-parameters-3"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-3"},"#")],-1),Ws=e("Supports all "),Ys=e("global query parameters"),zs=e("."),Js=s("h3",{id:"returns-3"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-3"},"#")],-1),Ks=s("p",null,[e("Returns the "),s("a",{href:"#the-user-object"},"user object"),e(" for the currently authenticated user.")],-1),Xs=s("div",{class:"right"},[s("h3",{id:"rest-api-3"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-3"},"#")]),s("pre",null,[s("code",{class:""},`GET /users/me
|
|
48
|
-
`)]),s("h3",{id:"graphql-3"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-3"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
49
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
|
|
50
|
-
users_me: directus_users
|
|
51
|
-
}
|
|
52
|
-
`)])]),s("h5",{id:"example-4"},[e("Example "),s("a",{class:"header-anchor",href:"#example-4"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
|
|
53
|
-
users_me {
|
|
54
|
-
email
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
`)])])],-1),Zs=s("hr",null,null,-1),$s=s("h2",{id:"update-the-current-user"},[e("Update the Current User "),s("a",{class:"header-anchor",href:"#update-the-current-user"},"#")],-1),se=s("p",null,"Update the authenticated user.",-1),ee={class:"two-up"},ae={class:"left"},te=s("h3",{id:"query-parameters-4"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-4"},"#")],-1),le=e("Supports all "),re=e("global query parameters"),ne=e("."),ce=s("h3",{id:"returns-4"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-4"},"#")],-1),oe=s("p",null,[e("Returns the updated "),s("a",{href:"#the-user-object"},"user object"),e(" for the authenticated user.")],-1),he=s("div",{class:"right"},[s("h3",{id:"rest-api-4"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-4"},"#")]),s("pre",null,[s("code",{class:""},`PATCH /users/me
|
|
58
|
-
`)]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// PATCH /users/me"),e(`
|
|
59
|
-
|
|
60
|
-
{
|
|
61
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"new.email@example.com"'),e(`
|
|
62
|
-
}
|
|
63
|
-
`)])]),s("h3",{id:"graphql-4"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-4"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
64
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
65
|
-
update_users_me(data: update_directus_users_input!): directus_users
|
|
66
|
-
}
|
|
67
|
-
`)])]),s("h5",{id:"example-5"},[e("Example "),s("a",{class:"header-anchor",href:"#example-5"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
68
|
-
update_users_me(data: { email: `),s("span",{class:"hljs-string"},'"new.email@example.com"'),e(` }) {
|
|
69
|
-
email
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
`)])])],-1),ie=s("hr",null,null,-1),de=s("h2",{id:"create-a-user"},[e("Create a User "),s("a",{class:"header-anchor",href:"#create-a-user"},"#")],-1),ue=s("p",null,"Create a new user",-1),pe={class:"two-up"},_e={class:"left"},ge=s("h3",{id:"query-parameters-5"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-5"},"#")],-1),fe=e("Supports all "),me=e("global query parameters"),je=e("."),ye=s("h3",{id:"request-body"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body"},"#")],-1),be=s("p",null,[e("A partial "),s("a",{href:"#the-user-object"},"user object"),e(".")],-1),qe=s("p",null,[s("code",{class:""},"email"),e(" and "),s("code",{class:""},"password"),e(" are required.")],-1),ve=s("h3",{id:"returns-5"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-5"},"#")],-1),we=s("p",null,[e("Returns the "),s("a",{href:"#the-user-object"},"user object"),e(" for the created user.")],-1),xe=s("div",{class:"right"},[s("h3",{id:"rest-api-5"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-5"},"#")]),s("pre",null,[s("code",{class:""},`POST /users
|
|
73
|
-
`)]),s("h5",{id:"example-6"},[e("Example "),s("a",{class:"header-anchor",href:"#example-6"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users"),e(`
|
|
74
|
-
|
|
75
|
-
{
|
|
76
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"another@example.com"'),e(`,
|
|
77
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`,
|
|
78
|
-
`),s("span",{class:"hljs-attr"},'"role"'),e(": "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`
|
|
79
|
-
}
|
|
80
|
-
`)])]),s("h3",{id:"graphql-5"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-5"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
81
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
82
|
-
create_users_item(data: create_directus_users_input!): directus_users
|
|
83
|
-
}
|
|
84
|
-
`)])]),s("h5",{id:"example-7"},[e("Example "),s("a",{class:"header-anchor",href:"#example-7"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
85
|
-
create_users_item(
|
|
86
|
-
data: { email: `),s("span",{class:"hljs-string"},'"another@example.com"'),e(", password: "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(", role: "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(` }
|
|
87
|
-
) {
|
|
88
|
-
email
|
|
89
|
-
role
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
`)])])],-1),Te=s("hr",null,null,-1),Re=s("h2",{id:"create-multiple-users"},[e("Create Multiple Users "),s("a",{class:"header-anchor",href:"#create-multiple-users"},"#")],-1),Ee=s("p",null,"Create multiple new users",-1),Se={class:"two-up"},Pe={class:"left"},ke=s("h3",{id:"query-parameters-6"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-6"},"#")],-1),Ae=e("Supports all "),Ue=e("global query parameters"),Oe=e("."),Le=s("h3",{id:"request-body-2"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-2"},"#")],-1),Ce=s("p",null,[e("An array of partial "),s("a",{href:"#the-user-object"},"user objects"),e(".")],-1),Ie=s("p",null,[s("code",{class:""},"email"),e(" and "),s("code",{class:""},"password"),e(" are required.")],-1),Qe=s("h3",{id:"returns-6"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-6"},"#")],-1),Ge=s("p",null,[e("Returns the "),s("a",{href:"#the-user-object"},"user objects"),e(" for the created users.")],-1),Be=s("div",{class:"right"},[s("h3",{id:"rest-api-6"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-6"},"#")]),s("pre",null,[s("code",{class:""},`POST /users
|
|
93
|
-
`)]),s("h5",{id:"example-8"},[e("Example "),s("a",{class:"header-anchor",href:"#example-8"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users"),e(`
|
|
94
|
-
|
|
95
|
-
[
|
|
96
|
-
{
|
|
97
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"admin@example.com"'),e(`,
|
|
98
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"p455w0rd"'),e(`,
|
|
99
|
-
`),s("span",{class:"hljs-attr"},'"role"'),e(": "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"another@example.com"'),e(`,
|
|
103
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`,
|
|
104
|
-
`),s("span",{class:"hljs-attr"},'"role"'),e(": "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
`)])]),s("h3",{id:"graphql-6"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-6"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
108
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
109
|
-
create_users_items(data: [create_directus_users_input!]!): [directus_users]
|
|
110
|
-
}
|
|
111
|
-
`)])]),s("h5",{id:"example-9"},[e("Example "),s("a",{class:"header-anchor",href:"#example-9"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
112
|
-
create_users_items(
|
|
113
|
-
data: [
|
|
114
|
-
{ email: `),s("span",{class:"hljs-string"},'"admin@example.com"'),e(", password: "),s("span",{class:"hljs-string"},'"p455w0rd"'),e(", role: "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(` }
|
|
115
|
-
{ email: `),s("span",{class:"hljs-string"},'"another@example.com"'),e(", password: "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(", role: "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(` }
|
|
116
|
-
]
|
|
117
|
-
) {
|
|
118
|
-
email
|
|
119
|
-
role
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
`)])])],-1),De=s("hr",null,null,-1),Me=s("h2",{id:"update-a-user"},[e("Update a User "),s("a",{class:"header-anchor",href:"#update-a-user"},"#")],-1),Fe=s("p",null,"Update an existing user.",-1),He={class:"two-up"},Ne={class:"left"},Ve=s("h3",{id:"query-parameters-7"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-7"},"#")],-1),We=e("Supports all "),Ye=e("global query parameters"),ze=e("."),Je=s("h3",{id:"request-body-3"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-3"},"#")],-1),Ke=s("p",null,[e("A partial "),s("a",{href:"#the-user-object"},"user object"),e(".")],-1),Xe=s("h3",{id:"returns-7"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-7"},"#")],-1),Ze=s("p",null,[e("Returns the "),s("a",{href:"#the-user-object"},"user object"),e(" for the updated user.")],-1),$e=s("div",{class:"right"},[s("h3",{id:"rest-api-7"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-7"},"#")]),s("pre",null,[s("code",{class:""},`PATCH /users/:id
|
|
123
|
-
`)]),s("h5",{id:"example-10"},[e("Example "),s("a",{class:"header-anchor",href:"#example-10"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// PATCH /users/72a1ce24-4748-47de-a05f-ce9af3033727"),e(`
|
|
124
|
-
|
|
125
|
-
{
|
|
126
|
-
`),s("span",{class:"hljs-attr"},'"title"'),e(": "),s("span",{class:"hljs-string"},'"CTO"'),e(`
|
|
127
|
-
}
|
|
128
|
-
`)])]),s("h3",{id:"graphql-7"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-7"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
129
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
130
|
-
update_users_item(id:`),s("span",{class:"hljs-literal"}," ID"),e(`!, data: update_directus_users_input!): directus_users
|
|
131
|
-
}
|
|
132
|
-
`)])]),s("h5",{id:"example-11"},[e("Example "),s("a",{class:"header-anchor",href:"#example-11"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
133
|
-
update_users_item(id: `),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(", data: { title: "),s("span",{class:"hljs-string"},'"CTO"'),e(` }) {
|
|
134
|
-
first_name
|
|
135
|
-
last_name
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
`)])])],-1),sa=s("hr",null,null,-1),ea=s("h2",{id:"update-multiple-users"},[e("Update Multiple Users "),s("a",{class:"header-anchor",href:"#update-multiple-users"},"#")],-1),aa=s("p",null,"Update multiple existing users.",-1),ta={class:"two-up"},la={class:"left"},ra=s("h3",{id:"query-parameters-8"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-8"},"#")],-1),na=e("Supports all "),ca=e("global query parameters"),oa=e("."),ha=s("h3",{id:"request-body-4"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-4"},"#")],-1),ia=s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"keys"),e(),s("strong",null,"Required"),s("br"),e(" Array of primary keys of the users you\u2019d like to update.")]),s("p",null,[s("code",{class:""},"data"),e(),s("strong",null,"Required"),s("br"),e(" Any of "),s("a",{href:"#the-user-object"},"the user object"),e("\u2019s properties.")])],-1),da=s("h3",{id:"returns-8"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-8"},"#")],-1),ua=s("p",null,[e("Returns the "),s("a",{href:"#the-user-object"},"user objects"),e(" for the updated users.")],-1),pa=s("div",{class:"right"},[s("h3",{id:"rest-api-8"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-8"},"#")]),s("pre",null,[s("code",{class:""},`PATCH /users
|
|
139
|
-
`)]),s("h5",{id:"example-12"},[e("Example "),s("a",{class:"header-anchor",href:"#example-12"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// PATCH /users"),e(`
|
|
140
|
-
|
|
141
|
-
{
|
|
142
|
-
`),s("span",{class:"hljs-attr"},'"keys"'),e(": ["),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(", "),s("span",{class:"hljs-string"},'"9c3d75a8-7a5f-41a4-be0a-1488fd974511"'),e(`],
|
|
143
|
-
`),s("span",{class:"hljs-attr"},'"data"'),e(`: {
|
|
144
|
-
`),s("span",{class:"hljs-attr"},'"title"'),e(": "),s("span",{class:"hljs-string"},'"CTO"'),e(`
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
`)])]),s("h3",{id:"graphql-8"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-8"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
148
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
149
|
-
update_users_items(ids: `),s("span",{class:"hljs-literal"},"[ID"),e(`!]!, data: update_directus_users_input!): [directus_users]
|
|
150
|
-
}
|
|
151
|
-
`)])]),s("h5",{id:"example-13"},[e("Example "),s("a",{class:"header-anchor",href:"#example-13"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
152
|
-
update_users_items(
|
|
153
|
-
ids: [`),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(", "),s("span",{class:"hljs-string"},'"9c3d75a8-7a5f-41a4-be0a-1488fd974511"'),e(`]
|
|
154
|
-
data: { title: `),s("span",{class:"hljs-string"},'"CTO"'),e(` }
|
|
155
|
-
) {
|
|
156
|
-
first_name
|
|
157
|
-
last_name
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
`)])])],-1),_a=s("hr",null,null,-1),ga=s("h2",{id:"delete-a-user"},[e("Delete a User "),s("a",{class:"header-anchor",href:"#delete-a-user"},"#")],-1),fa=s("p",null,"Delete an existing user.",-1),ma=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"returns-9"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-9"},"#")]),s("p",null,"Empty body.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-9"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-9"},"#")]),s("pre",null,[s("code",{class:""},`DELETE /users/:id
|
|
161
|
-
`)]),s("h5",{id:"example-14"},[e("Example "),s("a",{class:"header-anchor",href:"#example-14"},"#")]),s("pre",null,[s("code",{class:""},`DELETE /users/72a1ce24-4748-47de-a05f-ce9af3033727
|
|
162
|
-
`)]),s("h3",{id:"graphql-9"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-9"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
163
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
164
|
-
delete_users_item(id:`),s("span",{class:"hljs-literal"}," ID"),e(`!): delete_one
|
|
165
|
-
}
|
|
166
|
-
`)])]),s("h5",{id:"example-15"},[e("Example "),s("a",{class:"header-anchor",href:"#example-15"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
167
|
-
delete_users_item(id: `),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(`) {
|
|
168
|
-
id
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
`)])])])],-1),ja=s("hr",null,null,-1),ya=s("h2",{id:"delete-multiple-users"},[e("Delete Multiple Users "),s("a",{class:"header-anchor",href:"#delete-multiple-users"},"#")],-1),ba=s("p",null,"Delete multiple existing users.",-1),qa=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-5"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-5"},"#")]),s("p",null,"An array of user primary keys"),s("h3",{id:"returns-10"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-10"},"#")]),s("p",null,"Empty body.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-10"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-10"},"#")]),s("pre",null,[s("code",{class:""},`DELETE /users
|
|
172
|
-
`)]),s("h5",{id:"example-16"},[e("Example "),s("a",{class:"header-anchor",href:"#example-16"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// Request"),e(`
|
|
173
|
-
[`),s("span",{class:"hljs-string"},'"653925a9-970e-487a-bfc0-ab6c96affcdc"'),e(", "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`]
|
|
174
|
-
`)])]),s("h3",{id:"graphql-10"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-10"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
175
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
176
|
-
delete_users_items(ids: `),s("span",{class:"hljs-literal"},"[ID"),e(`!]!): delete_many
|
|
177
|
-
}
|
|
178
|
-
`)])]),s("h5",{id:"example-17"},[e("Example "),s("a",{class:"header-anchor",href:"#example-17"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
179
|
-
delete_users_items(ids: [`),s("span",{class:"hljs-string"},'"72a1ce24-4748-47de-a05f-ce9af3033727"'),e(", "),s("span",{class:"hljs-string"},'"9c3d75a8-7a5f-41a4-be0a-1488fd974511"'),e(`]) {
|
|
180
|
-
ids
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
`)])])])],-1),va=s("hr",null,null,-1),wa=s("h2",{id:"invite-a-new-user"},[e("Invite a new User "),s("a",{class:"header-anchor",href:"#invite-a-new-user"},"#")],-1),xa=s("p",null,"Invite a new user by email.",-1),Ta={class:"two-up"},Ra={class:"left"},Ea=s("h3",{id:"request-body-6"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-6"},"#")],-1),Sa={class:"definitions"},Pa=s("p",null,[s("code",{class:""},"email"),e(),s("strong",null,"Required"),s("br"),e(" User email to invite.")],-1),ka=s("p",null,[s("code",{class:""},"role"),e(),s("strong",null,"Required"),s("br"),e(" Role of the new user.")],-1),Aa=s("code",{class:""},"invite_url",-1),Ua=s("br",null,null,-1),Oa=e(" Provide a custom invite url which the link in the email will lead to. The invite token will be passed as a parameter."),La=s("br",null,null,-1),Ca=s("strong",null,"Note",-1),Ia=e(": You need to configure the "),Qa=s("code",{class:""},"USER_INVITE_URL_ALLOW_LIST",-1),Ga=e(" environment variable"),Ba=e(" to enable this feature."),Da=s("h3",{id:"returns-11"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-11"},"#")],-1),Ma=s("p",null,"Empty body.",-1),Fa=s("div",{class:"right"},[s("h3",{id:"rest-api-11"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-11"},"#")]),s("pre",null,[s("code",{class:""},`POST /users/invite
|
|
184
|
-
`)]),s("h5",{id:"example-18"},[e("Example "),s("a",{class:"header-anchor",href:"#example-18"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users/invite"),e(`
|
|
185
|
-
|
|
186
|
-
{
|
|
187
|
-
`),s("span",{class:"hljs-attr"},'"email"'),e(": "),s("span",{class:"hljs-string"},'"another@example.com"'),e(`,
|
|
188
|
-
`),s("span",{class:"hljs-attr"},'"role"'),e(": "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`
|
|
189
|
-
}
|
|
190
|
-
`)])]),s("h3",{id:"graphql-11"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-11"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
191
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
192
|
-
users_invite(email:`),s("span",{class:"hljs-type"}," String"),e("!, role:"),s("span",{class:"hljs-type"}," String"),e("!, invite_url:"),s("span",{class:"hljs-type"}," String"),e("):"),s("span",{class:"hljs-type"}," Boolean"),e(`
|
|
193
|
-
}
|
|
194
|
-
`)])]),s("h5",{id:"example-19"},[e("Example "),s("a",{class:"header-anchor",href:"#example-19"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
195
|
-
users_invite(email: `),s("span",{class:"hljs-string"},'"another@example.com"'),e(", role: "),s("span",{class:"hljs-string"},'"c86c2761-65d3-43c3-897f-6f74ad6a5bd7"'),e(`)
|
|
196
|
-
}
|
|
197
|
-
`)])])],-1),Ha=s("hr",null,null,-1),Na=s("h2",{id:"accept-user-invite"},[e("Accept User Invite "),s("a",{class:"header-anchor",href:"#accept-user-invite"},"#")],-1),Va=s("p",null,[e("Accept your invite. The "),s("a",{href:"#invite-a-new-user"},"invite user endpoint"),e(" sends the email a link to the Admin App.")],-1),Wa=s("p",null,"This link includes a token, which is then used to activate the invited user.",-1),Ya=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-7"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-7"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"token"),e(),s("strong",null,"Required"),s("br"),e(" Accept invite token.")]),s("p",null,[s("code",{class:""},"password"),e(),s("strong",null,"Required"),s("br"),e(" Password for the user.")])]),s("h3",{id:"returns-12"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-12"},"#")]),s("p",null,"Empty body.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-12"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-12"},"#")]),s("pre",null,[s("code",{class:""},`POST /users/invite/accept
|
|
198
|
-
`)]),s("h5",{id:"example-20"},[e("Example "),s("a",{class:"header-anchor",href:"#example-20"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users/invite/accept"),e(`
|
|
199
|
-
|
|
200
|
-
{
|
|
201
|
-
`),s("span",{class:"hljs-attr"},'"token"'),e(": "),s("span",{class:"hljs-string"},'"eyJh...KmUk"'),e(`,
|
|
202
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`
|
|
203
|
-
}
|
|
204
|
-
`)])]),s("h3",{id:"graphql-12"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-12"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
205
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
206
|
-
users_invite_accept(token:`),s("span",{class:"hljs-type"}," String"),e("!, password:"),s("span",{class:"hljs-type"}," String"),e("!):"),s("span",{class:"hljs-type"}," Boolean"),e(`
|
|
207
|
-
}
|
|
208
|
-
`)])]),s("h5",{id:"example-21"},[e("Example "),s("a",{class:"header-anchor",href:"#example-21"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
209
|
-
users_invite_accept(token: `),s("span",{class:"hljs-string"},'"eyJh...KmUk"'),e(", password: "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`)
|
|
210
|
-
}
|
|
211
|
-
`)])])])],-1),za=s("hr",null,null,-1),Ja=s("h2",{id:"generate-two-factor-authentication-secret"},[e("Generate Two-Factor Authentication Secret "),s("a",{class:"header-anchor",href:"#generate-two-factor-authentication-secret"},"#")],-1),Ka=s("p",null,"Generates a secret and returns the URL to be used in an authenticator app.",-1),Xa=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-8"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-8"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"password"),e(),s("strong",null,"Required"),s("br"),e(" The user\u2019s password.")])]),s("h3",{id:"returns-13"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-13"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"secret"),e(),s("strong",null,"string"),s("br"),e(" OTP secret to be saved in the authenticator app.")]),s("p",null,[s("code",{class:""},"otpauth_url"),e(),s("strong",null,"string"),s("br"),s("code",{class:""},"otpauth://"),e(" formatted URL. Can be rendered as QR code and used in most authenticator apps.")])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-13"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-13"},"#")]),s("pre",null,[s("code",{class:""},`POST /users/me/tfa/generate
|
|
212
|
-
`)]),s("h5",{id:"example-22"},[e("Example "),s("a",{class:"header-anchor",href:"#example-22"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users/me/tfa/generate"),e(`
|
|
213
|
-
{
|
|
214
|
-
`),s("span",{class:"hljs-attr"},'"password"'),e(": "),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`
|
|
215
|
-
}
|
|
216
|
-
`)])]),s("h3",{id:"graphql-13"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-13"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
217
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
218
|
-
users_me_tfa_generate(password:`),s("span",{class:"hljs-type"}," String"),e(`!): users_me_tfa_generate_data
|
|
219
|
-
}
|
|
220
|
-
`)])]),s("h5",{id:"example-23"},[e("Example "),s("a",{class:"header-anchor",href:"#example-23"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
221
|
-
users_me_tfa_generate(password: `),s("span",{class:"hljs-string"},'"d1r3ctu5"'),e(`) {
|
|
222
|
-
secret
|
|
223
|
-
otpauth_url
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
`)])])])],-1),Za=s("hr",null,null,-1),$a=s("h2",{id:"enable-two-factor-authentication"},[e("Enable Two-Factor Authentication "),s("a",{class:"header-anchor",href:"#enable-two-factor-authentication"},"#")],-1),st=s("p",null,"Adds a TFA secret to the user account.",-1),et=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-9"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-9"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"secret"),e(),s("strong",null,"Required"),s("br"),e(" The TFA secret from tfa/generate.")]),s("p",null,[s("code",{class:""},"otp"),e(),s("strong",null,"Required"),s("br"),e(" OTP generated with the secret, to recheck if the user has a correct TFA setup")])]),s("h3",{id:"returns-14"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-14"},"#")]),s("div",{class:"definitions"},[s("p",null,"Empty response.")])]),s("div",{class:"right"},[s("h3",{id:"rest-api-14"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-14"},"#")]),s("pre",null,[s("code",{class:""},`POST /users/me/tfa/enable
|
|
227
|
-
`)]),s("h5",{id:"example-24"},[e("Example "),s("a",{class:"header-anchor",href:"#example-24"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users/me/tfa/enable"),e(`
|
|
228
|
-
{
|
|
229
|
-
`),s("span",{class:"hljs-attr"},'"otp"'),e(": "),s("span",{class:"hljs-string"},'"123456"'),e(`,
|
|
230
|
-
`),s("span",{class:"hljs-attr"},'"secret"'),e(": "),s("span",{class:"hljs-string"},'"3CtiutsNBmY3szHE"'),e(`
|
|
231
|
-
}
|
|
232
|
-
`)])]),s("h3",{id:"graphql-14"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-14"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
233
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
234
|
-
users_me_tfa_enable(otp:`),s("span",{class:"hljs-type"}," String"),e("!, secret:"),s("span",{class:"hljs-type"}," String"),e("!):"),s("span",{class:"hljs-type"}," Boolean"),e(`
|
|
235
|
-
}
|
|
236
|
-
`)])]),s("h5",{id:"example-25"},[e("Example "),s("a",{class:"header-anchor",href:"#example-25"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
237
|
-
users_me_tfa_enable(otp: `),s("span",{class:"hljs-string"},'"123456"'),e(", secret: "),s("span",{class:"hljs-string"},'"3CtiutsNBmY3szHE"'),e(`)
|
|
238
|
-
}
|
|
239
|
-
`)])])])],-1),at=s("hr",null,null,-1),tt=s("h2",{id:"disable-two-factor-authentication"},[e("Disable Two-Factor Authentication "),s("a",{class:"header-anchor",href:"#disable-two-factor-authentication"},"#")],-1),lt=s("p",null,"Disables two-factor authentication by removing the OTP secret from the user.",-1),rt=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"request-body-10"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body-10"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"otp"),e(),s("strong",null,"Required"),s("br"),e(" One-time password generated by the authenticator app.")])]),s("h3",{id:"returns-15"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-15"},"#")]),s("p",null,"Empty response.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-15"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-15"},"#")]),s("pre",null,[s("code",{class:""},`POST /users/me/tfa/disable
|
|
240
|
-
`)]),s("h5",{id:"example-26"},[e("Example "),s("a",{class:"header-anchor",href:"#example-26"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /users/me/tfa/disable"),e(`
|
|
241
|
-
|
|
242
|
-
{
|
|
243
|
-
`),s("span",{class:"hljs-attr"},'"otp"'),e(": "),s("span",{class:"hljs-string"},'"859014"'),e(`
|
|
244
|
-
}
|
|
245
|
-
`)])]),s("h3",{id:"graphql-15"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-15"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
|
|
246
|
-
`)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
247
|
-
users_me_tfa_disable(otp:`),s("span",{class:"hljs-type"}," String"),e("!):"),s("span",{class:"hljs-type"}," Boolean"),e(`
|
|
248
|
-
}
|
|
249
|
-
`)])]),s("h5",{id:"example-27"},[e("Example "),s("a",{class:"header-anchor",href:"#example-27"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
250
|
-
users_me_tfa_disable(otp: `),s("span",{class:"hljs-string"},'"591763"'),e(`)
|
|
251
|
-
}
|
|
252
|
-
`)])])])],-1),nt={title:"Users",modularExtension:!1,pageClass:"page-reference"},ct={name:"users",setup(ot,{expose:c}){return c({frontmatter:{title:"Users",modularExtension:!1,pageClass:"page-reference"}}),(ht,it)=>{const t=r("router-link"),o=r("docswrapper");return h(),i(o,{frontmatter:nt},{default:a(()=>[s("div",d,[s("div",u,[s("div",p,[s("blockquote",null,[s("p",null,[_,l(t,{to:"/docs/getting-started/glossary/#users/"},{default:a(()=>[g]),_:1}),f])])]),m]),j,y,s("div",b,[s("div",q,[s("div",v,[w,x,T,R,E,S,P,k,A,s("p",null,[U,O,L,C,I,l(t,{to:"/docs/reference/files/"},{default:a(()=>[Q]),_:1}),G]),B,D,M,F,s("p",null,[H,N,V,W,Y,l(t,{to:"/docs/reference/roles"},{default:a(()=>[z]),_:1}),J]),K,X,Z,$,ss,es,as])]),ts]),ls,rs,ns,s("div",cs,[s("div",os,[hs,s("p",null,[is,l(t,{to:"/docs/reference/query"},{default:a(()=>[ds]),_:1}),us]),ps,s("p",null,[_s,l(t,{to:"/docs/reference/query/#limit"},{default:a(()=>[gs]),_:1}),fs,ms,js])]),s("div",ys,[bs,qs,s("p",null,[l(t,{to:"/docs/reference/introduction/#search-http-method"},{default:a(()=>[vs]),_:1})]),ws,xs,Ts,Rs,Es])]),Ss,Ps,ks,s("div",As,[s("div",Us,[Os,s("p",null,[Ls,l(t,{to:"/docs/reference/query"},{default:a(()=>[Cs]),_:1}),Is]),Qs,Gs]),Bs]),Ds,Ms,Fs,s("div",Hs,[s("div",Ns,[Vs,s("p",null,[Ws,l(t,{to:"/docs/reference/query"},{default:a(()=>[Ys]),_:1}),zs]),Js,Ks]),Xs]),Zs,$s,se,s("div",ee,[s("div",ae,[te,s("p",null,[le,l(t,{to:"/docs/reference/query"},{default:a(()=>[re]),_:1}),ne]),ce,oe]),he]),ie,de,ue,s("div",pe,[s("div",_e,[ge,s("p",null,[fe,l(t,{to:"/docs/reference/query"},{default:a(()=>[me]),_:1}),je]),ye,be,qe,ve,we]),xe]),Te,Re,Ee,s("div",Se,[s("div",Pe,[ke,s("p",null,[Ae,l(t,{to:"/docs/reference/query"},{default:a(()=>[Ue]),_:1}),Oe]),Le,Ce,Ie,Qe,Ge]),Be]),De,Me,Fe,s("div",He,[s("div",Ne,[Ve,s("p",null,[We,l(t,{to:"/docs/reference/query"},{default:a(()=>[Ye]),_:1}),ze]),Je,Ke,Xe,Ze]),$e]),sa,ea,aa,s("div",ta,[s("div",la,[ra,s("p",null,[na,l(t,{to:"/docs/reference/query"},{default:a(()=>[ca]),_:1}),oa]),ha,ia,da,ua]),pa]),_a,ga,fa,ma,ja,ya,ba,qa,va,wa,xa,s("div",Ta,[s("div",Ra,[Ea,s("div",Sa,[Pa,ka,s("p",null,[Aa,Ua,Oa,La,Ca,Ia,l(t,{to:"/docs/configuration/config-options/#security"},{default:a(()=>[Qa,Ga]),_:1}),Ba])]),Da,Ma]),Fa]),Ha,Na,Va,Wa,Ya,za,Ja,Ka,Xa,Za,$a,st,et,at,tt,lt,rt])]),_:1})}}};typeof n=="function"&&n(ct);export{ct as default,nt as frontmatter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as i,o as s,b as r,w as a,g as e,B as o}from"./runtime-core.esm-bundler.b1f35d24.js";var n={};const h=e("div",{class:"markdown-body"},[e("blockquote",null,[e("p",null,[o("Webhooks are configured within the App (no code required) and send HTTP requests when a specific event is triggered. "),e("a",{href:"https://en.wikipedia.org/wiki/Webhook",target:"_blank",rel:"noopener noreferrer"},"Learn more about Webhooks"),o(".")])]),e("h2",{id:"creating-webhooks"},[o("Creating Webhooks "),e("a",{class:"header-anchor",href:"#creating-webhooks"},"#")]),e("ol",null,[e("li",null,[o("Navigate to "),e("strong",null,[o("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),o(" Webhooks")])]),e("li",null,[o("Click "),e("span",{mi:"",btn:""},"add"),o(" in the header")]),e("li",null,[o("Complete the "),e("strong",null,"other webhook form fields"),o(" outlined below")])]),e("ul",null,[e("li",null,[e("strong",null,"Name"),o(" \u2014 A name to help remember this webhooks purpose")]),e("li",null,[e("strong",null,"Method"),o(" \u2014 Send as either a HTTP "),e("code",{class:""},"GET"),o(" or "),e("code",{class:""},"POST"),o(" request")]),e("li",null,[e("strong",null,"URL"),o(" \u2014 The URL to send the request to")]),e("li",null,[e("strong",null,"Status"),o(" \u2014 Whether the webhook is active (enabled) or inactive (disabled)")]),e("li",null,[e("strong",null,"Data"),o(" \u2014 Whether the event\u2019s data should be sent along with the request")]),e("li",null,[e("strong",null,"Request Headers"),o(" \u2014 Custom headers that will be added to the webhook request")]),e("li",null,[e("strong",null,"Trigger Actions"),o(" \u2014 The specific actions that will trigger the event")]),e("li",null,[e("strong",null,"Trigger Collections"),o(" \u2014 The specific collections for which the above actions will trigger events")])]),e("h2",{id:"disabling-webhooks"},[o("Disabling Webhooks "),e("a",{class:"header-anchor",href:"#disabling-webhooks"},"#")]),e("ol",null,[e("li",null,[o("Navigate to "),e("strong",null,[o("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),o(" Webhooks "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),o(" [Webhook]")])]),e("li",null,[o("Set the "),e("strong",null,"status field to inactive")])]),e("h2",{id:"deleting-webhooks"},[o("Deleting Webhooks "),e("a",{class:"header-anchor",href:"#deleting-webhooks"},"#")]),e("ol",null,[e("li",null,[o("Navigate to "),e("strong",null,[o("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),o(" Webhooks "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),o(" [Webhook]")])]),e("li",null,[o("Click "),e("span",{mi:"",btn:"",dngr:""},"delete"),o(" in the header")]),e("li",null,[o("Confirm this decision by clicking "),e("strong",null,"Delete"),o(" in the dialog")])]),e("div",{class:"danger hint"},[e("div",{class:"hint-title"},"Irreversible Change"),e("p",null,"This action is permanent and can not be undone. Please proceed with caution.")])],-1),c={title:"Webhooks",modularExtension:!1},d={name:"webhooks",setup(u,{expose:t}){return t({frontmatter:{title:"Webhooks",modularExtension:!1}}),(g,b)=>{const l=i("docswrapper");return s(),r(l,{frontmatter:c},{default:a(()=>[h]),_:1})}}};typeof n=="function"&&n(d);export{d as default,c as frontmatter};
|