@directus/app 9.20.4 → 9.21.2
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.7480601b.entry.js +1 -0
- package/dist/assets/{accounts.8d02a534.js → accounts.00ff05b9.js} +1 -1
- package/dist/assets/active-line.cc9189df.js +1 -0
- package/dist/assets/{activity-log.957853bb.js → activity-log.c1a2e5a3.js} +1 -1
- package/dist/assets/{activity.58bbe1c2.js → activity.7112cbee.js} +1 -1
- package/dist/assets/add-a-recipe.51bd348b.js +1 -0
- package/dist/assets/apl.1621a749.js +1 -0
- package/dist/assets/ar-SA.9ddb3ade.js +2 -0
- package/dist/assets/{architecture.0ded5b28.js → architecture.b7c26a3b.js} +1 -1
- package/dist/assets/asciiarmor.e1fbcb0f.js +1 -0
- package/dist/assets/asn.1.2c8391be.js +1 -0
- package/dist/assets/asterisk.96d854f7.js +1 -0
- package/dist/assets/{authentication.5b7d5fa7.js → authentication.27557f4f.js} +5 -5
- package/dist/assets/autorefresh.1aa0c08c.js +1 -0
- package/dist/assets/{aws.890dfda5.js → aws.ea312e0b.js} +1 -1
- package/dist/assets/{backing-directus.7f54a4af.js → backing-directus.890b9c33.js} +1 -1
- package/dist/assets/basic-workflows.8f3fd328.js +1 -0
- package/dist/assets/{bn-IN.7fa1e9d9.js → bn-IN.598e11ba.js} +1 -1
- package/dist/assets/brainfuck.952f0867.js +1 -0
- package/dist/assets/build-a-content-hierarchy.41daeccc.js +97 -0
- package/dist/assets/{cli.bf0b2442.js → cli.45e9e9c9.js} +2 -2
- package/dist/assets/{cli.4e995657.js → cli.5531b0c6.js} +4 -4
- package/dist/assets/clike.f871e0ce.js +1 -0
- package/dist/assets/clojure.dfb2a0aa.js +1 -0
- package/dist/assets/{cloudron.0a16f34b.js → cloudron.258380cb.js} +1 -1
- package/dist/assets/cmake.594f5b32.js +1 -0
- package/dist/assets/cobol.d45d2d27.js +1 -0
- package/dist/assets/{codebase-overview.2ba91a80.js → codebase-overview.91c7de8c.js} +1 -1
- package/dist/assets/coffeescript.4eedbbb9.js +1 -0
- package/dist/assets/{collections.ea858bf6.js → collections.61f6b248.js} +3 -3
- package/dist/assets/{collections.2a61805a.js → collections.7a3b1972.js} +2 -2
- package/dist/assets/{collections.7fa07fe7.js → collections.b4a89731.js} +2 -2
- package/dist/assets/commonlisp.69abac6b.js +1 -0
- package/dist/assets/{conditions.32339903.js → conditions.ef847cae.js} +1 -1
- package/dist/assets/{config-options.53449c2c.js → config-options.86135d5b.js} +12 -12
- package/dist/assets/configure-user-registration.43d439a1.js +1 -0
- package/dist/assets/{content.18716bf7.js → content.62c8fe47.js} +1 -1
- package/dist/assets/{creating-extensions.0a6d6d3b.js → creating-extensions.65b17dfe.js} +3 -3
- package/dist/assets/crystal.bfce7e90.js +1 -0
- package/dist/assets/css.2ea5f0dd.js +1 -0
- package/dist/assets/cypher.a8be90c4.js +4 -0
- package/dist/assets/d.970bc6c0.js +1 -0
- package/dist/assets/dart.c20a75fc.js +1 -0
- package/dist/assets/{data-model.b5eb7565.js → data-model.86dfb86e.js} +3 -3
- package/dist/assets/de-DE.590d3c70.js +1 -0
- package/dist/assets/diff.83efcafe.js +1 -0
- package/dist/assets/{digitalocean-app-platform.4063d6cc.js → digitalocean-app-platform.cbd270c2.js} +2 -2
- package/dist/assets/{display-templates.65a9b519.js → display-templates.3da93597.js} +1 -1
- package/dist/assets/display.7dbfefd3.js +1 -0
- package/dist/assets/{displays.b72d546c.js → displays.7de6431d.js} +5 -5
- package/dist/assets/django.16d84d07.js +1 -0
- package/dist/assets/{docker.ae6227ab.js → docker.415a4af1.js} +1 -1
- package/dist/assets/dockerfile.50ad5737.js +1 -0
- package/dist/assets/{documentation.6628aaac.js → documentation.42b788f9.js} +1 -1
- package/dist/assets/dtd.b44f327f.js +1 -0
- package/dist/assets/dylan.e71cf0e1.js +1 -0
- package/dist/assets/ebnf.b67ca2a8.js +1 -0
- package/dist/assets/ecl.a694637b.js +1 -0
- package/dist/assets/eiffel.8a8cdbc6.js +1 -0
- package/dist/assets/el-GR.c0a3a0bf.js +1 -0
- package/dist/assets/elm.e174f3d7.js +1 -0
- package/dist/assets/{email-templates.5e1b5472.js → email-templates.dc238bec.js} +1 -1
- package/dist/assets/{endpoints.44874916.js → endpoints.c3e9ad6d.js} +1 -1
- package/dist/assets/erlang.9b90684f.js +1 -0
- package/dist/assets/es-MX.30ad99ae.js +1 -0
- package/dist/assets/{extensions.9790f6ff.js → extensions.a5e33cc9.js} +1 -1
- package/dist/assets/factor.fc03459f.js +1 -0
- package/dist/assets/{faq.0fd5ca6e.js → faq.5be12255.js} +2 -2
- package/dist/assets/fcl.5f56a413.js +1 -0
- package/dist/assets/{field-types.e5bd5900.js → field-types.acf0e140.js} +1 -1
- package/dist/assets/{field.b9b55fc2.js → field.b9a392a5.js} +1 -1
- package/dist/assets/{fields.fc8af154.js → fields.49dc9c06.js} +1 -1
- package/dist/assets/{fields.7df6f624.js → fields.ec401376.js} +1 -1
- package/dist/assets/{file-library.7a11d866.js → file-library.099ad14e.js} +1 -1
- package/dist/assets/{files.84b41f2f.js → files.53806aa8.js} +2 -2
- package/dist/assets/{filter-rules.099e9689.js → filter-rules.6293da5a.js} +4 -4
- package/dist/assets/{filters.98d31bd5.js → filters.52d6e673.js} +1 -1
- package/dist/assets/flows-for-loop.c0d96bfd.js +1 -0
- package/dist/assets/{flows.b6ebb4b6.js → flows.4a144234.js} +6 -6
- package/dist/assets/{flows.2646c3ae.js → flows.bd12c724.js} +2 -2
- package/dist/assets/{folders.35cfde90.js → folders.eca400c9.js} +5 -5
- package/dist/assets/forth.15fd7f42.js +1 -0
- package/dist/assets/fortran.1ff32443.js +1 -0
- package/dist/assets/fr-FR.d8dbf5de.js +1 -0
- package/dist/assets/gas.58e29d15.js +1 -0
- package/dist/assets/{gcp.ce76381f.js → gcp.7798a1d4.js} +5 -5
- package/dist/assets/generate-work-reports.682b3aa0.js +1 -0
- package/dist/assets/gfm.bac67f82.js +1 -0
- package/dist/assets/gherkin.55ae80a8.js +1 -0
- package/dist/assets/{github-ci.b4dde47f.js → github-ci.c2c0213a.js} +2 -2
- package/dist/assets/{glossary.930fe38e.js → glossary.5818cbf2.js} +1 -1
- package/dist/assets/{glossary.3b14c64d.js → glossary.86dfcaa5.js} +1 -1
- package/dist/assets/go.0ba144bf.js +1 -0
- package/dist/assets/groovy.d6e7c99f.js +1 -0
- package/dist/assets/haml.1235f7df.js +1 -0
- package/dist/assets/handlebars.ff4e52b8.js +1 -0
- package/dist/assets/haskell-literate.31bd2912.js +1 -0
- package/dist/assets/haskell.7e315eae.js +1 -0
- package/dist/assets/haxe.89c17af0.js +1 -0
- package/dist/assets/{hooks.b9909639.js → hooks.121520b6.js} +1 -1
- package/dist/assets/htmlembedded.133b6fc4.js +1 -0
- package/dist/assets/{htmlmixed.a7900839.js → htmlmixed.5302f41a.js} +1 -1
- package/dist/assets/htmlmixed.655b4687.js +1 -0
- package/dist/assets/http.3e53c321.js +1 -0
- package/dist/assets/hu-HU.9b5d2817.js +1 -0
- package/dist/assets/id-ID.626b885e.js +1 -0
- package/dist/assets/idl.e221918d.js +1 -0
- package/dist/assets/{iis.63d75601.js → iis.c623e90b.js} +1 -1
- package/dist/assets/{import-export.fe680598.js → import-export.ed35bdb2.js} +2 -2
- package/dist/assets/{index.ffcfdc79.js → index.04b73e2f.js} +1 -1
- package/dist/assets/{index.3ccb1a62.js → index.09845961.js} +1 -1
- package/dist/assets/{index.671547c3.js → index.130287f6.js} +1 -1
- package/dist/assets/{index.20179e31.js → index.1ba23fe5.js} +1 -1
- package/dist/assets/{index.f19e5b18.js → index.1f330fc3.js} +1 -1
- package/dist/assets/{index.7f210d25.js → index.24999c03.js} +1 -1
- package/dist/assets/{index.7c5199ad.js → index.330c3aee.js} +1 -1
- package/dist/assets/{index.549a82a6.js → index.3470f134.js} +1 -1
- package/dist/assets/{index.a6c65314.js → index.4044e5c7.js} +1 -1
- package/dist/assets/{index.764b9d6e.js → index.4706b3f5.js} +1 -1
- package/dist/assets/{index.875a771b.js → index.4b24f075.js} +1 -1
- package/dist/assets/{index.6949d989.js → index.4c6e76b7.js} +1 -1
- package/dist/assets/{index.0d7f4d79.js → index.522f44b0.js} +1 -1
- package/dist/assets/{index.1c9cfeb8.js → index.525d8fd8.js} +1 -1
- package/dist/assets/{index.d8e4727e.js → index.528e4b54.js} +1 -1
- package/dist/assets/{index.d9e48160.js → index.52a4297c.js} +1 -1
- package/dist/assets/{index.34c47fcf.js → index.530fd584.js} +1 -1
- package/dist/assets/{index.91e98759.js → index.546018df.js} +1 -1
- package/dist/assets/{index.d557b36c.js → index.57542755.js} +1 -1
- package/dist/assets/{index.aa66a39f.js → index.579d3ebd.js} +1 -1
- package/dist/assets/{index.425c965c.js → index.5a8952da.js} +1 -1
- package/dist/assets/{index.9b6db0de.js → index.5cf97c2b.js} +1 -1
- package/dist/assets/{index.08c5d5a2.js → index.6b77e807.js} +1 -1
- package/dist/assets/{index.393b7fd6.js → index.6bf3a163.js} +1 -1
- package/dist/assets/{index.fe4bc374.js → index.6c07a132.js} +1 -1
- package/dist/assets/{index.1f99dc82.js → index.6c4fabf1.js} +1 -1
- package/dist/assets/{index.7468a23c.js → index.6fa71870.js} +1 -1
- package/dist/assets/{index.8fb3c07f.js → index.7045dfad.js} +1 -1
- package/dist/assets/{index.c3959367.js → index.77b8f02e.js} +1 -1
- package/dist/assets/{index.62e48e8e.js → index.7943fd38.js} +1 -1
- package/dist/assets/{index.ac96f5b3.js → index.7c5b74dc.js} +1 -1
- package/dist/assets/{index.f32d0fbe.js → index.7de5db57.js} +1 -1
- package/dist/assets/{index.8aa50b59.js → index.7e90d361.js} +1 -1
- package/dist/assets/{index.2399ffb8.js → index.7edb8b15.js} +1 -1
- package/dist/assets/{index.d370fafd.js → index.7fcf2b86.js} +1 -1
- package/dist/assets/{index.5c5acddc.js → index.80106d2d.js} +1 -1
- package/dist/assets/{index.8b8e6073.js → index.804b3c9b.js} +1 -1
- package/dist/assets/{index.5264aa26.js → index.8063dc25.js} +1 -1
- package/dist/assets/{index.eb772cab.js → index.81a02f8c.js} +1 -1
- package/dist/assets/{index.38e5dfc6.js → index.81d5b763.js} +1 -1
- package/dist/assets/{index.7269b9b7.js → index.8200528c.js} +1 -1
- package/dist/assets/{index.00acb7aa.js → index.82939b3a.js} +1 -1
- package/dist/assets/{index.d024a491.js → index.8446e18c.js} +1 -1
- package/dist/assets/index.87afb869.js +1 -0
- package/dist/assets/index.8d15d209.css +1 -0
- package/dist/assets/{index.7e37814b.js → index.92f59a75.js} +1 -1
- package/dist/assets/{index.3abfd687.js → index.98cb4ee1.js} +1 -1
- package/dist/assets/{index.3d4f0091.css → index.9bdfd349.css} +1 -1
- package/dist/assets/{index.486669b9.js → index.9d2fbf00.js} +1 -1
- package/dist/assets/{index.ec87e7f6.js → index.9dfe292c.js} +1 -1
- package/dist/assets/{index.4ce96101.js → index.a1b7be9b.js} +1 -1
- package/dist/assets/{index.1b594a21.js → index.a5356d91.js} +1 -1
- package/dist/assets/{index.b67fb5fc.js → index.ab4e5ca3.js} +1 -1
- package/dist/assets/{index.f511aff3.js → index.ab7b6cba.js} +1 -1
- package/dist/assets/{index.578c30ec.js → index.ac6c3fe9.js} +1 -1
- package/dist/assets/{index.5062f951.js → index.adc560cb.js} +1 -1
- package/dist/assets/index.ae2066f9.js +26 -0
- package/dist/assets/{index.045e97f0.js → index.ae4bf6ea.js} +1 -1
- package/dist/assets/{index.9f69b190.js → index.aeaa0aa9.js} +1 -1
- package/dist/assets/{index.8b9e43f4.js → index.afc6b30e.js} +1 -1
- package/dist/assets/{index.23def130.js → index.b02dbd39.js} +1 -1
- package/dist/assets/{index.3cb24d7f.js → index.b391672d.js} +1 -1
- package/dist/assets/{index.19a506a0.js → index.b503f187.js} +1 -1
- package/dist/assets/{index.a88d2d0b.js → index.b7113e87.js} +1 -1
- package/dist/assets/{index.7bb84aa5.js → index.c156c46e.js} +1 -1
- package/dist/assets/{index.68337c85.js → index.c5e16ef6.js} +1 -1
- package/dist/assets/{index.45686201.js → index.c85c3f77.js} +1 -1
- package/dist/assets/{index.03886e4a.js → index.cb7799d1.js} +1 -1
- package/dist/assets/{index.eb4d5cbc.js → index.cb93c1e8.js} +1 -1
- package/dist/assets/index.cd3542f6.js +1 -0
- package/dist/assets/{index.dc4d9b6a.js → index.d0d998a0.js} +1 -1
- package/dist/assets/{index.c2858d95.js → index.d790d684.js} +1 -1
- package/dist/assets/{index.a264494d.js → index.dc9006a1.js} +1 -1
- package/dist/assets/{index.8130aabc.js → index.e3619b04.js} +1 -1
- package/dist/assets/{index.ab5ebdc3.js → index.e4224764.js} +1 -1
- package/dist/assets/{index.426d219b.js → index.e5079c3a.js} +1 -1
- package/dist/assets/{index.90ecf353.js → index.e6971ab1.js} +1 -1
- package/dist/assets/{index.b2e447e3.js → index.e85bc569.js} +1 -1
- package/dist/assets/{index.42614221.js → index.e95b7e4b.js} +1 -1
- package/dist/assets/{index.0608a502.js → index.ec8cfaac.js} +1 -1
- package/dist/assets/{index.b0e3c55c.js → index.f2e26d1f.js} +1 -1
- package/dist/assets/{index.eecb0d4b.js → index.f60d22d0.js} +1 -1
- package/dist/assets/{index.a8b94b31.js → index.f828781f.js} +1 -1
- package/dist/assets/{index.f047ba76.entry.js → index.f8fd6ee3.entry.js} +2691 -2690
- package/dist/assets/{index.2b61f9fb.js → index.fb6b1657.js} +1 -1
- package/dist/assets/{index.9c4a7f65.js → index.fb8023b0.js} +1 -1
- package/dist/assets/{index.79264a03.js → index.fe536421.js} +1 -1
- package/dist/assets/{input-rich-text-html.7e721a60.js → input-rich-text-html.1b13024b.js} +30 -30
- package/dist/assets/{insights.bb6e6dd9.js → insights.6190eebc.js} +2 -2
- package/dist/assets/{installation.a80b7bdd.js → installation.6e591be8.js} +1 -1
- package/dist/assets/{interface.6b3d318d.js → interface.5ec8ca7e.js} +1 -1
- package/dist/assets/{interfaces.9c9cb203.js → interfaces.81902e8c.js} +4 -4
- package/dist/assets/{introduction.23bcca02.js → introduction.15496522.js} +1 -1
- package/dist/assets/{introduction.17ce0958.js → introduction.2f7199ad.js} +4 -4
- package/dist/assets/{introduction.74d5f276.js → introduction.c61e67d2.js} +1 -1
- package/dist/assets/{introduction.2b473cdb.js → introduction.efd590eb.js} +1 -1
- package/dist/assets/{items.d9558b12.js → items.6012bbd1.js} +1 -1
- package/dist/assets/{items.a200a734.js → items.904356b8.js} +5 -5
- package/dist/assets/javascript-hint.199abe65.js +1 -0
- package/dist/assets/javascript.705102e7.js +1 -0
- package/dist/assets/jinja2.876b8944.js +1 -0
- package/dist/assets/jsx.b818cda0.js +1 -0
- package/dist/assets/julia.cfb3ddf7.js +1 -0
- package/dist/assets/{layouts.67e010c3.js → layouts.50df5631.js} +1 -1
- package/dist/assets/{layouts.71139077.js → layouts.befbdcf8.js} +3 -3
- package/dist/assets/livescript.c806b66f.js +1 -0
- package/dist/assets/lua.bc0ae13c.js +1 -0
- package/dist/assets/{manual.be26c257.js → manual.26a85d2d.js} +4 -4
- package/dist/assets/mark-selection.bae469e3.js +1 -0
- package/dist/assets/match-highlighter.91a1ef15.js +1 -0
- package/dist/assets/{matchbrackets.e0f8c83a.js → matchbrackets.7a78411c.js} +1 -1
- package/dist/assets/mathematica.d2affb5f.js +1 -0
- package/dist/assets/mbox.c5ac45db.js +1 -0
- package/dist/assets/{migrations.58c8fd96.js → migrations.ea7075a2.js} +1 -1
- package/dist/assets/mirc.56d52081.js +1 -0
- package/dist/assets/mllike.20808ac2.js +1 -0
- package/dist/assets/modelica.5b43a6c9.js +1 -0
- package/dist/assets/{modules.0cfbe882.js → modules.7d28228b.js} +3 -3
- package/dist/assets/mscgen.5e9e2653.js +1 -0
- package/dist/assets/multi-sig-data-access.ddc3e687.js +1 -0
- package/dist/assets/multiplex.db4b19a1.js +3 -0
- package/dist/assets/mumps.35d30d83.js +1 -0
- package/dist/assets/nginx.503d686c.js +1 -0
- package/dist/assets/nl-NL.586911c8.js +1 -0
- package/dist/assets/{notifications.7b442623.js → notifications.26a8e535.js} +11 -11
- package/dist/assets/nsis.94e55abf.js +1 -0
- package/dist/assets/ntriples.ed05a2ae.js +1 -0
- package/dist/assets/octave.2e3cb27d.js +1 -0
- package/dist/assets/{operations.bd173669.js → operations.470e68ea.js} +11 -11
- package/dist/assets/{operations.30bbad94.js → operations.bdd544da.js} +2 -2
- package/dist/assets/{operations.6fcceb98.js → operations.cdb45c4e.js} +3 -3
- package/dist/assets/overlay.3f3f0599.js +1 -0
- package/dist/assets/{overview.23ad824a.js → overview.2fc175dd.js} +1 -1
- package/dist/assets/{overview.4c1683c3.js → overview.8e4d2c9b.js} +1 -1
- package/dist/assets/{overview.cb1196c4.js → overview.eb4b9326.js} +1 -1
- package/dist/assets/oz.97cc1ac9.js +1 -0
- package/dist/assets/{panels.187b8f0d.js → panels.ca5d230c.js} +2 -2
- package/dist/assets/pascal.f8c86cda.js +1 -0
- package/dist/assets/pegjs.97bb1322.js +1 -0
- package/dist/assets/perl.d9a95eca.js +1 -0
- package/dist/assets/permissions.081923f1.js +1 -0
- package/dist/assets/{permissions.2ad2e118.js → permissions.a09bb478.js} +4 -4
- package/dist/assets/personal-portfolio-using-m2a.5e30e6cc.js +11 -0
- package/dist/assets/php.89c2f9f7.js +1 -0
- package/dist/assets/pig.46306f9f.js +1 -0
- package/dist/assets/{pinia.24c7b35a.entry.js → pinia.0d44ec62.entry.js} +2 -2
- package/dist/assets/{pl-PL.2863a1a1.js → pl-PL.01cf6aca.js} +1 -1
- package/dist/assets/{plesk.279941fc.js → plesk.297b28ec.js} +5 -5
- package/dist/assets/powershell.7f59ea0d.js +1 -0
- package/dist/assets/{presets-bookmarks.62ac9314.js → presets-bookmarks.d7ef4b82.js} +1 -1
- package/dist/assets/{presets.0390ff92.js → presets.4ea72a6c.js} +8 -8
- package/dist/assets/{project-settings.8b91aa04.js → project-settings.073c480f.js} +1 -1
- package/dist/assets/{projects.97bc15fa.js → projects.667d06ab.js} +1 -1
- package/dist/assets/properties.b2e9e7dd.js +1 -0
- package/dist/assets/protobuf.a57768d6.js +1 -0
- package/dist/assets/pt-BR.2c2e8c4f.js +1 -0
- package/dist/assets/pug.11a0bdc8.js +1 -0
- package/dist/assets/puppet.768fa863.js +1 -0
- package/dist/assets/python.8b6df896.js +1 -0
- package/dist/assets/q.f71e2fb3.js +1 -0
- package/dist/assets/{query.19ee7756.js → query.91f32b7a.js} +1 -1
- package/dist/assets/{quickstart.96d7fa17.js → quickstart.54f032fc.js} +3 -3
- package/dist/assets/{quickstart.7f55e26e.js → quickstart.6a82ef4b.js} +2 -2
- package/dist/assets/r.a9a4ca12.js +1 -0
- package/dist/assets/{readme.abb2691e.js → readme.84bd1090.js} +1 -1
- package/dist/assets/{relations.1409faa0.js → relations.c63ae4da.js} +6 -6
- package/dist/assets/{relationship.8e3bc45d.js → relationship.01468083.js} +1 -1
- package/dist/assets/{relationships.2449eed5.js → relationships.d7b51fda.js} +7 -7
- package/dist/assets/{resources.f9b64d6f.js → resources.f9cebdba.js} +1 -1
- package/dist/assets/{revisions.7ffa76fe.js → revisions.f2bf9393.js} +4 -4
- package/dist/assets/ro-RO.4c33f715.js +1 -0
- package/dist/assets/{roles.ce6518a4.js → roles.554cdf0e.js} +7 -7
- package/dist/assets/roles.b34bd4b0.js +1 -0
- package/dist/assets/rpm.e5811a72.js +1 -0
- package/dist/assets/rst.4b01b126.js +1 -0
- package/dist/assets/ruby.2ba33d98.js +1 -0
- package/dist/assets/{ruby.57265cfb.js → ruby.e8984a81.js} +1 -1
- package/dist/assets/{running-locally.8b135453.js → running-locally.d2e38f5e.js} +6 -6
- package/dist/assets/runtime-core.esm-bundler.22ec0346.js +1 -0
- package/dist/assets/rust.531e50f1.js +1 -0
- package/dist/assets/sas.48362a0b.js +1 -0
- package/dist/assets/sass.bf4a8b44.js +1 -0
- package/dist/assets/{schema.6649576e.js → schema.fefe36d2.js} +1 -1
- package/dist/assets/scheme.09b14856.js +1 -0
- package/dist/assets/{sdk.33dcc072.js → sdk.1c1b1a8b.js} +17 -17
- package/dist/assets/{security.acb2be94.js → security.59975f74.js} +1 -1
- package/dist/assets/{server.60bfa539.js → server.ef4017d1.js} +2 -2
- package/dist/assets/{settings.a00aa4fa.js → settings.1aa8422b.js} +1 -1
- package/dist/assets/{settings.6ac3895b.js → settings.574bbb58.js} +1 -1
- package/dist/assets/{shares.9a7ea736.js → shares.7727bd4c.js} +1 -1
- package/dist/assets/shell.d1dbda55.js +1 -0
- package/dist/assets/show-hint.57ea873d.js +1 -0
- package/dist/assets/sieve.1a25767a.js +1 -0
- package/dist/assets/slim.e018ac1a.js +1 -0
- package/dist/assets/slugify-text-with-run-script.7c3cc2c4.js +15 -0
- package/dist/assets/smalltalk.0ccfbb10.js +1 -0
- package/dist/assets/smarty.b91d67c6.js +1 -0
- package/dist/assets/solr.dd29f408.js +1 -0
- package/dist/assets/soy.4e5bb4c1.js +1 -0
- package/dist/assets/sparql.cc878993.js +1 -0
- package/dist/assets/spreadsheet.4aefd96f.js +1 -0
- package/dist/assets/sql.64eab1fa.js +1 -0
- package/dist/assets/{sso-examples.eb3ba478.js → sso-examples.873240f6.js} +2 -2
- package/dist/assets/{sso.29d67116.js → sso.1a6b3ff0.js} +4 -4
- package/dist/assets/stex.2fdfddd4.js +1 -0
- package/dist/assets/{stex.a70dfdc0.js → stex.d01c95b1.js} +1 -1
- package/dist/assets/stylus.6d056ddf.js +1 -0
- package/dist/assets/{support.e9e535b3.js → support.87c6b5f6.js} +1 -1
- package/dist/assets/swift.76d77aff.js +1 -0
- package/dist/assets/tcl.3d53e7a7.js +1 -0
- package/dist/assets/{teams.347f0563.js → teams.d555eea3.js} +1 -1
- package/dist/assets/template_shell.96150c63.js +1 -0
- package/dist/assets/textile.4fa0ef27.js +1 -0
- package/dist/assets/{themes.32a50b86.js → themes.3a8f5b79.js} +2 -2
- package/dist/assets/tiddlywiki.7c0678e2.js +1 -0
- package/dist/assets/tiki.63b47d4f.js +1 -0
- package/dist/assets/toml.687ac678.js +1 -0
- package/dist/assets/tornado.9caaed61.js +1 -0
- package/dist/assets/{translation-strings.285d6bb2.js → translation-strings.c2e90e96.js} +1 -1
- package/dist/assets/translations.c1633bc8.js +1 -0
- package/dist/assets/{translations.f87a601e.js → translations.d4671c3a.js} +1 -1
- package/dist/assets/{triggers.325e50d8.js → triggers.c58cde75.js} +1 -1
- package/dist/assets/troff.65641cfa.js +1 -0
- package/dist/assets/ttcn-cfg.66abf94b.js +1 -0
- package/dist/assets/ttcn.cdbdbc10.js +1 -0
- package/dist/assets/turtle.30f5acd6.js +1 -0
- package/dist/assets/twig.76882629.js +1 -0
- package/dist/assets/{ubuntu.3ba252fe.js → ubuntu.74c798e5.js} +2 -2
- package/dist/assets/uk-UA.fe247137.js +1 -0
- package/dist/assets/{upgrades-migrations.a091b8af.js → upgrades-migrations.73d4da9b.js} +1 -1
- package/dist/assets/{use-sync.d9160f34.js → use-sync.e83d9ab3.js} +3 -3
- package/dist/assets/{user-directory.9ca05985.js → user-directory.2ceb13ba.js} +1 -1
- package/dist/assets/{users-roles-permissions.bb71f6c9.js → users-roles-permissions.a3e2d048.js} +1 -1
- package/dist/assets/{users.a44125e3.js → users.5e316cce.js} +1 -1
- package/dist/assets/users.6e0f9ff9.js +1 -0
- package/dist/assets/{utilities.0380c496.js → utilities.3e4e57c9.js} +7 -7
- package/dist/assets/validation.5eb143cd.js +1 -0
- package/dist/assets/vb.6ca2d658.js +1 -0
- package/dist/assets/vbscript.c9f7cdd8.js +1 -0
- package/dist/assets/velocity.f8f37fc1.js +1 -0
- package/dist/assets/verilog.5cadf8f9.js +1 -0
- package/dist/assets/vhdl.46742c88.js +1 -0
- package/dist/assets/vi-VN.7f9cab4b.js +1 -0
- package/dist/assets/{vue-i18n.df8d89e7.entry.js → vue-i18n.fbc77449.entry.js} +1 -1
- package/dist/assets/vue-router.3a828e63.entry.js +5 -0
- package/dist/assets/vue.425bdf79.js +1 -0
- package/dist/assets/vue.486f3e62.entry.js +1 -0
- package/dist/assets/vue.runtime.esm-bundler.f6138180.js +1 -0
- package/dist/assets/wast.7b52bae5.js +1 -0
- package/dist/assets/{webhooks.40d9a7a3.js → webhooks.121861b0.js} +4 -4
- package/dist/assets/{webhooks.2d23be4c.js → webhooks.af8dfb63.js} +1 -1
- package/dist/assets/webidl.0a6cdd93.js +1 -0
- package/dist/assets/{xml.ea66d5f3.js → xml.8dec85cf.js} +1 -1
- package/dist/assets/xquery.c295ca3d.js +1 -0
- package/dist/assets/yacas.dca8e311.js +1 -0
- package/dist/assets/yaml-frontmatter.ccdcb23a.js +1 -0
- package/dist/assets/yaml.f22fdd75.js +1 -0
- package/dist/assets/z80.da8cf83c.js +1 -0
- package/dist/assets/zh-CN.6fd4ae3a.js +1 -0
- package/dist/index.html +8 -8
- package/package.json +58 -71
- package/dist/assets/@directus_extensions-sdk.fd0e4213.entry.js +0 -1
- package/dist/assets/active-line.9ef493aa.js +0 -1
- package/dist/assets/apl.80228b26.js +0 -1
- package/dist/assets/ar-SA.c5ee16de.js +0 -2
- package/dist/assets/asciiarmor.6c86ea34.js +0 -1
- package/dist/assets/asn.1.c414ac8d.js +0 -1
- package/dist/assets/asterisk.b919c017.js +0 -1
- package/dist/assets/autorefresh.4d24f530.js +0 -1
- package/dist/assets/brainfuck.31207812.js +0 -1
- package/dist/assets/clike.4381bb65.js +0 -1
- package/dist/assets/clike.70f54732.js +0 -1
- package/dist/assets/clojure.5e71b148.js +0 -1
- package/dist/assets/cmake.4292630d.js +0 -1
- package/dist/assets/cobol.0f026188.js +0 -1
- package/dist/assets/coffeescript.c9867ce1.js +0 -1
- package/dist/assets/commonlisp.575f73fb.js +0 -1
- package/dist/assets/crystal.c6b2e074.js +0 -1
- package/dist/assets/css.68e5f1b4.js +0 -1
- package/dist/assets/cypher.b9a2a2ff.js +0 -4
- package/dist/assets/d.29704d27.js +0 -1
- package/dist/assets/dart.3bc9103c.js +0 -1
- package/dist/assets/de-DE.1232afb9.js +0 -1
- package/dist/assets/diff.ed5ea48e.js +0 -1
- package/dist/assets/display.4a967445.js +0 -1
- package/dist/assets/django.a4f2e396.js +0 -1
- package/dist/assets/dockerfile.63d471ed.js +0 -1
- package/dist/assets/dtd.a3075452.js +0 -1
- package/dist/assets/dylan.f084efb3.js +0 -1
- package/dist/assets/ebnf.04f6993f.js +0 -1
- package/dist/assets/ecl.716928e4.js +0 -1
- package/dist/assets/eiffel.adac2439.js +0 -1
- package/dist/assets/el-GR.99b9567f.js +0 -1
- package/dist/assets/elm.79decf86.js +0 -1
- package/dist/assets/erlang.3a8664fd.js +0 -1
- package/dist/assets/es-MX.1c06907f.js +0 -1
- package/dist/assets/factor.5720b335.js +0 -1
- package/dist/assets/fcl.23169462.js +0 -1
- package/dist/assets/forth.0aa4b2af.js +0 -1
- package/dist/assets/fortran.2a5ba2e9.js +0 -1
- package/dist/assets/fr-FR.fa3f9dfa.js +0 -1
- package/dist/assets/gas.bb020a68.js +0 -1
- package/dist/assets/gfm.ab87931a.js +0 -1
- package/dist/assets/gherkin.14ad5708.js +0 -1
- package/dist/assets/go.db54967b.js +0 -1
- package/dist/assets/groovy.70142c17.js +0 -1
- package/dist/assets/haml.48d17fa5.js +0 -1
- package/dist/assets/handlebars.99f3b281.js +0 -1
- package/dist/assets/haskell-literate.dd8055d7.js +0 -1
- package/dist/assets/haskell.5163bc39.js +0 -1
- package/dist/assets/haxe.c37e45b0.js +0 -1
- package/dist/assets/htmlembedded.259e134c.js +0 -1
- package/dist/assets/htmlmixed.d4ccede2.js +0 -1
- package/dist/assets/http.c2a41932.js +0 -1
- package/dist/assets/hu-HU.b086156a.js +0 -1
- package/dist/assets/id-ID.30858185.js +0 -1
- package/dist/assets/idl.756f9381.js +0 -1
- package/dist/assets/index.4ce1e26c.js +0 -1
- package/dist/assets/index.90515a60.css +0 -1
- package/dist/assets/index.a36c94c4.js +0 -1
- package/dist/assets/index.c781a7ba.js +0 -26
- package/dist/assets/javascript-hint.edf0fbfe.js +0 -1
- package/dist/assets/javascript.3f76a939.js +0 -1
- package/dist/assets/jinja2.5ece3da1.js +0 -1
- package/dist/assets/jsx.bf843278.js +0 -1
- package/dist/assets/julia.3deacccb.js +0 -1
- package/dist/assets/livescript.0f4ee94d.js +0 -1
- package/dist/assets/lua.55a0ef58.js +0 -1
- package/dist/assets/mark-selection.c61be770.js +0 -1
- package/dist/assets/match-highlighter.653539e4.js +0 -1
- package/dist/assets/mathematica.581f102c.js +0 -1
- package/dist/assets/mbox.b8d42368.js +0 -1
- package/dist/assets/mirc.54d6f3dc.js +0 -1
- package/dist/assets/mllike.3fea0214.js +0 -1
- package/dist/assets/modelica.e91f192a.js +0 -1
- package/dist/assets/mscgen.26838643.js +0 -1
- package/dist/assets/multiplex.93cf07bd.js +0 -3
- package/dist/assets/mumps.47e48202.js +0 -1
- package/dist/assets/nginx.87019c99.js +0 -1
- package/dist/assets/nl-NL.277f5ed5.js +0 -1
- package/dist/assets/nsis.fafee21f.js +0 -1
- package/dist/assets/ntriples.a43258b6.js +0 -1
- package/dist/assets/octave.1f682cef.js +0 -1
- package/dist/assets/overlay.a2442f5e.js +0 -1
- package/dist/assets/oz.62b729b0.js +0 -1
- package/dist/assets/pascal.0fa9599a.js +0 -1
- package/dist/assets/pegjs.32083f8f.js +0 -1
- package/dist/assets/perl.5a777d8c.js +0 -1
- package/dist/assets/php.c6ab96f7.js +0 -1
- package/dist/assets/pig.2c7c4277.js +0 -1
- package/dist/assets/powershell.e6b0a933.js +0 -1
- package/dist/assets/properties.35c2d705.js +0 -1
- package/dist/assets/protobuf.625d3a47.js +0 -1
- package/dist/assets/pt-BR.c51763f3.js +0 -1
- package/dist/assets/pug.da3530b5.js +0 -1
- package/dist/assets/puppet.655afe2c.js +0 -1
- package/dist/assets/python.a67d678a.js +0 -1
- package/dist/assets/q.cc56fcdd.js +0 -1
- package/dist/assets/r.c1bddb02.js +0 -1
- package/dist/assets/ro-RO.52802a17.js +0 -1
- package/dist/assets/rpm.e046de56.js +0 -1
- package/dist/assets/rst.424d4d80.js +0 -1
- package/dist/assets/ruby.c0348dbc.js +0 -1
- package/dist/assets/runtime-core.esm-bundler.fe249c5c.js +0 -4
- package/dist/assets/rust.b8eab4c6.js +0 -1
- package/dist/assets/sas.171b5cec.js +0 -1
- package/dist/assets/sass.ef1df49e.js +0 -1
- package/dist/assets/scheme.96f6ce73.js +0 -1
- package/dist/assets/shell.4c172f18.js +0 -1
- package/dist/assets/show-hint.e95ab391.js +0 -1
- package/dist/assets/sieve.bdcdd5e1.js +0 -1
- package/dist/assets/slim.bab26569.js +0 -1
- package/dist/assets/smalltalk.0234383f.js +0 -1
- package/dist/assets/smarty.d8aca261.js +0 -1
- package/dist/assets/solr.d8e27de0.js +0 -1
- package/dist/assets/soy.06b4848e.js +0 -1
- package/dist/assets/sparql.ef7b1e37.js +0 -1
- package/dist/assets/spreadsheet.0d9dfaef.js +0 -1
- package/dist/assets/sql.85f5cd30.js +0 -1
- package/dist/assets/stex.38cc6e30.js +0 -1
- package/dist/assets/stylus.4d43a0f9.js +0 -1
- package/dist/assets/swift.e665f92b.js +0 -1
- package/dist/assets/tcl.4f846188.js +0 -1
- package/dist/assets/textile.eef6bf65.js +0 -1
- package/dist/assets/tiddlywiki.29dce321.js +0 -1
- package/dist/assets/tiki.a2f71a50.js +0 -1
- package/dist/assets/toml.64d737ee.js +0 -1
- package/dist/assets/tornado.5ebb7f6b.js +0 -1
- package/dist/assets/translations.074feb87.js +0 -1
- package/dist/assets/troff.e64b5292.js +0 -1
- package/dist/assets/ttcn-cfg.1b57714e.js +0 -1
- package/dist/assets/ttcn.3ddce744.js +0 -1
- package/dist/assets/turtle.0839041f.js +0 -1
- package/dist/assets/twig.99a62381.js +0 -1
- package/dist/assets/uk-UA.99a7a7a6.js +0 -1
- package/dist/assets/validation.cb080608.js +0 -1
- package/dist/assets/vb.9a802cc7.js +0 -1
- package/dist/assets/vbscript.c3cbffdb.js +0 -1
- package/dist/assets/velocity.a1b7e170.js +0 -1
- package/dist/assets/verilog.d98a6823.js +0 -1
- package/dist/assets/vhdl.6a93f1eb.js +0 -1
- package/dist/assets/vi-VN.b85c8a24.js +0 -1
- package/dist/assets/vue-router.805cb517.entry.js +0 -5
- package/dist/assets/vue.c7dd8317.entry.js +0 -1
- package/dist/assets/vue.f82ff76a.js +0 -1
- package/dist/assets/vue.runtime.esm-bundler.eb605ed6.js +0 -1
- package/dist/assets/wast.2c3ec473.js +0 -1
- package/dist/assets/webidl.49c5abd3.js +0 -1
- package/dist/assets/xquery.a0c67ec5.js +0 -1
- package/dist/assets/yacas.d6cc38c0.js +0 -1
- package/dist/assets/yaml-frontmatter.f078c218.js +0 -1
- package/dist/assets/yaml.2ae1a5ef.js +0 -1
- package/dist/assets/z80.fc28354f.js +0 -1
- package/dist/assets/zh-CN.a9e8d795.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as l,o as i,
|
|
1
|
+
import{a as l,o as i,e as h,y as a,u as s,q as e,z as n}from"./runtime-core.esm-bundler.22ec0346.js";const p={class:"markdown-body"},d=s("blockquote",null,[s("p",null,"Operations are the building blocks of Data Flows within Directus.")],-1),u=s("hr",null,null,-1),_=s("h2",{id:"the-operation-object",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#the-operation-object"},"#"),e(" The Operation Object")],-1),j=s("p",null,[s("code",null,"id"),e(),s("strong",null,"uuid"),s("br"),e(" Primary key of the operation.")],-1),g=s("p",null,[s("code",null,"name"),e(),s("strong",null,"string"),s("br"),e(" Name for the operation.")],-1),m=s("p",null,[s("code",null,"key"),e(),s("strong",null,"string"),s("br"),e(" Key for the operation. Must be unique within a given flow.")],-1),f=s("p",null,[s("code",null,"type"),e(),s("strong",null,"string"),s("br"),e(" Type of operation. One of "),s("code",null,"log"),e(", "),s("code",null,"mail"),e(", "),s("code",null,"notification"),e(", "),s("code",null,"create"),e(", "),s("code",null,"read"),e(", "),s("code",null,"request"),e(", "),s("code",null,"sleep"),e(", "),s("code",null,"transform"),e(", "),s("code",null,"trigger"),e(", "),s("code",null,"condition"),e(", or any type of custom operation extensions.")],-1),y=s("p",null,[s("code",null,"options"),e(),s("strong",null,"json"),s("br"),e(" Options depending on the type of the operation.")],-1),b=s("p",null,[s("code",null,"position_x"),e(),s("strong",null,"integer"),s("br"),e(" Position of the operation on the X axis within the flow workspace.")],-1),x=s("p",null,[s("code",null,"position_y"),e(),s("strong",null,"integer"),s("br"),e(" Position of the operation on the Y axis within the flow workspace.")],-1),q=s("p",null,[s("code",null,"date_created"),e(),s("strong",null,"timestamp"),s("br"),e(" Timestamp in ISO8601 when the operation was created.")],-1),k=s("code",null,"user_created",-1),T=s("strong",null,"many-to-one",-1),E=s("br",null,null,-1),w=s("p",null,[s("code",null,"resolve"),e(),s("strong",null,"uuid"),s("br"),e(" The operation triggered when the current operation succeeds (or "),s("code",null,"then"),e(" logic of a condition operation). Primary key of an "),s("a",{href:"#the-operation-object"},"operation"),e(".")],-1),P=s("p",null,[s("code",null,"reject"),e(),s("strong",null,"uuid"),s("br"),e(" The operation triggered when the current operation fails (or "),s("code",null,"otherwise"),e(" logic of a condition operation). Primary key of an "),s("a",{href:"#the-operation-object"},"operation"),e(".")],-1),R=s("code",null,"flow",-1),S=s("strong",null,"many-to-one",-1),O=s("br",null,null,-1),A=s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
2
2
|
`),s("span",{class:"hljs-attr"},'"id"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"585b04cd-2821-4dcc-a563-ae5d29ecace2"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
3
3
|
`),s("span",{class:"hljs-attr"},'"name"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"Log a Message"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
4
4
|
`),s("span",{class:"hljs-attr"},'"key"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"log_message"'),s("span",{class:"hljs-punctuation"},","),e(`
|
|
@@ -24,7 +24,7 @@ SEARCH /operations
|
|
|
24
24
|
key
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
`)])],-1),
|
|
27
|
+
`)])],-1),z=s("hr",null,null,-1),F=s("h2",{id:"retrieve-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#retrieve-an-operation"},"#"),e(" Retrieve an operation")],-1),K=s("p",null,"List an existing operation by primary key.",-1),X=s("h3",{id:"query-parameters-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#query-parameters-1"},"#"),e(" Query Parameters")],-1),Y=s("h3",{id:"returns-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-1"},"#"),e(" Returns")],-1),Z=s("p",null,[e("Returns the requested "),s("a",{href:"#the-operation-object"},"operation object"),e(".")],-1),J=s("h3",{id:"rest-api-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-1"},"#"),e(" REST API")],-1),W=s("pre",null,[s("code",null,`GET /operations/:id
|
|
28
28
|
`)],-1),$=s("h5",{id:"example-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-1"},"#"),e(" Example")],-1),ss=s("pre",null,[s("code",null,`GET /operations/3c636d1c-4eb2-49cd-8a6d-3ec571ab3390
|
|
29
29
|
`)],-1),es=s("h3",{id:"graphql-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#graphql-1"},"#"),e(" GraphQL")],-1),as=s("pre",null,[s("code",null,`POST /graphql/system
|
|
30
30
|
`)],-1),ts=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
|
|
@@ -56,7 +56,7 @@ SEARCH /operations
|
|
|
56
56
|
key
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
`)])],-1),ks=s("hr",null,null,-1),
|
|
59
|
+
`)])],-1),ks=s("hr",null,null,-1),Ts=s("h2",{id:"create-multiple-operations",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#create-multiple-operations"},"#"),e(" Create Multiple Operations")],-1),Es=s("p",null,"Create multiple new operations.",-1),ws=s("h3",{id:"query-parameters-3",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#query-parameters-3"},"#"),e(" Query Parameters")],-1),Ps=s("h3",{id:"request-body-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#request-body-1"},"#"),e(" Request Body")],-1),Rs=s("p",null,[e("An array of partial "),s("a",{href:"#the-operation-object"},"operation objects"),e(".")],-1),Ss=s("h3",{id:"returns-3",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-3"},"#"),e(" Returns")],-1),Os=s("p",null,[e("Returns the "),s("a",{href:"#the-operation-object"},"operation object"),e(" for the created operation.")],-1),As=s("h3",{id:"rest-api-3",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-3"},"#"),e(" REST API")],-1),Ls=s("pre",null,[s("code",null,`POST /operations
|
|
60
60
|
`)],-1),Ms=s("h5",{id:"example-5",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-5"},"#"),e(" Example")],-1),Ds=s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /operations"),e(`
|
|
61
61
|
|
|
62
62
|
`),s("span",{class:"hljs-punctuation"},"["),e(`
|
|
@@ -95,8 +95,8 @@ SEARCH /operations
|
|
|
95
95
|
key
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
`)])],-1),Bs=s("hr",null,null,-1),Us=s("h2",{id:"update-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#update-an-operation"},"#"),e(" Update an Operation")],-1),Hs=s("p",null,"Update an existing operation.",-1),Ns=s("h3",{id:"query-parameters-4",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#query-parameters-4"},"#"),e(" Query Parameters")],-1),Vs=s("h3",{id:"request-body-2",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#request-body-2"},"#"),e(" Request Body")],-1),
|
|
99
|
-
`)],-1),
|
|
98
|
+
`)])],-1),Bs=s("hr",null,null,-1),Us=s("h2",{id:"update-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#update-an-operation"},"#"),e(" Update an Operation")],-1),Hs=s("p",null,"Update an existing operation.",-1),Ns=s("h3",{id:"query-parameters-4",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#query-parameters-4"},"#"),e(" Query Parameters")],-1),Vs=s("h3",{id:"request-body-2",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#request-body-2"},"#"),e(" Request Body")],-1),zs=s("p",null,[e("A partial "),s("a",{href:"#the-operation-object"},"operation object"),e(".")],-1),Fs=s("h3",{id:"returns-4",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-4"},"#"),e(" Returns")],-1),Ks=s("p",null,[e("Returns the "),s("a",{href:"#the-operation-object"},"operation object"),e(" for the updated operation.")],-1),Xs=s("h3",{id:"rest-api-4",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-4"},"#"),e(" REST API")],-1),Ys=s("pre",null,[s("code",null,`PATCH /operation/:id
|
|
99
|
+
`)],-1),Zs=s("h5",{id:"example-7",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-7"},"#"),e(" Example")],-1),Js=s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// PATCH /operation/7d62f1e9-a83f-407b-84f8-1c184f014501"),e(`
|
|
100
100
|
|
|
101
101
|
`),s("span",{class:"hljs-punctuation"},"{"),e(`
|
|
102
102
|
`),s("span",{class:"hljs-attr"},'"name"'),s("span",{class:"hljs-punctuation"},":"),e(),s("span",{class:"hljs-string"},'"My Updated Operation"'),e(`
|
|
@@ -134,7 +134,7 @@ SEARCH /operations
|
|
|
134
134
|
key
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
`)])],-1),xe=s("hr",null,null,-1),qe=s("h2",{id:"delete-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#delete-an-operation"},"#"),e(" Delete an Operation")],-1),ke=s("p",null,"Delete an existing operation.",-1),
|
|
137
|
+
`)])],-1),xe=s("hr",null,null,-1),qe=s("h2",{id:"delete-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#delete-an-operation"},"#"),e(" Delete an Operation")],-1),ke=s("p",null,"Delete an existing operation.",-1),Te=s("h3",{id:"returns-6",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-6"},"#"),e(" Returns")],-1),Ee=s("p",null,"Empty body.",-1),we=s("h3",{id:"rest-api-6",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-6"},"#"),e(" REST API")],-1),Pe=s("pre",null,[s("code",null,`DELETE /operations/:id
|
|
138
138
|
`)],-1),Re=s("h5",{id:"example-11",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-11"},"#"),e(" Example")],-1),Se=s("pre",null,[s("code",null,`DELETE /operations/07ac467e-1900-4c62-9637-8dac2ab97f71
|
|
139
139
|
`)],-1),Oe=s("h3",{id:"graphql-6",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#graphql-6"},"#"),e(" GraphQL")],-1),Ae=s("pre",null,[s("code",null,`POST /graphql/system
|
|
140
140
|
`)],-1),Le=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
@@ -146,13 +146,13 @@ SEARCH /operations
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
`)])],-1),Ie=s("hr",null,null,-1),Qe=s("h2",{id:"delete-multiple-operations",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#delete-multiple-operations"},"#"),e(" Delete Multiple Operations")],-1),Ce=s("p",null,"Delete multiple existing operations.",-1),Ge=s("h3",{id:"request-body-4",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#request-body-4"},"#"),e(" Request Body")],-1),ve=s("p",null,"An array of operations primary keys",-1),Be=s("h3",{id:"returns-7",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-7"},"#"),e(" Returns")],-1),Ue=s("p",null,"Empty body.",-1),He=s("h3",{id:"rest-api-7",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-7"},"#"),e(" REST API")],-1),Ne=s("pre",null,[s("code",null,`DELETE /operations
|
|
149
|
-
`)],-1),Ve=s("h5",{id:"example-13",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-13"},"#"),e(" Example")],-1),
|
|
149
|
+
`)],-1),Ve=s("h5",{id:"example-13",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-13"},"#"),e(" Example")],-1),ze=s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// DELETE /operations"),e(`
|
|
150
150
|
`),s("span",{class:"hljs-punctuation"},"["),s("span",{class:"hljs-string"},'"a791ce73-41a2-4fb7-8f67-c7ba176cc719"'),s("span",{class:"hljs-punctuation"},","),e(),s("span",{class:"hljs-string"},'"4e57ab0e-f4ec-47b5-9dad-e36f08a25642"'),s("span",{class:"hljs-punctuation"},","),e(),s("span",{class:"hljs-string"},'"5fe0a6f6-18ad-4bb3-94c6-2e033246c784"'),s("span",{class:"hljs-punctuation"},"]"),e(`
|
|
151
|
-
`)])],-1),
|
|
152
|
-
`)],-1),
|
|
151
|
+
`)])],-1),Fe=s("h3",{id:"graphql-7",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#graphql-7"},"#"),e(" GraphQL")],-1),Ke=s("pre",null,[s("code",null,`POST /graphql/system
|
|
152
|
+
`)],-1),Xe=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
|
|
153
153
|
delete_operations_items(ids: `),s("span",{class:"hljs-literal"},"[ID"),e(`!]!): delete_many
|
|
154
154
|
}
|
|
155
|
-
`)])],-1),
|
|
155
|
+
`)])],-1),Ye=s("h5",{id:"example-14",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-14"},"#"),e(" Example")],-1),Ze=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),e(` {
|
|
156
156
|
delete_operations_items(
|
|
157
157
|
ids: [
|
|
158
158
|
`),s("span",{class:"hljs-string"},'"a791ce73-41a2-4fb7-8f67-c7ba176cc719"'),e(`
|
|
@@ -166,4 +166,4 @@ SEARCH /operations
|
|
|
166
166
|
`)])],-1),Je=s("h2",{id:"triggering-an-operation",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#triggering-an-operation"},"#"),e(" Triggering an operation")],-1),We=s("p",null,"Trigger an operation based on primary key.",-1),$e=s("h3",{id:"request-body-5",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#request-body-5"},"#"),e(" Request Body")],-1),sa=s("p",null,"Payload for the operation, if needed.",-1),ea=s("h3",{id:"returns-8",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#returns-8"},"#"),e(" Returns")],-1),aa=s("p",null,"Result of the operation, if any.",-1),ta=s("h3",{id:"rest-api-8",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rest-api-8"},"#"),e(" REST API")],-1),na=s("pre",null,[s("code",null,`POST /operations/trigger/:operation_uuid
|
|
167
167
|
`)],-1),oa=s("h5",{id:"example-15",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#example-15"},"#"),e(" Example")],-1),la=s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /flows/trigger/202a940b-a00b-47df-b832-369c53f13122"),e(`
|
|
168
168
|
`),s("span",{class:"hljs-comment"},"// Payload here"),e(`
|
|
169
|
-
`)])],-1),pa="Operations",da=!1,ua="REST and GraphQL API documentation on the Operations collection in Directus.",_a="5 min read",ja="page-reference",ga={__name:"operations",setup(ra,{expose:r}){const o={title:"Operations",modularExtension:!1,description:"REST and GraphQL API documentation on the Operations collection in Directus.",readTime:"5 min read",pageClass:"page-reference"};return r({frontmatter:o}),(ca,ia)=>{const t=l("router-link"),c=l("docs-wrapper");return i(),h(c,{frontmatter:o},{default:a(()=>[s("div",p,[d,u,_,j,g,m,f,y,b,x,q,s("p",null,[k,e(),E,
|
|
169
|
+
`)])],-1),pa="Operations",da=!1,ua="REST and GraphQL API documentation on the Operations collection in Directus.",_a="5 min read",ja="page-reference",ga={__name:"operations",setup(ra,{expose:r}){const o={title:"Operations",modularExtension:!1,description:"REST and GraphQL API documentation on the Operations collection in Directus.",readTime:"5 min read",pageClass:"page-reference"};return r({frontmatter:o}),(ca,ia)=>{const t=l("router-link"),c=l("docs-wrapper");return i(),h(c,{frontmatter:o},{default:a(()=>[s("div",p,[d,u,_,j,g,m,f,y,b,x,q,s("p",null,[k,e(),T,E,e(" The user who created the operation. Many-to-one to "),n(t,{to:"/docs/reference/system/users#the-users-object"},{default:a(()=>[e("users")]),_:1}),e(".")]),w,P,s("p",null,[R,e(),S,O,e(" The flow containing this operation. Many-to-one to "),n(t,{to:"/docs/reference/system/flows#the-data-chain"},{default:a(()=>[e("flows")]),_:1}),e(".")]),A,L,M,D,I,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),Q,s("p",null,[e("An array of up to "),n(t,{to:"/docs/reference/query#limit"},{default:a(()=>[e("limit")]),_:1}),e(),C,e(". If no items are available, data will be an empty array.")]),G,v,s("p",null,[n(t,{to:"/docs/reference/introduction#search-http-method"},{default:a(()=>[e("Learn more about SEARCH ->")]),_:1})]),B,U,H,N,V,z,F,K,X,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),Y,Z,J,W,$,ss,es,as,ts,ns,os,ls,rs,cs,is,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),hs,ps,ds,us,_s,js,gs,ms,fs,ys,bs,xs,qs,ks,Ts,Es,ws,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),Ps,Rs,Ss,Os,As,Ls,Ms,Ds,Is,Qs,Cs,Gs,vs,Bs,Us,Hs,Ns,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),Vs,zs,Fs,Ks,Xs,Ys,Zs,Js,Ws,$s,se,ee,ae,te,ne,oe,le,s("p",null,[e("Supports all "),n(t,{to:"/docs/reference/query"},{default:a(()=>[e("global query parameters")]),_:1}),e(".")]),re,ce,ie,he,pe,de,ue,_e,je,ge,me,fe,ye,be,xe,qe,ke,Te,Ee,we,Pe,Re,Se,Oe,Ae,Le,Me,De,Ie,Qe,Ce,Ge,ve,Be,Ue,He,Ne,Ve,ze,Fe,Ke,Xe,Ye,Ze,Je,We,$e,sa,ea,aa,ta,na,oa,la])]),_:1})}}};export{ga as default,ua as description,da as modularExtension,ja as pageClass,_a as readTime,pa as title};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as l,o as c,
|
|
1
|
+
import{a as l,o as c,e as h,y as n,u as t,q as e,z as s}from"./runtime-core.esm-bundler.22ec0346.js";const p={class:"markdown-body"},d=t("h2",{id:"extension-entrypoints",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#extension-entrypoints"},"#"),e(" Extension Entrypoints")],-1),u=t("p",null,[e("Your operation has two entrypoints. The App entrypoint is the "),t("code",null,"app"),e(" file and the API entrypoint is the "),t("code",null,"api"),e(" file inside the "),t("code",null,"src/"),e(" folder of your extension package.")],-1),_=t("h3",{id:"app-entrypoint",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#app-entrypoint"},"#"),e(" App Entrypoint")],-1),f=t("p",null,"The App entrypoint exports a configuration object with options to configure the appearance of your operation. When loading your operation, this object is imported by the Directus App host.",-1),b=t("p",null,"Example of an entrypoint:",-1),g=t("pre",null,[t("code",{class:"language-js"},[t("span",{class:"hljs-keyword"},"export"),e(),t("span",{class:"hljs-keyword"},"default"),e(` {
|
|
2
2
|
`),t("span",{class:"hljs-attr"},"id"),e(": "),t("span",{class:"hljs-string"},"'custom'"),e(`,
|
|
3
3
|
`),t("span",{class:"hljs-attr"},"name"),e(": "),t("span",{class:"hljs-string"},"'Custom'"),e(`,
|
|
4
4
|
`),t("span",{class:"hljs-attr"},"icon"),e(": "),t("span",{class:"hljs-string"},"'box'"),e(`,
|
|
@@ -27,4 +27,4 @@ import{a as l,o as c,b as h,w as n,l as t,E as e,e as s}from"./runtime-core.esm-
|
|
|
27
27
|
`),t("span",{class:"hljs-variable language_"},"console"),e("."),t("span",{class:"hljs-title function_"},"log"),e(`(text);
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
|
-
`)])],-1),P=t("h4",{id:"available-options-1",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#available-options-1"},"#"),e(" Available Options")],-1),C=t("ul",null,[t("li",null,[t("code",null,"id"),e(" \u2014 The unique key for this operation. It is good practice to scope proprietary operations with an author prefix.")]),t("li",null,[t("code",null,"handler"),e(" \u2014 The operations\u2019s handler function.")])],-1),O=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Extension Id"),t("p",null,"The extension id needs to be identical for both entrypoints in order for Directus to recognize them as part of the same extension.")],-1),V=t("h2",{id:"handler-function",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#handler-function"},"#"),e(" Handler Function")],-1),
|
|
30
|
+
`)])],-1),P=t("h4",{id:"available-options-1",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#available-options-1"},"#"),e(" Available Options")],-1),C=t("ul",null,[t("li",null,[t("code",null,"id"),e(" \u2014 The unique key for this operation. It is good practice to scope proprietary operations with an author prefix.")]),t("li",null,[t("code",null,"handler"),e(" \u2014 The operations\u2019s handler function.")])],-1),O=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Extension Id"),t("p",null,"The extension id needs to be identical for both entrypoints in order for Directus to recognize them as part of the same extension.")],-1),V=t("h2",{id:"handler-function",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#handler-function"},"#"),e(" Handler Function")],-1),q=t("code",null,"resolve",-1),D=t("code",null,"reject",-1),B=t("p",null,[e("The handler function receives the two parameters "),t("code",null,"options"),e(" and "),t("code",null,"context"),e(". "),t("code",null,"options"),e(" is an object with the operation\u2019s options as properties and their respective already interpolated values. "),t("code",null,"context"),e(" is an object with the following properties:")],-1),N=t("ul",null,[t("li",null,[t("code",null,"services"),e(" \u2014 All API internal services.")]),t("li",null,[t("code",null,"exceptions"),e(" \u2014 API exception objects that can be used to throw \u201Cproper\u201D errors.")]),t("li",null,[t("code",null,"database"),e(" \u2014 Knex instance that is connected to the current database.")]),t("li",null,[t("code",null,"getSchema"),e(" \u2014 Async function that reads the full available schema for use in services")]),t("li",null,[t("code",null,"env"),e(" \u2014 Parsed environment variables.")]),t("li",null,[t("code",null,"logger"),e(" \u2014 "),t("a",{href:"https://github.com/pinojs/pino",target:"_blank",rel:"noopener noreferrer"},"Pino"),e(" instance.")]),t("li",null,[t("code",null,"data"),e(" \u2014 Object containing the raw data returned by the previous operations.")]),t("li",null,[t("code",null,"accountability"),e(" \u2014 Information about the current user received by the trigger.")])],-1),K="Custom Operations",L=!0,S={__name:"operations",setup(z,{expose:i}){const a={title:"Custom Operations",modularExtension:!0};return i({frontmatter:a}),(W,F)=>{const o=l("router-link"),r=l("docs-wrapper");return c(),h(r,{frontmatter:a},{default:n(()=>[t("div",p,[t("blockquote",null,[t("p",null,[e("Custom Operations allow you to create new types of steps for flows. "),s(o,{to:"/docs/getting-started/glossary#operations"},{default:n(()=>[e("Learn more about Operations")]),_:1}),e(".")])]),d,u,_,f,b,g,j,t("ul",null,[m,y,t("li",null,[x,e(" \u2014 An icon name from the "),s(o,{to:"/docs/getting-started/glossary#material-icons"},{default:n(()=>[e("material icon set")]),_:1}),e(", or the extended list of Directus custom icons.")]),w,v,A]),T,k,I,E,P,C,O,V,t("p",null,[e("The handler function defined inside the API endpoint will be called whenever the flow the operation is connected to is executed. To trigger the operation connected to the "),q,e(" anchor, the handler function has to return a value. To trigger the operation connected to the "),D,e(" anchor, the handler function has to throw with a value. This value will then be added to the "),s(o,{to:"/docs/configuration/flows#the-data-chain"},{default:n(()=>[e("data chain")]),_:1}),e(".")]),B,N])]),_:1})}}};export{S as default,L as modularExtension,K as title};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as i,o as u,
|
|
1
|
+
import{a as i,o as u,e as d,y as o,u as e,q as t,z as s}from"./runtime-core.esm-bundler.22ec0346.js";const c={class:"markdown-body"},h=e("blockquote",null,[e("p",null,[t("Operations are the individual actions in a flow. They enable you to do things like manage data within Directus, transform the flow\u2019s data, send information off to outside services, set conditional logic, trigger other flows, "),e("em",null,"and beyond!")])],-1),p={class:"tip hint"},g=e("div",{class:"hint-title"},"Before You Begin",-1),_=e("h2",{id:"condition",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#condition"},"#"),t(" Condition")],-1),f=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/condition-20220603A.webp",alt:"Condition"})],-1),m=e("strong",null,"Condition",-1),w=e("strong",null,"success path",-1),y=e("strong",null,"failure path",-1),v=e("p",null,[e("strong",null,"Options")],-1),b=e("strong",null,"Condition Rules",-1),T=e("p",null,[e("strong",null,"Payload")],-1),k=e("p",null,[t("This operation does not generate data. If the filter rule is configured properly, it will append a "),e("code",null,"null"),t(" value on its "),e("code",null,"operationKey"),t(", regardless of if the condition was met or not. However, if the filter rule is misconfigured, it will append an array containing an object you can use to help debug the misconfiguration.")],-1),D=e("p",null,[e("strong",null,"More Details")],-1),I={class:"warning hint"},S=e("strong",null,"Action (Blocking)",-1),j=e("code",null,"reject",-1),A=e("h2",{id:"run-script",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#run-script"},"#"),t(" Run Script")],-1),E=e("p",null,"This operation lets you add a custom script using vanilla JavaScript or TypeScript.",-1),x=e("p",null,[e("strong",null,"Options")],-1),O=e("p",null,[t("The operation provides a default function template. The "),e("em",null,"optional"),t(),e("code",null,"data"),t(" parameter lets you pass in the data chain as an argument.")],-1),P=e("p",null,[e("strong",null,"Payload")],-1),C=e("p",null,[t("The function\u2019s "),e("code",null,"return"),t(" value will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),R=e("p",null,[e("strong",null,"More Details")],-1),q=e("p",null,[t("As an example, let\u2019s say you have this function in a script operation, named "),e("code",null,"myScript"),t(".")],-1),F=e("pre",null,[e("code",{class:"language-JSON"},[e("span",{class:"hljs-comment"},"// A key from the data chain"),t(`
|
|
2
2
|
`),e("span",{class:"hljs-punctuation"},"{"),t(`
|
|
3
3
|
`),e("span",{class:"hljs-attr"},'"previousOperation"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-punctuation"},"{"),t(`
|
|
4
4
|
`),e("span",{class:"hljs-attr"},'"value"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-number"},"5"),t(`
|
|
@@ -20,10 +20,10 @@ import{a as i,o as u,b as d,w as o,l as e,E as t,e as s}from"./runtime-core.esm-
|
|
|
20
20
|
`),e("span",{class:"hljs-punctuation"},"}"),t(`
|
|
21
21
|
`),e("span",{class:"hljs-punctuation"},"}"),t(`
|
|
22
22
|
|
|
23
|
-
`)])],-1),B=e("div",{class:"tip hint"},[e("p",null,[t("Make sure your "),e("code",null,"return"),t(" value is valid JSON.")])],-1),L={class:"tip hint"},H=e("div",{class:"hint-title"},"Throwing Errors",-1),J=e("strong",null,"Run Script",-1),W=e("h2",{id:"create-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#create-data"},"#"),t(" Create Data")],-1),Y=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/create-data-20220603A.webp",alt:"Create Data"})],-1),V=e("p",null,"This operation creates item(s) in a collection.",-1),Q=e("p",null,[e("strong",null,"Options")],-1),G=e("ul",null,[e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection you\u2019d like to create items in.")]),e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Select the scope of permissions used for this operation.")]),e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")]),e("li",null,[e("strong",null,"Payload"),t(" \u2014 Defines the payload to create item(s) in a collection.")])],-1),$=e("p",null,[e("strong",null,"Payload")],-1),z=e("p",null,[t("An array with the ID(s) of all items created will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),X=e("p",null,[e("strong",null,"More Details")],-1),Z=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.create"),t(" which contains an operation that then tries to create another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),ee={class:"tip hint"},te=e("h2",{id:"delete-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#delete-data"},"#"),t(" Delete Data")],-1),oe=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/delete-data-20220603A.webp",alt:"Delete Data"})],-1),ne=e("p",null,"This operation deletes item(s) from a collection.",-1),se=e("p",null,[e("strong",null,"Options")],-1),le=e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection you\u2019d like to delete items from.")],-1),ie=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the scope of permissions used for this operation.")],-1),ae=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),re=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Set Item IDs and press enter to confirm. Click the ID to remove.")],-1),ue=e("strong",null,"Query",-1),de=e("p",null,[e("strong",null,"Payload")],-1),ce=e("p",null,[t("An array with the ID(s) of all items deleted will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),he=e("p",null,[e("strong",null,"More Details")],-1),pe=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.delete"),t(" which contains an operation that then tries to delete another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),ge=e("h2",{id:"read-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#read-data"},"#"),t(" Read Data")],-1),_e=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/read-data-20220603A.webp",alt:"Read Data"})],-1),fe=e("p",null,"This operation reads item(s) from a collection and adds them onto the data chain. You may select Items by their ID or by running a query.",-1),me=e("p",null,[e("strong",null,"Options")],-1),we=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the scope of permissions used for this operation.")],-1),ye=e("li",null,[e("strong",null,"Collections"),t(" \u2014 Select the collection you\u2019d like to read items from.")],-1),ve=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Input the ID for items you wish to read and press enter. Click the ID to remove.")],-1),be=e("strong",null,"Query",-1),Te=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),ke=e("p",null,[e("strong",null,"Payload")],-1),De=e("p",null,[t("An array containing all items read will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),Ie=e("p",null,[e("strong",null,"More Details")],-1),Se=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.read"),t(" which contains an operation that then tries to read another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),je=e("h2",{id:"update-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#update-data"},"#"),t(" Update Data")],-1),Ee=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/update-data-20220603A.webp",alt:"Update Data"})],-1),Ae=e("p",null,"This operation updates item(s) in a collection. You may select item(s) to update by their ID or by running a query.",-1),xe=e("p",null,[e("strong",null,"Options")],-1),Oe=e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection on which you\u2019d like to update items in.")],-1),Pe=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the role that this operation will inherit permissions from.")],-1),Ce=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),Re=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Input the ID for Item(s) you wish to read and press enter. Click the ID to remove.")],-1),qe=e("strong",null,"Payload",-1),Fe=e("strong",null,"Query",-1),Me=e("p",null,[e("strong",null,"Payload")],-1),Ue=e("p",null,[t("An array containing all items updated will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),Ke=e("p",null,[e("strong",null,"More Details")],-1),Ne=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.update"),t(" which contains an operation that then tries to update another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly updating items. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),Be={class:"tip hint"},Le=e("code",null,"payload",-1),He=e("h2",{id:"log-to-console",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#log-to-console"},"#"),t(" Log to Console")],-1),Je=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/log-to-console-20220603A.webp",alt:"Log to Console"})],-1),We=e("p",null,[e("strong",null,"Options")],-1),Ye=e("strong",null,"Message",-1),Ve=e("p",null,[e("strong",null,"Payload")],-1),Qe=e("p",null,[t("This operation does not generate data for the data chain as its messages are for debugging and troubleshooting. It will append a "),e("code",null,"null"),t(" value on the "),e("code",null,"operationKey"),t(".")],-1),Ge=e("p",null,[e("strong",null,"More Details")],-1),$e=e("h2",{id:"send-email",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#send-email"},"#"),t(" Send Email")],-1),ze=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/send-email-20220603A.webp",alt:"Send Email"})],-1),Xe=e("p",null,"This operation sends off emails.",-1),Ze=e("p",null,[e("strong",null,"Options")],-1),et=e("ul",null,[e("li",null,[e("strong",null,"To"),t(" \u2014 Sets the email addresses. Hit "),e("code",null,"\u21B5"),t(),e("code",null,"Enter"),t(" (PC) or "),e("code",null,"return"),t(" (Mac) to save the email. Click on a pill to remove it.")]),e("li",null,[e("strong",null,"Subject"),t(" \u2014 Set the subject line.")]),e("li",null,[e("strong",null,"Body"),t(" \u2014 Use a Markdown or WYSIWYG editor to create the email body.")])],-1),tt=e("p",null,[e("strong",null,"Payload")],-1),ot=e("p",null,[t("This operation does not generate data for the data chain. It will append a "),e("code",null,"null"),t(" value on the "),e("code",null,"operationKey"),t(".")],-1),nt=e("p",null,[e("strong",null,"More Details")],-1),st=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Batch Emails"),e("p",null,[t("You can input an array of emails in the "),e("code",null,"To"),t(" input option to send off multiple emails.")])],-1),lt=e("div",{class:"tip hint"},[e("p",null,[t("If you are testing out this operation from "),e("code",null,"localhost:8080"),t(", be sure to check your spam box, because your email provider may send it there automatically.")])],-1),it=e("h2",{id:"send-notification",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#send-notification"},"#"),t(" Send Notification")],-1),at=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/send-notification-20220603A.webp",alt:"Send Notification"})],-1),rt=e("p",null,"This operation pushes notifications to Directus Users. If the operation executes successfully, a list containing the IDs of all sent notifications generated is appended under this operation\u2019s key.",-1),ut=e("p",null,[e("strong",null,"Options")],-1),dt=e("ul",null,[e("li",null,[e("strong",null,"Users"),t(" \u2014 Define a user by their UUID. Hit "),e("code",null,"\u21B5"),t(),e("code",null,"Enter"),t(" (PC) or "),e("code",null,"return"),t(" (Mac) to save it. Click on a pill to remove it.")]),e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Define the role that this operation will inherit permissions from.")]),e("li",null,[e("strong",null,"Title"),t(" \u2014 Set the title of the notification.")]),e("li",null,[e("strong",null,"Message"),t(" \u2014 Set the main body of the notification.")])],-1),ct=e("p",null,[e("strong",null,"Payload")],-1),ht=e("p",null,[t("This operation does not generate data. It will append a "),e("code",null,"null"),t(" value on its "),e("code",null,"operationKey"),t(".")],-1),pt=e("p",null,[e("strong",null,"More Details")],-1),gt=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Batch Notifications"),e("p",null,[t("You can input an array of UUIDs in the "),e("code",null,"To"),t(" input option to send off multiple emails.")])],-1),_t=e("h2",{id:"webhook-%2F-request-url",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#webhook-%2F-request-url"},"#"),t(" Webhook / Request URL")],-1),ft=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/webhook-20220603A.webp",alt:"Webhook / Request URL"})],-1),mt=e("p",null,"This operation makes a request to another URL.",-1),wt=e("p",null,[e("strong",null,"Options")],-1),yt=e("ul",null,[e("li",null,[e("strong",null,"Method"),t(" \u2014 Choose to make a GET, POST, PATCH, DELETE, or other type of request.")]),e("li",null,[e("strong",null,"URL"),t(" \u2014 Define the URL to send the request to.")]),e("li",null,[e("strong",null,"Headers"),t(" \u2014 Create a new "),e("code",null,"header:value"),t(" to pass along with the request.")]),e("li",null,[e("strong",null,"Request Body"),t(" \u2014 Set the request body\u2019s data.")])],-1),vt=e("p",null,[e("strong",null,"Payload")],-1),bt=e("p",null,[t("When an operation completes successfully, the "),e("code",null,"response"),t(" is appended under its "),e("code",null,"<operationKey"),t(".")],-1),Tt=e("h2",{id:"sleep",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sleep"},"#"),t(" Sleep")],-1),kt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/sleep-20220603A.webp",alt:"Sleep"})],-1),Dt=e("p",null,"This operation creates a delay in the Flow for a given amount of milliseconds, then continues to the next operation.",-1),It=e("p",null,[e("strong",null,"Options")],-1),St=e("ul",null,[e("li",null,[e("strong",null,"Milliseconds"),t(" \u2014 Define the number of milliseconds to sleep.")])],-1),jt=e("p",null,[e("strong",null,"Payload")],-1),Et=e("p",null,[t("This operation does not generate data. It will append a "),e("code",null,"null"),t(" value on its "),e("code",null,"operationKey"),t(".")],-1),At=e("h2",{id:"transform-payload",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#transform-payload"},"#"),t(" Transform Payload")],-1),xt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/transform-payload-20220603A.webp",alt:"Transform Payload"})],-1),Ot=e("p",null,"This operation lets you custom define your own JSON payload for use in subsequent operations. This enables you to take multiple sources of data and \u201Ctidy them up\u201D into a single payload.",-1),Pt=e("p",null,[e("strong",null,"Options")],-1),Ct=e("ul",null,[e("li",null,[e("strong",null,"JSON"),t(" \u2014 Define JSON to insert into the data chain.")])],-1),Rt=e("p",null,[e("strong",null,"Payload")],-1),qt=e("p",null,[t("When an operation completes successfully, the value you defined under the "),e("strong",null,"JSON"),t(" configuration operation is appended onto its "),e("code",null,"operationKey"),t(".")],-1),Ft=e("p",null,[e("strong",null,"More Details")],-1),Mt=e("p",null,[t("When does the Transform Payload operation come in handy? Let\u2019s say you need to create a payload with data from a "),e("code",null,"users_collection"),t(", "),e("code",null,"widgets_collection"),t(" and some 3rd party resource which processes the data. You can add a "),e("a",{href:"#read-data"},"Read Data"),t(" operation for "),e("code",null,"collection_a"),t(", another Read Data operation for "),e("code",null,"collection_b"),t(", and a "),e("a",{href:"#webhook--request-url"},"Webhook"),t(" operation for the third party resource.")],-1),Ut=e("p",null,"Then you could stitch together all this data to create a new JSON object, like so:",-1),Kt=e("pre",null,[e("code",null,`{
|
|
23
|
+
`)])],-1),B=e("div",{class:"tip hint"},[e("p",null,[t("Make sure your "),e("code",null,"return"),t(" value is valid JSON.")])],-1),L={class:"tip hint"},H=e("div",{class:"hint-title"},"Throwing Errors",-1),J=e("strong",null,"Run Script",-1),W=e("h2",{id:"create-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#create-data"},"#"),t(" Create Data")],-1),Y=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/create-data-20220603A.webp",alt:"Create Data"})],-1),V=e("p",null,"This operation creates item(s) in a collection.",-1),Q=e("p",null,[e("strong",null,"Options")],-1),G=e("ul",null,[e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection you\u2019d like to create items in.")]),e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Select the scope of permissions used for this operation.")]),e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")]),e("li",null,[e("strong",null,"Payload"),t(" \u2014 Defines the payload to create item(s) in a collection.")])],-1),z=e("p",null,[e("strong",null,"Payload")],-1),$=e("p",null,[t("An array with the ID(s) of all items created will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),X=e("p",null,[e("strong",null,"More Details")],-1),Z=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.create"),t(" which contains an operation that then tries to create another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),ee={class:"tip hint"},te=e("h2",{id:"delete-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#delete-data"},"#"),t(" Delete Data")],-1),oe=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/delete-data-20220603A.webp",alt:"Delete Data"})],-1),ne=e("p",null,"This operation deletes item(s) from a collection.",-1),se=e("p",null,[e("strong",null,"Options")],-1),le=e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection you\u2019d like to delete items from.")],-1),ie=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the scope of permissions used for this operation.")],-1),ae=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),re=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Set Item IDs and press enter to confirm. Click the ID to remove.")],-1),ue=e("strong",null,"Query",-1),de=e("p",null,[e("strong",null,"Payload")],-1),ce=e("p",null,[t("An array with the ID(s) of all items deleted will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),he=e("p",null,[e("strong",null,"More Details")],-1),pe=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.delete"),t(" which contains an operation that then tries to delete another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),ge=e("h2",{id:"read-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#read-data"},"#"),t(" Read Data")],-1),_e=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/read-data-20220603A.webp",alt:"Read Data"})],-1),fe=e("p",null,"This operation reads item(s) from a collection and adds them onto the data chain. You may select Items by their ID or by running a query.",-1),me=e("p",null,[e("strong",null,"Options")],-1),we=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the scope of permissions used for this operation.")],-1),ye=e("li",null,[e("strong",null,"Collections"),t(" \u2014 Select the collection you\u2019d like to read items from.")],-1),ve=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Input the ID for items you wish to read and press enter. Click the ID to remove.")],-1),be=e("strong",null,"Query",-1),Te=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),ke=e("p",null,[e("strong",null,"Payload")],-1),De=e("p",null,[t("An array containing all items read will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),Ie=e("p",null,[e("strong",null,"More Details")],-1),Se=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.read"),t(" which contains an operation that then tries to read another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),je=e("h2",{id:"update-data",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#update-data"},"#"),t(" Update Data")],-1),Ae=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/update-data-20220603A.webp",alt:"Update Data"})],-1),Ee=e("p",null,"This operation updates item(s) in a collection. You may select item(s) to update by their ID or by running a query.",-1),xe=e("p",null,[e("strong",null,"Options")],-1),Oe=e("li",null,[e("strong",null,"Collection"),t(" \u2014 Select the collection on which you\u2019d like to update items in.")],-1),Pe=e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Set the role that this operation will inherit permissions from.")],-1),Ce=e("li",null,[e("strong",null,"Emit Events"),t(" \u2014 Toggle whether the event is emitted.")],-1),Re=e("li",null,[e("strong",null,"IDs"),t(" \u2014 Input the ID for Item(s) you wish to read and press enter. Click the ID to remove.")],-1),qe=e("strong",null,"Payload",-1),Fe=e("strong",null,"Query",-1),Me=e("p",null,[e("strong",null,"Payload")],-1),Ue=e("p",null,[t("An array containing all items updated will be appended under its "),e("code",null,"<operationKey>"),t(".")],-1),Ke=e("p",null,[e("strong",null,"More Details")],-1),Ne=e("div",{class:"warning hint"},[e("p",null,[e("strong",null,"Emit Events"),t(" toggles the event\u2019s "),e("em",null,"visibility"),t(" throughout Directus. For example, if togged on, this operation will trigger relevant event hooks in other flows or custom extensions. If toggled off, the operation will not trigger other event hooks. Imagine a situation where you have a flow being triggered by "),e("code",null,"<collection>.items.update"),t(" which contains an operation that then tries to update another item in that "),e("code",null,"<collection>"),t(". This would throw an infinite loop where the operation triggers its own flow, endlessly updating items. However, if you toggle "),e("strong",null,"Emit Events"),t(" off, then this operation no longer triggers other event hooks.")])],-1),Be={class:"tip hint"},Le=e("code",null,"payload",-1),He=e("h2",{id:"log-to-console",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#log-to-console"},"#"),t(" Log to Console")],-1),Je=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/log-to-console-20220603A.webp",alt:"Log to Console"})],-1),We=e("p",null,[e("strong",null,"Options")],-1),Ye=e("strong",null,"Message",-1),Ve=e("p",null,[e("strong",null,"Payload")],-1),Qe=e("p",null,[t("This operation does not generate data for the data chain as its messages are for debugging and troubleshooting. It will append a "),e("code",null,"null"),t(" value on the "),e("code",null,"operationKey"),t(".")],-1),Ge=e("p",null,[e("strong",null,"More Details")],-1),ze=e("h2",{id:"send-email",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#send-email"},"#"),t(" Send Email")],-1),$e=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/send-email-20220603A.webp",alt:"Send Email"})],-1),Xe=e("p",null,"This operation sends off emails.",-1),Ze=e("p",null,[e("strong",null,"Options")],-1),et=e("ul",null,[e("li",null,[e("strong",null,"To"),t(" \u2014 Sets the email addresses. Hit "),e("code",null,"\u21B5"),t(),e("code",null,"Enter"),t(" (PC) or "),e("code",null,"return"),t(" (Mac) to save the email. Click on a pill to remove it.")]),e("li",null,[e("strong",null,"Subject"),t(" \u2014 Set the subject line.")]),e("li",null,[e("strong",null,"Body"),t(" \u2014 Use a Markdown or WYSIWYG editor to create the email body.")])],-1),tt=e("p",null,[e("strong",null,"Payload")],-1),ot=e("p",null,[t("This operation does not generate data for the data chain. It will append a "),e("code",null,"null"),t(" value on the "),e("code",null,"operationKey"),t(".")],-1),nt=e("p",null,[e("strong",null,"More Details")],-1),st=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Batch Emails"),e("p",null,[t("You can input an array of emails in the "),e("code",null,"To"),t(" input option to send off multiple emails.")])],-1),lt=e("div",{class:"tip hint"},[e("p",null,[t("If you are testing out this operation from "),e("code",null,"localhost:8080"),t(", be sure to check your spam box, because your email provider may send it there automatically.")])],-1),it=e("h2",{id:"send-notification",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#send-notification"},"#"),t(" Send Notification")],-1),at=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/send-notification-20220603A.webp",alt:"Send Notification"})],-1),rt=e("p",null,"This operation pushes notifications to Directus Users. If the operation executes successfully, a list containing the IDs of all sent notifications generated is appended under this operation\u2019s key.",-1),ut=e("p",null,[e("strong",null,"Options")],-1),dt=e("ul",null,[e("li",null,[e("strong",null,"Users"),t(" \u2014 Define a user by their UUID. Hit "),e("code",null,"\u21B5"),t(),e("code",null,"Enter"),t(" (PC) or "),e("code",null,"return"),t(" (Mac) to save it. Click on a pill to remove it.")]),e("li",null,[e("strong",null,"Permissions"),t(" \u2014 Define the role that this operation will inherit permissions from.")]),e("li",null,[e("strong",null,"Title"),t(" \u2014 Set the title of the notification.")]),e("li",null,[e("strong",null,"Message"),t(" \u2014 Set the main body of the notification.")])],-1),ct=e("p",null,[e("strong",null,"Payload")],-1),ht=e("p",null,[t("This operation does not generate data. It will append a "),e("code",null,"null"),t(" value on its "),e("code",null,"operationKey"),t(".")],-1),pt=e("p",null,[e("strong",null,"More Details")],-1),gt=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Batch Notifications"),e("p",null,[t("You can input an array of UUIDs in the "),e("code",null,"To"),t(" input option to send off multiple emails.")])],-1),_t=e("h2",{id:"webhook-%2F-request-url",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#webhook-%2F-request-url"},"#"),t(" Webhook / Request URL")],-1),ft=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/webhook-20220603A.webp",alt:"Webhook / Request URL"})],-1),mt=e("p",null,"This operation makes a request to another URL.",-1),wt=e("p",null,[e("strong",null,"Options")],-1),yt=e("ul",null,[e("li",null,[e("strong",null,"Method"),t(" \u2014 Choose to make a GET, POST, PATCH, DELETE, or other type of request.")]),e("li",null,[e("strong",null,"URL"),t(" \u2014 Define the URL to send the request to.")]),e("li",null,[e("strong",null,"Headers"),t(" \u2014 Create a new "),e("code",null,"header:value"),t(" to pass along with the request.")]),e("li",null,[e("strong",null,"Request Body"),t(" \u2014 Set the request body\u2019s data.")])],-1),vt=e("p",null,[e("strong",null,"Payload")],-1),bt=e("p",null,[t("When an operation completes successfully, the "),e("code",null,"response"),t(" is appended under its "),e("code",null,"<operationKey"),t(".")],-1),Tt=e("h2",{id:"sleep",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sleep"},"#"),t(" Sleep")],-1),kt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/sleep-20220603A.webp",alt:"Sleep"})],-1),Dt=e("p",null,"This operation creates a delay in the Flow for a given amount of milliseconds, then continues to the next operation.",-1),It=e("p",null,[e("strong",null,"Options")],-1),St=e("ul",null,[e("li",null,[e("strong",null,"Milliseconds"),t(" \u2014 Define the number of milliseconds to sleep.")])],-1),jt=e("p",null,[e("strong",null,"Payload")],-1),At=e("p",null,[t("This operation does not generate data. It will append a "),e("code",null,"null"),t(" value on its "),e("code",null,"operationKey"),t(".")],-1),Et=e("h2",{id:"transform-payload",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#transform-payload"},"#"),t(" Transform Payload")],-1),xt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/transform-payload-20220603A.webp",alt:"Transform Payload"})],-1),Ot=e("p",null,"This operation lets you custom define your own JSON payload for use in subsequent operations. This enables you to take multiple sources of data and \u201Ctidy them up\u201D into a single payload.",-1),Pt=e("p",null,[e("strong",null,"Options")],-1),Ct=e("ul",null,[e("li",null,[e("strong",null,"JSON"),t(" \u2014 Define JSON to insert into the data chain.")])],-1),Rt=e("p",null,[e("strong",null,"Payload")],-1),qt=e("p",null,[t("When an operation completes successfully, the value you defined under the "),e("strong",null,"JSON"),t(" configuration operation is appended onto its "),e("code",null,"operationKey"),t(".")],-1),Ft=e("p",null,[e("strong",null,"More Details")],-1),Mt=e("p",null,[t("When does the Transform Payload operation come in handy? Let\u2019s say you need to create a payload with data from a "),e("code",null,"users_collection"),t(", "),e("code",null,"widgets_collection"),t(" and some 3rd party resource which processes the data. You can add a "),e("a",{href:"#read-data"},"Read Data"),t(" operation for "),e("code",null,"collection_a"),t(", another Read Data operation for "),e("code",null,"collection_b"),t(", and a "),e("a",{href:"#webhook--request-url"},"Webhook"),t(" operation for the third party resource.")],-1),Ut=e("p",null,"Then you could stitch together all this data to create a new JSON object, like so:",-1),Kt=e("pre",null,[e("code",null,`{
|
|
24
24
|
"note": "You can add a hard-coded value!",
|
|
25
25
|
"name": "{{users_collection.username}}",
|
|
26
26
|
"widget_id": "{{widgets_collection.id}}",
|
|
27
27
|
"results": "{{webhookKey.subnestedValue}}"
|
|
28
28
|
}
|
|
29
|
-
`)],-1),Nt=e("h2",{id:"trigger-flow",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#trigger-flow"},"#"),t(" Trigger Flow")],-1),Bt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/trigger-flow-20220603A.webp",alt:"Trigger Flow"})],-1),Lt=e("em",null,"(optionally)",-1),Ht=e("p",null,[e("strong",null,"Options")],-1),Jt=e("ul",null,[e("li",null,[e("strong",null,"Flow"),t(" \u2014 Define a flow by its primary key UUID.")]),e("li",null,[e("strong",null,"Payload"),t(" \u2014 Defines a JSON "),e("code",null,"payload"),t(" to pass into "),e("code",null,"$trigger"),t(" on the flow it triggered.")])],-1),Wt=e("p",null,[e("strong",null,"Payload")],-1),Yt=e("p",null,[t("If you\u2019ve configured a "),e("strong",null,"Response Body"),t(" in the trigger of the other flow, this will be appended under this "),e("code",null,"operationKey"),t(". If no "),e("strong",null,"Response Body"),t(" is configured, "),e("code",null,"null"),t(" is appended under this "),e("code",null,"operationKey"),t(".")],-1),Vt=e("p",null,[e("strong",null,"More Details")],-1),Qt=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Flows for-loops"),e("p",null,"If you pass an array to the other flow, the other flow will run once for each item in the array.")],-1),Zt="Operations",eo=!1,to="Operations are the individual actions in a flow. They enable you to do things like manage data within Directus, transform the flow's data, send information off to outside services, set conditional logic, trigger other flows, and beyond!",oo="5 min read",no={__name:"operations",setup(Gt,{expose:a}){const l={title:"Operations",modularExtension:!1,description:"Operations are the individual actions in a flow. They enable you to do things like manage data within Directus, transform the flow's data, send information off to outside services, set conditional logic, trigger other flows, and beyond!",readTime:"5 min read"};return a({frontmatter:l}),(
|
|
29
|
+
`)],-1),Nt=e("h2",{id:"trigger-flow",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#trigger-flow"},"#"),t(" Trigger Flow")],-1),Bt=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/trigger-flow-20220603A.webp",alt:"Trigger Flow"})],-1),Lt=e("em",null,"(optionally)",-1),Ht=e("p",null,[e("strong",null,"Options")],-1),Jt=e("ul",null,[e("li",null,[e("strong",null,"Flow"),t(" \u2014 Define a flow by its primary key UUID.")]),e("li",null,[e("strong",null,"Payload"),t(" \u2014 Defines a JSON "),e("code",null,"payload"),t(" to pass into "),e("code",null,"$trigger"),t(" on the flow it triggered.")])],-1),Wt=e("p",null,[e("strong",null,"Payload")],-1),Yt=e("p",null,[t("If you\u2019ve configured a "),e("strong",null,"Response Body"),t(" in the trigger of the other flow, this will be appended under this "),e("code",null,"operationKey"),t(". If no "),e("strong",null,"Response Body"),t(" is configured, "),e("code",null,"null"),t(" is appended under this "),e("code",null,"operationKey"),t(".")],-1),Vt=e("p",null,[e("strong",null,"More Details")],-1),Qt=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Flows for-loops"),e("p",null,"If you pass an array to the other flow, the other flow will run once for each item in the array.")],-1),Zt="Operations",eo=!1,to="Operations are the individual actions in a flow. They enable you to do things like manage data within Directus, transform the flow's data, send information off to outside services, set conditional logic, trigger other flows, and beyond!",oo="5 min read",no={__name:"operations",setup(Gt,{expose:a}){const l={title:"Operations",modularExtension:!1,description:"Operations are the individual actions in a flow. They enable you to do things like manage data within Directus, transform the flow's data, send information off to outside services, set conditional logic, trigger other flows, and beyond!",readTime:"5 min read"};return a({frontmatter:l}),(zt,$t)=>{const n=i("router-link"),r=i("docs-wrapper");return u(),d(r,{frontmatter:l},{default:o(()=>[e("div",c,[h,e("div",p,[g,e("p",null,[t("On this page, we\u2019ll explain what each operation does, the value it appends to the data chain, how to make use of its configuration options, as well as any well as other relevant details. We will assume you have read the documentation on "),s(n,{to:"/docs/configuration/flows"},{default:o(()=>[t("Flows")]),_:1}),t(" and "),s(n,{to:"/docs/configuration/flows/triggers"},{default:o(()=>[t("Triggers")]),_:1}),t(".")])]),_,f,e("p",null,[t("A "),m,t(" operation lets you choose a "),w,t(" or "),y,t(" by validating data passed into it with "),s(n,{to:"/docs/reference/filter-rules"},{default:o(()=>[t("Filter Rules")]),_:1}),t(".")]),v,e("ul",null,[e("li",null,[b,t(" \u2014 Create conditions with "),s(n,{to:"/docs/reference/filter-rules"},{default:o(()=>[t("Filter Rules")]),_:1}),t(".")])]),T,k,D,e("div",I,[e("p",null,[t("When using an "),s(n,{to:"/docs/configuration/flows/triggers.md#event-hook"},{default:o(()=>[t("Event Hook")]),_:1}),t(" configured to be "),S,t(", if your flow ends with a condition that executes with a "),j,t(" path, it will cancel your database transaction.")])]),A,E,x,O,P,C,R,q,F,M,U,K,N,B,e("div",L,[H,e("p",null,[t("If you throw an error in a "),J,t(" operation, it will immediately break your flow chain and stop execution of subsequent flows. If you used a "),s(n,{to:"/docs/configuration/flows/triggers.md#event-hook"},{default:o(()=>[t("\u201CBlocking\u201D Event hook")]),_:1}),t(", throwing an error will cancel the original event transaction to the database.")])]),W,Y,V,Q,G,z,$,X,Z,e("div",ee,[e("p",null,[t("To learn about payload requirements when creating an item, see "),s(n,{to:"/docs/reference/items"},{default:o(()=>[t("API Reference > Items")]),_:1}),t(".")])]),te,oe,ne,se,e("ul",null,[le,ie,ae,re,e("li",null,[ue,t(" \u2014 Select items to delete with a query. To learn more, see "),s(n,{to:"/docs/reference/filter-rules"},{default:o(()=>[t("Filter Rules")]),_:1}),t(".")])]),de,ce,he,pe,ge,_e,fe,me,e("ul",null,[we,ye,ve,e("li",null,[be,t(" \u2014 Select the items with a query. To learn more, see "),s(n,{to:"/docs/reference/filter-rules"},{default:o(()=>[t("Filter Rules")]),_:1}),t(".")]),Te]),ke,De,Ie,Se,je,Ae,Ee,xe,e("ul",null,[Oe,Pe,Ce,Re,e("li",null,[qe,t(" \u2014 Update Items in a collection. To learn more, see "),s(n,{to:"/docs/reference/items"},{default:o(()=>[t("API > Items")]),_:1}),t(".")]),e("li",null,[Fe,t(" \u2014 Select items to update with a query. To learn more, see "),s(n,{to:"/docs/reference/filter-rules"},{default:o(()=>[t("Filter Rules")]),_:1}),t(".")])]),Me,Ue,Ke,Ne,e("div",Be,[e("p",null,[t("To learn about "),Le,t(" requirements when updating an item, see "),s(n,{to:"/docs/reference/items"},{default:o(()=>[t("API Reference > Items")]),_:1}),t(".")])]),He,Je,e("p",null,[t("This operation outputs information to the server-side console as well as the "),s(n,{to:"/docs/configuration/flows#logs"},{default:o(()=>[t("Logs")]),_:1}),t(" within the Data Studio. This is a key tool for troubleshooting flow configuration. A Log operation\u2019s key will have a null value on the data chain.")]),We,e("ul",null,[e("li",null,[Ye,t(" \u2014 Sets a "),s(n,{to:"/docs/configuration/flows#logs"},{default:o(()=>[t("log message")]),_:1}),t(".")])]),Ve,Qe,Ge,e("p",null,[t("For more details, see the section on "),s(n,{to:"/docs/configuration/flows#logs"},{default:o(()=>[t("Logs")]),_:1}),t(".")]),ze,$e,Xe,Ze,et,tt,ot,nt,st,lt,it,at,rt,ut,dt,ct,ht,pt,gt,_t,ft,mt,wt,yt,vt,bt,Tt,kt,Dt,It,St,jt,At,Et,xt,Ot,Pt,Ct,Rt,qt,Ft,Mt,Ut,Kt,Nt,Bt,e("p",null,[t("This operation starts another flow and "),Lt,t(" passes data into it. It should be used in combination with the "),s(n,{to:"/docs/configuration/flows/triggers#another-flow"},{default:o(()=>[t("Another Flow")]),_:1}),t(" trigger.")]),Ht,Jt,Wt,Yt,Vt,Qt])]),_:1})}}};export{no as default,to as description,eo as modularExtension,oo as readTime,Zt as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as y}from"./index.f8fd6ee3.entry.js";var a={exports:{}},v;function f(){return v||(v=1,function(s,b){(function(e){e(y.exports)})(function(e){e.overlayMode=function(r,u,i){return{startState:function(){return{base:e.startState(r),overlay:e.startState(u),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(o){return{base:e.copyState(r,o.base),overlay:e.copyState(u,o.overlay),basePos:o.basePos,baseCur:null,overlayPos:o.overlayPos,overlayCur:null}},token:function(o,n){return(o!=n.streamSeen||Math.min(n.basePos,n.overlayPos)<o.start)&&(n.streamSeen=o,n.basePos=n.overlayPos=o.start),o.start==n.basePos&&(n.baseCur=r.token(o,n.base),n.basePos=o.pos),o.start==n.overlayPos&&(o.pos=o.start,n.overlayCur=u.token(o,n.overlay),n.overlayPos=o.pos),o.pos=Math.min(n.basePos,n.overlayPos),n.overlayCur==null?n.baseCur:n.baseCur!=null&&n.overlay.combineTokens||i&&n.overlay.combineTokens==null?n.baseCur+" "+n.overlayCur:n.overlayCur},indent:r.indent&&function(o,n,l){return r.indent(o.base,n,l)},electricChars:r.electricChars,innerMode:function(o){return{state:o.base,mode:r}},blankLine:function(o){var n,l;return r.blankLine&&(n=r.blankLine(o.base)),u.blankLine&&(l=u.blankLine(o.overlay)),l==null?n:i&&n!=null?n+" "+l:l}}}})}()),a.exports}export{f as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as r,o as n,
|
|
1
|
+
import{a as r,o as n,e as i,y as d,u as e,q as a}from"./runtime-core.esm-bundler.22ec0346.js";const l=e("div",{class:"markdown-body"},[e("blockquote",null,[e("p",null,"Settings Module gives admins ability to bring the app to life. Data models, roles and permissions, flows, translations, branding and whitelabeling, and beyond")]),e("h2",{id:"project-settings",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#project-settings"},"#"),a(" Project Settings")]),e("h2",{id:"data-model",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-model"},"#"),a(" Data Model")]),e("h2",{id:"roles-%26-permissions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#roles-%26-permissions"},"#"),a(" Roles & Permissions")]),e("h2",{id:"presets-and-bookmarks",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#presets-and-bookmarks"},"#"),a(" Presets and Bookmarks")]),e("h2",{id:"translation-strings",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#translation-strings"},"#"),a(" Translation Strings")]),e("h2",{id:"flows",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#flows"},"#"),a(" Flows")])],-1),f="Overview",b=!1,_={__name:"overview",setup(c,{expose:t}){const s={title:"Overview",modularExtension:!1};return t({frontmatter:s}),(h,m)=>{const o=r("docs-wrapper");return n(),i(o,{frontmatter:s},{default:d(()=>[l]),_:1})}}};export{_ as default,b as modularExtension,f as title};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as s,o as c,
|
|
1
|
+
import{a as s,o as c,e as d,y as o,u as e,q as t,z as a}from"./runtime-core.esm-bundler.22ec0346.js";const u={class:"markdown-body"},p=e("blockquote",null,[e("p",null,"The App is a no-code presentation layer for your data, content, and assets. It uses an intuitive left-to-right visual hierarchy for general organization and navigation.")],-1),h=e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/overview/app-overview-20220810A.svg",alt:"Directus Application Overview",class:"no-shadow"},null,-1),g=e("h2",{id:"1.-module-bar",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#1.-module-bar"},"#"),t(" 1. Module Bar")],-1),f=e("p",null,"The leftmost section of the App is the module bar, which includes the:",-1),_=e("li",null,[e("strong",null,"Project Logo"),t(" \u2014 Displays your configured project logo and project color (defaults to the Directus logo and color). If configured, clicking this component will navigate to the Project URL. During platform activity, an indeterminate progress indicator will also be shown here.")],-1),m=e("strong",null,"Module Navigation",-1),v=e("strong",null,"Notifications",-1),y=e("li",null,[e("strong",null,"Current User Menu"),t(" \u2014 This component displays the authenticated user\u2019s name and avatar. "),e("ul",null,[e("li",null,"Sign Out \u2014 Hovering over the User Menu exposes the button to log out of the platform.")])],-1),b=e("h2",{id:"2.-navigation-bar",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#2.-navigation-bar"},"#"),t(" 2. Navigation Bar")],-1),w=e("p",null,"The navigation bar is based on the current module, and includes:",-1),A=e("strong",null,"Project Name",-1),T=e("strong",null,"Navigation",-1),x=e("h2",{id:"3.-page",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#3.-page"},"#"),t(" 3. Page")],-1),k=e("p",null,"This is where the current page\u2019s content is shown, including:",-1),P=e("ul",null,[e("li",null,[e("strong",null,"Header"),t(" \u2014 A fixed section at the top of each page, the header includes: "),e("ul",null,[e("li",null,"Page Icon \u2014 Clicking this navigates back to the previous page."),e("li",null,"Module Name \u2014 Clicking this navigates to the parent module/section."),e("li",null,"Page Title \u2014 Displays dynamic title of the current page."),e("li",null,"Action Buttons \u2014 Right-aligned contextual buttons for specific page actions.")])]),e("li",null,[e("strong",null,"Page Content"),t(" \u2014 This displays the content of the page you navigated to.")])],-1),N=e("h2",{id:"4.-sidebar",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#4.-sidebar"},"#"),t(" 4. Sidebar")],-1),C=e("p",null,"The sidebar provides additional context and options for the current page, including:",-1),j=e("ul",null,[e("li",null,[e("strong",null,"Page Components"),t(" \u2014 Lists any contextual page components available. The \u201CInfo\u201D component is available on every page, explaining the page\u2019s general purpose and relevant details. Clicking any sidebar component will accordion it open. If the App window is large enough, the sidebar will automatically open, and can be closed by clicking the \u201CX\u201D in the top-right.")]),e("li",null,[e("strong",null,"Notifications Tray"),t(" \u2014 Fixed to the bottom of the page sidebar, this button opens a tray of recent user notifications, and provides a link to your Activity Log page.")])],-1),M="The Application",z=!1,L="The App is a no-code presentation layer for your data, content, and assets.",U="3 min read",O={__name:"overview",setup(B,{expose:l}){const i={title:"The Application",modularExtension:!1,description:"The App is a no-code presentation layer for your data, content, and assets.",readTime:"3 min read"};return l({frontmatter:i}),(I,S)=>{const n=s("router-link"),r=s("docs-wrapper");return c(),d(r,{frontmatter:i},{default:o(()=>[e("div",u,[p,h,g,f,e("ul",null,[_,e("li",null,[m,t(" \u2014 Allows navigating between the different modules your user has access to. Customizing the Module Navigation is done within the "),a(n,{to:"/docs/app/settings"},{default:o(()=>[t("Project Settings")]),_:1}),t(", but the default module list includes: "),e("ul",null,[e("li",null,[a(n,{to:"/docs/app/content/collections"},{default:o(()=>[t("Content")]),_:1}),t(" \u2014 The primary way to view and interact with database content")]),e("li",null,[a(n,{to:"/docs/app/user-directory"},{default:o(()=>[t("User Directory")]),_:1}),t(" \u2014 A dedicated section for the platform\u2019s system Users")]),e("li",null,[a(n,{to:"/docs/app/file-library"},{default:o(()=>[t("File Library")]),_:1}),t(" \u2014 An aggregate of all files uploaded and managed within the platform")]),e("li",null,[a(n,{to:"/docs/app/insights"},{default:o(()=>[t("Insights")]),_:1}),t(" \u2014 Access to infinitely customizable data dashboards")]),e("li",null,[a(n,{to:"/docs/app/overview"},{default:o(()=>[t("App Guide")]),_:1}),t(" \u2014 A tailored, in-app portal for the platform\u2019s concepts, guides, and reference")]),e("li",null,[a(n,{to:"/docs/app/settings"},{default:o(()=>[t("Settings")]),_:1}),t(" \u2014 An admin-only section for configuring the project and system settings")])])]),e("li",null,[v,t(" - Opens a drawer of notifications, such as from "),a(n,{to:"/docs/app/content/items#mentions"},{default:o(()=>[t("mentions")]),_:1}),t(".")]),y]),b,w,e("ul",null,[e("li",null,[A,t(" \u2014 Shows an icon and tooltip indicating the API\u2019s connection strength, and the name of your current project, which can be configured under "),a(n,{to:"/docs/app/settings"},{default:o(()=>[t("Project Settings")]),_:1}),t(".")]),e("li",null,[T,t(" \u2014 This is a dynamic navigation based on your current module. Some modules also support "),a(n,{to:"/docs/getting-started/glossary#presets"},{default:o(()=>[t("Bookmark Presets")]),_:1}),t(", which are a customizable links to specific data-sets.")])]),x,k,P,N,C,j])]),_:1})}}};export{O as default,L as description,z as modularExtension,U as readTime,M as title};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as c,o as i,
|
|
1
|
+
import{a as c,o as i,e as d,y as o,u as t,q as e,z as s}from"./runtime-core.esm-bundler.22ec0346.js";const u={class:"markdown-body"},m=t("blockquote",null,[t("p",null,"Whether you\u2019re a hobbyist, startup or Fortune 500 enterprise, our flexible Cloud service lets you get up and running with Directus quickly. We do all the heavy lifting of managing your infrastructure and software updates - and you also benefit from fair and predictable usage-based pricing.")],-1),h=t("p",null,[t("img",{src:"https://cdn.directus.io/docs/v9/cloud/overview/overview-20220322A/hero-image-20220402A.webp",alt:"Hero Image"})],-1),p=t("a",{href:"https://directus.cloud",target:"_blank",rel:"noopener noreferrer"},"Directus Cloud",-1),g=t("h2",{id:"getting-started",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#getting-started"},"#"),e(" Getting Started")],-1),_=t("video",{alt:"Cloud Dashboard Overview",loop:"",muted:"",controls:"",autoplay:"",playsinline:""},[t("source",{src:"https://cdn.directus.io/docs/v9/cloud/overview/overview-20220322A/cloud-dashboard-overview-20220329A.mp4",type:"video/mp4"})],-1),f=t("h2",{id:"accounts",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#accounts"},"#"),e(" Accounts")],-1),y=t("h3",{id:"cloud-dashboard-header",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#cloud-dashboard-header"},"#"),e(" Cloud Dashboard Header")],-1),b=t("span",{mi:"",icon:""},"check",-1),v=t("li",null,[t("span",{mi:"",icon:""},"notifications"),e(" \u2014 Notifications such as version upgrades, platform upgrades, etc.")],-1),T=t("li",null,[t("span",{mi:"",icon:""},"help_outline"),e(" \u2014 Documentation, Community Support and Request for Premium Support.")],-1),w=t("span",{mi:"",icon:""},"expand_more",-1),j=t("span",{mi:"",icon:""},"account_circle",-1),x=t("h2",{id:"teams",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#teams"},"#"),e(" Teams")],-1),P=t("h2",{id:"projects",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#projects"},"#"),e(" Projects")],-1),M="Overview",S=!1,V="Whether you're a hobbyist, startup or Fortune 500 enterprise, our flexible Cloud service lets you get up and running with Directus quickly.",q="3 min read",O={__name:"overview",setup(A,{expose:r}){const n={title:"Overview",modularExtension:!1,description:"Whether you're a hobbyist, startup or Fortune 500 enterprise, our flexible Cloud service lets you get up and running with Directus quickly.",readTime:"3 min read"};return r({frontmatter:n}),(C,k)=>{const a=c("router-link"),l=c("docs-wrapper");return i(),d(l,{frontmatter:n},{default:o(()=>[t("div",u,[m,h,t("p",null,[p,e(" is a hosting platform for "),s(a,{to:"/docs/cloud/glossary#projects"},{default:o(()=>[e("Directus Projects")]),_:1}),e(" which handles data storage, hosting, updates and scalability so you can focus on building your digital apps and experiences. There are three "),s(a,{to:"/docs/cloud/glossary#projects"},{default:o(()=>[e("tiers of Cloud Projects")]),_:1}),e(": Community, Standard and Enterprise. All three tiers come with all the great features of Directus Core, as well as all "),s(a,{to:"/docs/cloud/glossary#cloud-exclusives"},{default:o(()=>[e("Cloud Exclusive")]),_:1}),e(" extensions.")]),t("p",null,[e("The Cloud Dashboard is constructed to manage three key components: "),s(a,{to:"/docs/cloud/glossary#accounts"},{default:o(()=>[e("Accounts")]),_:1}),e(", "),s(a,{to:"/docs/cloud/glossary#teams"},{default:o(()=>[e("Teams")]),_:1}),e(" and "),s(a,{to:"/docs/cloud/glossary#projects"},{default:o(()=>[e("Projects")]),_:1}),e(". First, create an Account. Once logged in, create or join a Team, and your Account will become a Member of that Team. Once that\u2019s complete, you can create Projects within a Team.")]),t("p",null,[e("Accounts can be Members on multiple Teams. All Team Members have SuperAdmin privileges to manage the Team\u2019s Projects, Project "),s(a,{to:"/docs/cloud/teams#manage-billing"},{default:o(()=>[e("billing")]),_:1}),e(", other Team Members and the Team itself. Teams can have multiple Team Members and multiple Projects. Projects can only be managed by one Team and cannot be transferred to new Teams.")]),g,t("p",null,[e("To make life easy, you have the option to "),s(a,{to:"/docs/cloud/accounts#create-account-and-login"},{default:o(()=>[e("create and login to your free Cloud Account")]),_:1}),e(" automatically with GitHub. If you don\u2019t have a GitHub account or prefer not to use this login method, email-and-password login is available, as well. Once logged in, create a new Team or select an existing Team. Then you can access and manage the Team\u2019s associated Projects, billing details, Team Members, Activity and Settings.")]),_,t("p",null,[e("Remember: The Dashboard layout itself is designed to manage "),s(a,{to:"/docs/cloud/glossary#accounts"},{default:o(()=>[e("Accounts")]),_:1}),e(", "),s(a,{to:"/docs/cloud/glossary#teams"},{default:o(()=>[e("Teams")]),_:1}),e(" and "),s(a,{to:"/docs/cloud/glossary#projects"},{default:o(()=>[e("Projects")]),_:1}),e(". Here\u2019s how the Dashboard layout relates to each of these components:")]),f,y,t("ul",null,[t("li",null,[b,e(" \u2014 View Directus Cloud "),s(a,{to:"/docs/cloud/glossary#system-status"},{default:o(()=>[e("system status")]),_:1}),e(".")]),v,T,t("li",null,[w,e(" \u2014 "),s(a,{to:"/docs/cloud/teams#create-a-team"},{default:o(()=>[e("Create new Teams")]),_:1}),e(" and navigate between Teams you are on.")]),t("li",null,[j,e(" \u2014 "),s(a,{to:"/docs/cloud/accounts"},{default:o(()=>[e("Access, edit or destroy Account")]),_:1}),e(".")])]),x,t("ul",null,[t("li",null,[s(a,{to:"/docs/cloud/teams"},{default:o(()=>[e("Team Members")]),_:1}),e(" \u2014 View, invite and remove other Team Members or leave a Team.")]),t("li",null,[s(a,{to:"/docs/cloud/teams#view-team-activity"},{default:o(()=>[e("Team Activity")]),_:1}),e(" \u2014 View Team activity such as Project creation and deletion, billing information changes, Member invitations and removals, etc.")]),t("li",null,[s(a,{to:"/docs/cloud/teams#update-team-settings"},{default:o(()=>[e("Team Settings")]),_:1}),e(" \u2014 Edit the Team Name and Team Slug, as well as "),s(a,{to:"/docs/cloud/teams#destroy-a-team"},{default:o(()=>[e("destroy a Team")]),_:1}),e(".")])]),P,t("ul",null,[t("li",null,[s(a,{to:"/docs/cloud/projects"},{default:o(()=>[e("Team Projects")]),_:1}),e(" \u2014 View and access all Projects managed within a Team. Click a Project to enter the Product Details Page and access, monitor, edit or delete a Project.")]),t("li",null,[s(a,{to:"/docs/cloud/teams#manage-billing"},{default:o(()=>[e("Team Billing")]),_:1}),e(" \u2014 View and manage billing details such as credit card information, usage, subscriptions and receipts.")])])])]),_:1})}}};export{O as default,V as description,S as modularExtension,q as readTime,M as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as P}from"./index.f8fd6ee3.entry.js";function F(a,l){for(var i=0;i<l.length;i++){const u=l[i];if(typeof u!="string"&&!Array.isArray(u)){for(const o in u)if(o!=="default"&&!(o in a)){const f=Object.getOwnPropertyDescriptor(u,o);f&&Object.defineProperty(a,o,f.get?f:{enumerable:!0,get:()=>u[o]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}};(function(a,l){(function(i){i(P.exports)})(function(i){i.defineMode("oz",function(u){function o(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var f=/[\^@!\|<>#~\.\*\-\+\\/,=]/,v=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,x=/(:::)|(\.\.\.)|(=<:)|(>=:)/,s=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],p=["end"],b=o(["true","false","nil","unit"]),y=o(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),w=o(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),h=o(s),k=o(p);function c(e,n){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match("[]"))return"keyword";if(e.match(x)||e.match(v))return"operator";if(e.match(b))return"atom";var t=e.match(w);if(t)return n.doInCurrentLine?n.doInCurrentLine=!1:n.currentIndent++,t[0]=="proc"||t[0]=="fun"?n.tokenize=A:t[0]=="class"?n.tokenize=S:t[0]=="meth"&&(n.tokenize=I),"keyword";if(e.match(h)||e.match(y))return"keyword";if(e.match(k))return n.currentIndent--,"keyword";var r=e.next();if(r=='"'||r=="'")return n.tokenize=E(r),n.tokenize(e,n);if(/[~\d]/.test(r)){if(r=="~")if(/^[0-9]/.test(e.peek())){if(e.next()=="0"&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}else return null;return r=="0"&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return r=="%"?(e.skipToEnd(),"comment"):r=="/"&&e.eat("*")?(n.tokenize=m,m(e,n)):f.test(r)?"operator":(e.eatWhile(/\w/),"variable")}function S(e,n){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),n.tokenize=c,"variable-3")}function I(e,n){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),n.tokenize=c,"def")}function A(e,n){return e.eatSpace()?null:!n.hasPassedFirstStage&&e.eat("{")?(n.hasPassedFirstStage=!0,"bracket"):n.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),n.hasPassedFirstStage=!1,n.tokenize=c,"def"):(n.tokenize=c,null)}function m(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=c;break}t=r=="*"}return"comment"}function E(e){return function(n,t){for(var r=!1,d,z=!1;(d=n.next())!=null;){if(d==e&&!r){z=!0;break}r=!r&&d=="\\"}return(z||!r)&&(t.tokenize=c),"string"}}function C(){var e=s.concat(p);return new RegExp("[\\[\\]]|("+e.join("|")+")$")}return{startState:function(){return{tokenize:c,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,n){return e.sol()&&(n.doInCurrentLine=0),n.tokenize(e,n)},indent:function(e,n){var t=n.replace(/^\s+|\s+$/g,"");return t.match(k)||t.match(h)||t.match(/(\[])/)?u.indentUnit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*u.indentUnit},fold:"indent",electricInput:C(),lineComment:"%",blockCommentStart:"/*",blockCommentEnd:"*/"}}),i.defineMIME("text/x-oz","oz")})})();const O=g.exports,j=F({__proto__:null,default:O},[g.exports]);export{j as o};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as l,o as c,
|
|
1
|
+
import{a as l,o as c,e as h,y as e,u as t,q as s,z as a}from"./runtime-core.esm-bundler.22ec0346.js";const d={class:"markdown-body"},p=t("h2",{id:"extension-entrypoint",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#extension-entrypoint"},"#"),s(" Extension Entrypoint")],-1),u=t("p",null,[s("The entrypoint of your panel is the "),t("code",null,"index"),s(" file inside the "),t("code",null,"src/"),s(" folder of your extension package. It exports a configuration object with options to configure the behavior of your panel. When loading your panel, this object is imported by the Directus host.")],-1),m=t("p",null,"Example of an entrypoint:",-1),_=t("pre",null,[t("code",{class:"language-js"},[t("span",{class:"hljs-keyword"},"import"),s(),t("span",{class:"hljs-title class_"},"PanelComponent"),s(),t("span",{class:"hljs-keyword"},"from"),s(),t("span",{class:"hljs-string"},"'./panel.vue'"),s(`;
|
|
2
2
|
|
|
3
3
|
`),t("span",{class:"hljs-keyword"},"export"),s(),t("span",{class:"hljs-keyword"},"default"),s(` {
|
|
4
4
|
`),t("span",{class:"hljs-attr"},"id"),s(": "),t("span",{class:"hljs-string"},"'custom'"),s(`,
|
|
@@ -62,4 +62,4 @@ export default {
|
|
|
62
62
|
`),t("span",{class:"hljs-comment"},"// ..."),s(`
|
|
63
63
|
},
|
|
64
64
|
};
|
|
65
|
-
`)])],-1),
|
|
65
|
+
`)])],-1),z=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Vue Options API"),t("p",null,[s("If you prefer to use the Vue Options API, you can inject the "),t("code",null,"api"),s(" and "),t("code",null,"stores"),s(" properties directly.")])],-1),O="Custom Panels",U=!0,F="A guide on how to build custom Panels in Directus.",L="3 min read",G={__name:"panels",setup(B,{expose:i}){const o={title:"Custom Panels",modularExtension:!0,description:"A guide on how to build custom Panels in Directus.",readTime:"3 min read"};return i({frontmatter:o}),(W,q)=>{const n=l("router-link"),r=l("docs-wrapper");return c(),h(r,{frontmatter:o},{default:e(()=>[t("div",d,[t("blockquote",null,[t("p",null,[s("Panels are modular units of data visualization that exist within the "),a(n,{to:"/docs/app/insights"},{default:e(()=>[s("Insights module")]),_:1}),s(". Each panel exists within a Dashboard and can be positioned and resized as needed. "),a(n,{to:"/docs/getting-started/glossary#panels"},{default:e(()=>[s("Learn more about Panels")]),_:1}),s(".")])]),p,u,m,_,g,t("ul",null,[f,y,t("li",null,[j,s(" \u2014 An icon name from the "),a(n,{to:"/docs/getting-started/glossary#material-icons"},{default:e(()=>[s("material icon set")]),_:1}),s(", or the extended list of Directus custom icons.")]),b,x,w,k,v]),T,A,V,C,P,D,I,S,E,H,z])]),_:1})}}};export{G as default,F as description,U as modularExtension,L as readTime,O as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as h}from"./index.f8fd6ee3.entry.js";function g(c,u){for(var o=0;o<u.length;o++){const i=u[o];if(typeof i!="string"&&!Array.isArray(i)){for(const a in i)if(a!=="default"&&!(a in c)){const l=Object.getOwnPropertyDescriptor(i,a);l&&Object.defineProperty(c,a,l.get?l:{enumerable:!0,get:()=>i[a]})}}}return Object.freeze(Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}))}var k={exports:{}};(function(c,u){(function(o){o(h.exports)})(function(o){o.defineMode("pascal",function(){function i(r){for(var t={},e=r.split(" "),n=0;n<e.length;++n)t[e[n]]=!0;return t}var a=i("absolute and array asm begin case const constructor destructor div do downto else end file for function goto if implementation in inherited inline interface label mod nil not object of operator or packed procedure program record reintroduce repeat self set shl shr string then to type unit until uses var while with xor as class dispinterface except exports finalization finally initialization inline is library on out packed property raise resourcestring threadvar try absolute abstract alias assembler bitpacked break cdecl continue cppdecl cvar default deprecated dynamic enumerator experimental export external far far16 forward generic helper implements index interrupt iocheck local message name near nodefault noreturn nostackframe oldfpccall otherwise overload override pascal platform private protected public published read register reintroduce result safecall saveregisters softfloat specialize static stdcall stored strict unaligned unimplemented varargs virtual write"),l={null:!0},f=/[+\-*&%=<>!?|\/]/;function b(r,t){var e=r.next();if(e=="#"&&t.startOfLine)return r.skipToEnd(),"meta";if(e=='"'||e=="'")return t.tokenize=v(e),t.tokenize(r,t);if(e=="("&&r.eat("*"))return t.tokenize=p,p(r,t);if(e=="{")return t.tokenize=d,d(r,t);if(/[\[\]\(\),;\:\.]/.test(e))return null;if(/\d/.test(e))return r.eatWhile(/[\w\.]/),"number";if(e=="/"&&r.eat("/"))return r.skipToEnd(),"comment";if(f.test(e))return r.eatWhile(f),"operator";r.eatWhile(/[\w\$_]/);var n=r.current();return a.propertyIsEnumerable(n)?"keyword":l.propertyIsEnumerable(n)?"atom":"variable"}function v(r){return function(t,e){for(var n=!1,s,m=!1;(s=t.next())!=null;){if(s==r&&!n){m=!0;break}n=!n&&s=="\\"}return(m||!n)&&(e.tokenize=null),"string"}}function p(r,t){for(var e=!1,n;n=r.next();){if(n==")"&&e){t.tokenize=null;break}e=n=="*"}return"comment"}function d(r,t){for(var e;e=r.next();)if(e=="}"){t.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(r,t){if(r.eatSpace())return null;var e=(t.tokenize||b)(r,t);return e=="comment"||e=="meta",e},electricChars:"{}"}}),o.defineMIME("text/x-pascal","pascal")})})();const x=k.exports,w=g({__proto__:null,default:x},[k.exports]);export{w as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as a}from"./index.f8fd6ee3.entry.js";import{a as h}from"./javascript.705102e7.js";function d(f,t){for(var i=0;i<t.length;i++){const l=t[i];if(typeof l!="string"&&!Array.isArray(l)){for(const r in l)if(r!=="default"&&!(r in f)){const o=Object.getOwnPropertyDescriptor(l,r);o&&Object.defineProperty(f,r,o.get?o:{enumerable:!0,get:()=>l[r]})}}}return Object.freeze(Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}};(function(f,t){(function(i){i(a.exports,h.exports)})(function(i){i.defineMode("pegjs",function(l){var r=i.getMode(l,"javascript");function o(e){return e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)}return{startState:function(){return{inString:!1,stringType:null,inComment:!1,inCharacterClass:!1,braced:0,lhs:!0,localState:null}},token:function(e,n){if(e&&!n.inString&&!n.inComment&&(e.peek()=='"'||e.peek()=="'")&&(n.stringType=e.peek(),e.next(),n.inString=!0),!n.inString&&!n.inComment&&e.match("/*")&&(n.inComment=!0),n.inString){for(;n.inString&&!e.eol();)e.peek()===n.stringType?(e.next(),n.inString=!1):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property string":"string"}else if(n.inComment){for(;n.inComment&&!e.eol();)e.match("*/")?n.inComment=!1:e.match(/^.[^\*]*/);return"comment"}else if(n.inCharacterClass)for(;n.inCharacterClass&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||(n.inCharacterClass=!1);else{if(e.peek()==="[")return e.next(),n.inCharacterClass=!0,"bracket";if(e.match("//"))return e.skipToEnd(),"comment";if(n.braced||e.peek()==="{"){n.localState===null&&(n.localState=i.startState(r));var u=r.token(e,n.localState),p=e.current();if(!u)for(var c=0;c<p.length;c++)p[c]==="{"?n.braced++:p[c]==="}"&&n.braced--;return u}else{if(o(e))return e.peek()===":"?"variable":"variable-2";if(["[","]","(",")"].indexOf(e.peek())!=-1)return e.next(),"bracket";e.eatSpace()||e.next()}}return null}}},"javascript")})})();const S=g.exports,k=d({__proto__:null,default:S},[g.exports]);export{k as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as v}from"./index.f8fd6ee3.entry.js";function P(d,c){for(var E=0;E<c.length;E++){const l=c[E];if(typeof l!="string"&&!Array.isArray(l)){for(const R in l)if(R!=="default"&&!(R in d)){const A=Object.getOwnPropertyDescriptor(l,R);A&&Object.defineProperty(d,R,A.get?A:{enumerable:!0,get:()=>l[R]})}}}return Object.freeze(Object.defineProperty(d,Symbol.toStringTag,{value:"Module"}))}var h={exports:{}};(function(d,c){(function(E){E(v.exports)})(function(E){E.defineMode("perl",function(){var $={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},f="string-2",u=/[goseximacplud]/;function r(n,i,o,p,_){return i.chain=null,i.style=null,i.tail=null,i.tokenize=function(e,T){for(var S=!1,I,N=0;I=e.next();){if(I===o[N]&&!S)return o[++N]!==void 0?(T.chain=o[N],T.style=p,T.tail=_):_&&e.eatWhile(_),T.tokenize=g,p;S=!S&&I=="\\"}return p},i.tokenize(n,i)}function O(n,i,o){return i.tokenize=function(p,_){return p.string==o&&(_.tokenize=g),p.skipToEnd(),"string"},i.tokenize(n,i)}function g(n,i){if(n.eatSpace())return null;if(i.chain)return r(n,i,i.chain,i.style,i.tail);if(n.match(/^\-?[\d\.]/,!1)&&n.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(n.match(/^<<(?=[_a-zA-Z])/))return n.eatWhile(/\w/),O(n,i,n.current().substr(2));if(n.sol()&&n.match(/^\=item(?!\w)/))return O(n,i,"=cut");var o=n.next();if(o=='"'||o=="'"){if(R(n,3)=="<<"+o){var p=n.pos;n.eatWhile(/\w/);var _=n.current().substr(1);if(_&&n.eat(o))return O(n,i,_);n.pos=p}return r(n,i,[o],"string")}if(o=="q"){var e=l(n,-2);if(!(e&&/\w/.test(e))){if(e=l(n,0),e=="x"){if(e=l(n,1),e=="(")return t(n,2),r(n,i,[")"],f,u);if(e=="[")return t(n,2),r(n,i,["]"],f,u);if(e=="{")return t(n,2),r(n,i,["}"],f,u);if(e=="<")return t(n,2),r(n,i,[">"],f,u);if(/[\^'"!~\/]/.test(e))return t(n,1),r(n,i,[n.eat(e)],f,u)}else if(e=="q"){if(e=l(n,1),e=="(")return t(n,2),r(n,i,[")"],"string");if(e=="[")return t(n,2),r(n,i,["]"],"string");if(e=="{")return t(n,2),r(n,i,["}"],"string");if(e=="<")return t(n,2),r(n,i,[">"],"string");if(/[\^'"!~\/]/.test(e))return t(n,1),r(n,i,[n.eat(e)],"string")}else if(e=="w"){if(e=l(n,1),e=="(")return t(n,2),r(n,i,[")"],"bracket");if(e=="[")return t(n,2),r(n,i,["]"],"bracket");if(e=="{")return t(n,2),r(n,i,["}"],"bracket");if(e=="<")return t(n,2),r(n,i,[">"],"bracket");if(/[\^'"!~\/]/.test(e))return t(n,1),r(n,i,[n.eat(e)],"bracket")}else if(e=="r"){if(e=l(n,1),e=="(")return t(n,2),r(n,i,[")"],f,u);if(e=="[")return t(n,2),r(n,i,["]"],f,u);if(e=="{")return t(n,2),r(n,i,["}"],f,u);if(e=="<")return t(n,2),r(n,i,[">"],f,u);if(/[\^'"!~\/]/.test(e))return t(n,1),r(n,i,[n.eat(e)],f,u)}else if(/[\^'"!~\/(\[{<]/.test(e)){if(e=="(")return t(n,1),r(n,i,[")"],"string");if(e=="[")return t(n,1),r(n,i,["]"],"string");if(e=="{")return t(n,1),r(n,i,["}"],"string");if(e=="<")return t(n,1),r(n,i,[">"],"string");if(/[\^'"!~\/]/.test(e))return r(n,i,[n.eat(e)],"string")}}}if(o=="m"){var e=l(n,-2);if(!(e&&/\w/.test(e))&&(e=n.eat(/[(\[{<\^'"!~\/]/),e)){if(/[\^'"!~\/]/.test(e))return r(n,i,[e],f,u);if(e=="(")return r(n,i,[")"],f,u);if(e=="[")return r(n,i,["]"],f,u);if(e=="{")return r(n,i,["}"],f,u);if(e=="<")return r(n,i,[">"],f,u)}}if(o=="s"){var e=/[\/>\]})\w]/.test(l(n,-2));if(!e&&(e=n.eat(/[(\[{<\^'"!~\/]/),e))return e=="["?r(n,i,["]","]"],f,u):e=="{"?r(n,i,["}","}"],f,u):e=="<"?r(n,i,[">",">"],f,u):e=="("?r(n,i,[")",")"],f,u):r(n,i,[e,e],f,u)}if(o=="y"){var e=/[\/>\]})\w]/.test(l(n,-2));if(!e&&(e=n.eat(/[(\[{<\^'"!~\/]/),e))return e=="["?r(n,i,["]","]"],f,u):e=="{"?r(n,i,["}","}"],f,u):e=="<"?r(n,i,[">",">"],f,u):e=="("?r(n,i,[")",")"],f,u):r(n,i,[e,e],f,u)}if(o=="t"){var e=/[\/>\]})\w]/.test(l(n,-2));if(!e&&(e=n.eat("r"),e&&(e=n.eat(/[(\[{<\^'"!~\/]/),e)))return e=="["?r(n,i,["]","]"],f,u):e=="{"?r(n,i,["}","}"],f,u):e=="<"?r(n,i,[">",">"],f,u):e=="("?r(n,i,[")",")"],f,u):r(n,i,[e,e],f,u)}if(o=="`")return r(n,i,[o],"variable-2");if(o=="/")return/~\s*$/.test(R(n))?r(n,i,[o],f,u):"operator";if(o=="$"){var p=n.pos;if(n.eatWhile(/\d/)||n.eat("{")&&n.eatWhile(/\d/)&&n.eat("}"))return"variable-2";n.pos=p}if(/[$@%]/.test(o)){var p=n.pos;if(n.eat("^")&&n.eat(/[A-Z]/)||!/[@$%&]/.test(l(n,-2))&&n.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var e=n.current();if($[e])return"variable-2"}n.pos=p}if(/[$@%&]/.test(o)&&(n.eatWhile(/[\w$]/)||n.eat("{")&&n.eatWhile(/[\w$]/)&&n.eat("}"))){var e=n.current();return $[e]?"variable-2":"variable"}if(o=="#"&&l(n,-2)!="$")return n.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(o)){var p=n.pos;if(n.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),$[n.current()])return"operator";n.pos=p}if(o=="_"&&n.pos==1){if(A(n,6)=="_END__")return r(n,i,["\0"],"comment");if(A(n,7)=="_DATA__")return r(n,i,["\0"],"variable-2");if(A(n,7)=="_C__")return r(n,i,["\0"],"string")}if(/\w/.test(o)){var p=n.pos;if(l(n,-2)=="{"&&(l(n,0)=="}"||n.eatWhile(/\w/)&&l(n,0)=="}"))return"string";n.pos=p}if(/[A-Z]/.test(o)){var T=l(n,-2),p=n.pos;if(n.eatWhile(/[A-Z_]/),/[\da-z]/.test(l(n,0)))n.pos=p;else{var e=$[n.current()];return e?(e[1]&&(e=e[0]),T!=":"?e==1?"keyword":e==2?"def":e==3?"atom":e==4?"operator":e==5?"variable-2":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(o)){var T=l(n,-2);n.eatWhile(/\w/);var e=$[n.current()];return e?(e[1]&&(e=e[0]),T!=":"?e==1?"keyword":e==2?"def":e==3?"atom":e==4?"operator":e==5?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:g,chain:null,style:null,tail:null}},token:function(n,i){return(i.tokenize||g)(n,i)},lineComment:"#"}}),E.registerHelper("wordChars","perl",/[\w$]/),E.defineMIME("text/x-perl","perl");function l($,f){return $.string.charAt($.pos+(f||0))}function R($,f){if(f){var u=$.pos-f;return $.string.substr(u>=0?u:0,f)}else return $.string.substr(0,$.pos-1)}function A($,f){var u=$.string.length,r=u-$.pos+1;return $.string.substr($.pos,f&&f<u?f:r)}function t($,f){var u=$.pos+f,r;u<=0?$.pos=0:u>=(r=$.string.length-1)?$.pos=r:$.pos=u}})})();const b=h.exports,D=P({__proto__:null,default:b},[h.exports]);export{D as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n,o as a,e as u,y as o,u as e,q as s,z as t}from"./runtime-core.esm-bundler.22ec0346.js";const m={class:"markdown-body"},d=e("blockquote",null,[e("p",null,"Directus offers an extremely granular, yet easy to configure permissions system. When you create a role, all permissions are turned off by default. From here, you explicitly reconfigure its permissions for each collection as desired.")],-1),p={class:"tip hint"},h=e("div",{class:"hint-title"},"Learn More",-1),f=e("h2",{id:"configure-permissions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#configure-permissions"},"#"),s(" Configure Permissions")],-1),g=e("video",{title:"Configure Role Permissions",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/users-roles-permissions/permissions-20220909/configure-permissions-20220907A.mp4",type:"video/mp4"})],-1),_=e("p",null,"To configure a role\u2019s access permissions, follow these steps.",-1),y=e("strong",null,"Settings > Roles & Permissions > [Role]",-1),v=e("strong",null,"Permissions",-1),w=e("br",null,null,-1),C=e("li",null,[s("Click the icon of the collection and permission type that you want to set and a tooltip will appear. If you\u2019d like to adjust permissions for Directus system collections, then click "),e("strong",null,"System Collections"),s(" to expand the menu and access these collections.")],-1),b=e("li",null,[s("Click the icon in the relevant collection row and CRUDS permission column and a popup menu will appear with the following permission levels: "),e("ul",null,[e("li",null,[e("span",{mi:"",icon:"",muted:""},"check"),s(),e("strong",null,"All Access"),s(" \u2014 Grants permission to all items in the collection.")]),e("li",null,[e("span",{mi:"",icon:"",muted:""},"block"),s(),e("strong",null,"No Access"),s(" \u2014 Denies permission to all items in the collection.")]),e("li",null,[e("span",{mi:"",icon:"",muted:""},"rule"),s(),e("strong",null,"Use Custom"),s(" \u2014 Opens the custom access permissions drawer.")])])],-1),A=e("li",null,[s("From here, there are two possibilities: "),e("ul",null,[e("li",null,[s("If you selected "),e("span",{mi:"",muted:""},"check"),s(),e("strong",null,"All Access"),s(" or "),e("span",{mi:"",muted:""},"block"),s(),e("strong",null,"No Access"),s(", setup is complete.")]),e("li",null,[s("If you chose "),e("span",{mi:"",icon:"",muted:""},"rule"),s(),e("strong",null,"Use Custom"),s(", please see "),e("a",{href:"#configure-custom-permissions"},"Configure Custom Permissions"),s(".")])])],-1),R={class:"warning hint"},P=e("div",{class:"hint-title"},"Admin Roles",-1),k=e("strong",null,"Admin Access",-1),S=e("h2",{id:"configure-custom-permissions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#configure-custom-permissions"},"#"),s(" Configure Custom Permissions")],-1),x=e("video",{title:"Configure Role Permissions",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/users-roles-permissions/permissions-20220909/custom-access-permissions-20220909A.mp4",type:"video/mp4"})],-1),D=e("p",null,"To configure custom access permissions for a role, follow these steps.",-1),T=e("li",null,[e("p",null,[s("Follow the steps to "),e("a",{href:"#configure-permissions"},"configure permissions"),s(" and choose "),e("span",{mi:"",icon:"",muted:""},"rule"),s(),e("strong",null,"Use Custom"),s(" on step four.")])],-1),N=e("p",null,"Configure custom access permission validations as desired. For each CRUDS permission, you will have one or more of the following sub-menus:",-1),U=e("strong",null,"Item Permissions",-1),I=e("li",null,[e("strong",null,"Field Permissions"),s(" \u2014 Toggle to limit which fields the role is granted permissions.")],-1),F=e("strong",null,"Field Validation",-1),M=e("strong",null,"Field Presets",-1),V=e("li",null,[e("p",null,[s("Click "),e("span",{mi:"",btn:""},"check"),s(" in the side drawer header to confirm and save custom access permissions.")])],-1),q=e("h2",{id:"toggle-all-collection-permissions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#toggle-all-collection-permissions"},"#"),s(" Toggle All Collection Permissions")],-1),B=e("video",{title:"Toggle all Collection Permissions",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/users-roles-permissions/permissions-20220909/toggle-all-permissions-20220907A.mp4",type:"video/mp4"})],-1),E=e("p",null,"To grant or restrict all CRUDS permissions to a collection at once, follow these steps.",-1),W=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,"Settings > Roles & Permissions > [Role]"),s(".")]),e("li",null,[s("Mouse over the desired collection\u2019s name and the following options will appear: "),e("ul",null,[e("li",null,[e("strong",null,"All"),s(" \u2014 Click to enable all CRUDS permissions for a collection.")]),e("li",null,[e("strong",null,"None"),s(" \u2014 Click to restrict all CRUDS permissions for a collection.")])])])],-1),O=e("h2",{id:"reset-system-permissions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#reset-system-permissions"},"#"),s(" Reset System Permissions")],-1),j=e("video",{title:"Reset System Permissions",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/users-roles-permissions/permissions-20220909/reset-system-permissions-20220908A.mp4",type:"video/mp4"})],-1),z=e("strong",null,"App Access",-1),G=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,"Settings > Roles & Permissions > [Role]"),s(".")]),e("li",null,[s("At the bottom of "),e("strong",null,"Permissions"),s(", click "),e("strong",null,"System Collections"),s(" to show system collections.")]),e("li",null,[s("Scroll to the bottom and choose to "),e("strong",null,"Reset System Permissions to:"),e("ul",null,[e("li",null,[e("strong",null,"App Access Minimum"),s(" \u2014 Reconfigures permissions on system collections to the bare minimum that are required to log in to the app.")]),e("li",null,[e("strong",null,"Recommended Defaults"),s(" \u2014 Reconfigures permissions on system collections to the recommended defaults.")])])]),e("li",null,[s("Click "),e("strong",null,"Reset"),s(" to confirm.")])],-1),H=e("div",{class:"tip hint"},[e("p",null,[s("You may notice that when you toggle on "),e("strong",null,"App Access Minimum"),s(" permissions will be hard-coded so they cannot be restricted. However, you are free to reconfigure the "),e("strong",null,"Recommended Defaults"),s(".")])],-1),Q="Permissions",X=!1,Z="Directus offers an extremely granular, yet easy to configure permissions system. When you create a role, all permissions are turned off by default.",$=null,ee={__name:"permissions",setup(J,{expose:r}){const l={title:"Permissions",modularExtension:!1,description:"Directus offers an extremely granular, yet easy to configure permissions system. When you create a role, all permissions are turned off by default.",readTime:null};return r({frontmatter:l}),(L,Y)=>{const i=n("router-link"),c=n("docs-wrapper");return a(),u(c,{frontmatter:l},{default:o(()=>[e("div",m,[d,e("div",p,[h,e("p",null,[s("To configure permissions programmatically, see our API documentation on "),t(i,{to:"/docs/reference/system/permissions.md"},{default:o(()=>[s("permissions")]),_:1}),s(".")])]),f,g,_,e("ol",null,[e("li",null,[s("Navigate to "),y,s(" and scroll to "),v,s("."),w,s(" Each collection is a row. Its "),t(i,{to:"/docs/configuration/users-roles-permissions.md#directus-permissions"},{default:o(()=>[s("CRUDS permissions")]),_:1}),s(" are in columns.")]),C,b,A]),e("div",R,[P,e("p",null,[s("If you "),t(i,{to:"/docs/configuration/users-roles-permissions/roles.md#configure-role-details"},{default:o(()=>[s("configured the role\u2019s details")]),_:1}),s(" to have "),k,s(", permission configuration is disabled.")])]),S,x,D,e("ol",null,[T,e("li",null,[N,e("ul",null,[e("li",null,[U,s(" \u2014 Set "),t(i,{to:"/docs/app/filters.md"},{default:o(()=>[s("filters")]),_:1}),s(" to define items the role is granted permissions.")]),I,e("li",null,[F,s(" \u2014 Set "),t(i,{to:"/docs/app/filters.md"},{default:o(()=>[s("filters")]),_:1}),s(" to define valid field values on create or update.")]),e("li",null,[M,s(" \u2014 Use JSON to set default field values on "),t(i,{to:"/docs/reference/items.html#create-an-item"},{default:o(()=>[s("create")]),_:1}),s(" or "),t(i,{to:"/docs/reference/items.html#update-an-item"},{default:o(()=>[s("update")]),_:1}),s(" of an item. The value will then appear on the item page, and can be overwritten if desired.")])])]),V]),q,B,E,W,O,j,e("p",null,[s("This is only available when "),z,s(" is enabled when you "),t(i,{to:"/docs/configuration/users-roles-permissions/roles.md#configure-role-details"},{default:o(()=>[s("configure role details")]),_:1}),s(". If you made any custom configurations to system collections, these will be reverted. To reset system permissions, follow these steps.")]),G,H])]),_:1})}}};export{ee as default,Z as description,X as modularExtension,$ as readTime,Q as title};
|