@directus/app 9.0.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/dist/@directus_extensions-sdk.ec871470.js +1 -0
  2. package/dist/assets/{active-line.1e85080e.js → active-line.1fb45430.js} +1 -1
  3. package/dist/assets/{activity-log.f0b81785.js → activity-log.149b4235.js} +1 -1
  4. package/dist/assets/{activity.848efa17.js → activity.2e626708.js} +5 -5
  5. package/dist/assets/{api-endpoints.6b2f9a0a.js → api-endpoints.edac31b3.js} +2 -2
  6. package/dist/assets/{apl.81a36d94.js → apl.a63313b0.js} +1 -1
  7. package/dist/assets/{asciiarmor.41807b38.js → asciiarmor.3b1d0f31.js} +1 -1
  8. package/dist/assets/{asn.1.2fb547c7.js → asn.1.87a170ea.js} +1 -1
  9. package/dist/assets/{asterisk.f25d8cae.js → asterisk.2a94cb4c.js} +1 -1
  10. package/dist/assets/{authentication.595f862f.js → authentication.979423af.js} +5 -5
  11. package/dist/assets/{autorefresh.47068160.js → autorefresh.6db972ff.js} +1 -1
  12. package/dist/assets/{aws.684d8f17.js → aws.f5840be0.js} +1 -1
  13. package/dist/assets/{backing-directus.75b705d8.js → backing-directus.6c539fa4.js} +1 -1
  14. package/dist/assets/bg-BG.15567df7.js +2 -0
  15. package/dist/assets/{brainfuck.0eb32d6a.js → brainfuck.26d25aaf.js} +1 -1
  16. package/dist/assets/{cli.9c35ba03.js → cli.1923b2eb.js} +3 -3
  17. package/dist/assets/{cli.6bc58792.js → cli.709f9e2a.js} +2 -2
  18. package/dist/assets/{clike.8a91e766.js → clike.edc5829c.js} +1 -1
  19. package/dist/assets/{clojure.680b2086.js → clojure.7a100302.js} +1 -1
  20. package/dist/assets/{cmake.59d9f97d.js → cmake.380cdff4.js} +1 -1
  21. package/dist/assets/{cobol.11746877.js → cobol.f6d0d732.js} +1 -1
  22. package/dist/assets/{codebase-overview.bec34b38.js → codebase-overview.4ba1c217.js} +1 -1
  23. package/dist/assets/{coffeescript.cc7b12bb.js → coffeescript.fa9a0562.js} +1 -1
  24. package/dist/assets/{collections.fb0eff5f.js → collections.8d4ed63f.js} +4 -4
  25. package/dist/assets/{commonlisp.81cf66cf.js → commonlisp.02385e3e.js} +1 -1
  26. package/dist/assets/{config-options.5ba591a6.js → config-options.0020f748.js} +12 -12
  27. package/dist/assets/{content-collections.b24311e4.js → content-collections.359b5daf.js} +1 -1
  28. package/dist/assets/{content-items.16fafd36.js → content-items.f10c4240.js} +1 -1
  29. package/dist/assets/{content.31f08958.js → content.6c00b4f7.js} +1 -1
  30. package/dist/assets/{crystal.88773be1.js → crystal.b76a4aec.js} +1 -1
  31. package/dist/assets/css.c89f439b.js +1 -0
  32. package/dist/assets/{cypher.62d62091.js → cypher.56b17de3.js} +1 -1
  33. package/dist/assets/{d.235b72e5.js → d.6d07e4dd.js} +1 -1
  34. package/dist/assets/{dart.d5e0dc33.js → dart.c54df9d4.js} +1 -1
  35. package/dist/assets/{data-model.66f7e0e4.js → data-model.709f41ad.js} +1 -1
  36. package/dist/assets/{diff.236ec957.js → diff.e663c7d4.js} +1 -1
  37. package/dist/assets/digitalocean-app-platform.fd58d363.js +3 -0
  38. package/dist/assets/{displays.c55af3d6.js → displays.d13ea013.js} +5 -5
  39. package/dist/assets/{django.b7dc3aae.js → django.ad94c4f3.js} +1 -1
  40. package/dist/assets/{docker.d76fac42.js → docker.d440849a.js} +1 -1
  41. package/dist/assets/{dockerfile.1019efd6.js → dockerfile.d3c851d0.js} +1 -1
  42. package/dist/assets/{documentation.1092ea83.js → documentation.cda0921f.js} +1 -1
  43. package/dist/assets/{dtd.2a851c5f.js → dtd.a923df19.js} +1 -1
  44. package/dist/assets/{dylan.9bb2cd36.js → dylan.9d61b0d3.js} +1 -1
  45. package/dist/assets/{ebnf.276406d3.js → ebnf.6bf95ce3.js} +1 -1
  46. package/dist/assets/{ecl.11564c5b.js → ecl.02b879c9.js} +1 -1
  47. package/dist/assets/{eiffel.be49a681.js → eiffel.b441e9e0.js} +1 -1
  48. package/dist/assets/{elm.5c8852f7.js → elm.b21b96c7.js} +1 -1
  49. package/dist/assets/{email-templates.3c6a781e.js → email-templates.153388ae.js} +2 -2
  50. package/dist/assets/en-GB.1b37c659.js +1 -0
  51. package/dist/assets/{erlang.ead9639d.js → erlang.b3352f46.js} +1 -1
  52. package/dist/assets/es-419.4da87d2f.js +1 -0
  53. package/dist/assets/es-CL.b5d67084.js +1 -0
  54. package/dist/assets/es-ES.aeba85de.js +1 -0
  55. package/dist/assets/{extensions.b76bdde3.js → extensions.eb270497.js} +2 -2
  56. package/dist/assets/{factor.eed233f0.js → factor.6dde298e.js} +1 -1
  57. package/dist/assets/faq.c6cbe773.js +1 -0
  58. package/dist/assets/{fcl.271814f0.js → fcl.3b6a0156.js} +1 -1
  59. package/dist/assets/{fields.238d924d.js → fields.66b4a80a.js} +3 -3
  60. package/dist/assets/{file-library.d7ca55fc.js → file-library.25e1c929.js} +1 -1
  61. package/dist/assets/{files.92988e46.js → files.2b5db709.js} +1 -1
  62. package/dist/assets/{filter-rules.339629f8.js → filter-rules.23b50c24.js} +1 -1
  63. package/dist/assets/{folders.54e223af.js → folders.cf080e7c.js} +4 -4
  64. package/dist/assets/{forth.5c226e69.js → forth.568b9e62.js} +1 -1
  65. package/dist/assets/{fortran.a1e621fd.js → fortran.55e0d59b.js} +1 -1
  66. package/dist/assets/fr-FR.8a6c9f09.js +1 -0
  67. package/dist/assets/{gas.249ccc95.js → gas.4db1f658.js} +1 -1
  68. package/dist/assets/{gfm.392719b7.js → gfm.030ad601.js} +1 -1
  69. package/dist/assets/{gherkin.f1c57004.js → gherkin.ad583410.js} +1 -1
  70. package/dist/assets/{github-ci.0ba5d515.js → github-ci.9c11a482.js} +2 -2
  71. package/dist/assets/{glossary.4258b82f.js → glossary.eb10f432.js} +1 -1
  72. package/dist/assets/{go.55fe2209.js → go.93e3a800.js} +1 -1
  73. package/dist/assets/{groovy.49803548.js → groovy.de590f33.js} +1 -1
  74. package/dist/assets/{haml.00447402.js → haml.5acd6ee4.js} +1 -1
  75. package/dist/assets/{handlebars.2c2675b3.js → handlebars.5cf29f35.js} +1 -1
  76. package/dist/assets/{haskell-literate.f95e4126.js → haskell-literate.15d2f533.js} +1 -1
  77. package/dist/assets/{haskell.613e1328.js → haskell.0c3a5d85.js} +1 -1
  78. package/dist/assets/{haxe.e363e2e2.js → haxe.7d71b799.js} +1 -1
  79. package/dist/assets/hi-IN.f686e98f.js +1 -0
  80. package/dist/assets/hooks.bff79daf.js +94 -0
  81. package/dist/assets/{htmlembedded.5a5f0ffe.js → htmlembedded.24ede8c5.js} +1 -1
  82. package/dist/assets/{htmlmixed.05e7a4e9.js → htmlmixed.0714fe9c.js} +1 -1
  83. package/dist/assets/{http.36bf71f5.js → http.d94924e1.js} +1 -1
  84. package/dist/assets/{idl.369d3687.js → idl.6d5cfb21.js} +1 -1
  85. package/dist/assets/{iis.61b90801.js → iis.8f48b46a.js} +3 -2
  86. package/dist/assets/{index.2ffae100.js → index.01b31560.js} +1 -1
  87. package/dist/assets/{index.5ef6863e.js → index.032be8b7.js} +1 -1
  88. package/dist/assets/{index.bd506b24.js → index.071b0921.js} +1 -1
  89. package/dist/assets/index.077bdc14.css +1 -0
  90. package/dist/assets/index.0a964dae.css +1 -0
  91. package/dist/assets/{index.64b8816b.js → index.0f58cc2f.js} +1 -1
  92. package/dist/assets/{index.266ef2c9.js → index.0f959880.js} +1 -1
  93. package/dist/assets/{index.7a811ff8.js → index.106dfb9d.js} +1 -1
  94. package/dist/assets/{index.550c7d98.js → index.1802aa67.js} +1 -1
  95. package/dist/assets/{index.b73273e0.js → index.1f969a94.js} +1 -1
  96. package/dist/assets/{index.d03ceb16.js → index.20ac57d1.js} +1 -1
  97. package/dist/assets/{index.53d7b4b1.js → index.21616bb4.js} +1 -1
  98. package/dist/assets/{index.bd34bd8b.js → index.25aff973.js} +1 -1
  99. package/dist/assets/{index.544fc3f4.js → index.2699c99b.js} +1 -1
  100. package/dist/assets/{index.9c37c372.js → index.2aad0cee.js} +1 -1
  101. package/dist/assets/{index.dc1688d8.js → index.319b4222.js} +1 -1
  102. package/dist/assets/{index.6da8ed8b.js → index.35a34e2b.js} +1 -1
  103. package/dist/assets/{index.0caa5421.js → index.36c4f284.js} +1 -1
  104. package/dist/assets/{index.15d4ddd7.js → index.37e8e5c7.js} +1 -1
  105. package/dist/assets/{index.9597bb18.js → index.380a8d1f.js} +1 -1
  106. package/dist/assets/{index.e68f5a19.js → index.386e7bb1.js} +1 -1
  107. package/dist/assets/{index.aa7706f9.js → index.3aa19795.js} +1 -1
  108. package/dist/assets/{index.750b633c.js → index.3adc3d2e.js} +1 -1
  109. package/dist/assets/{index.19ae9f48.js → index.41e7cd63.js} +1 -1
  110. package/dist/assets/{index.e65c230c.js → index.4de13843.js} +1 -1
  111. package/dist/assets/{index.59451527.js → index.52f56cb8.js} +1 -1
  112. package/dist/assets/{index.7e86f332.js → index.52fb1436.js} +1 -1
  113. package/dist/assets/{index.77f16025.js → index.53c97358.js} +1 -1
  114. package/dist/assets/{index.6690c511.js → index.5665651d.js} +1 -1
  115. package/dist/assets/{index.f8360683.js → index.57ce03df.js} +1 -1
  116. package/dist/assets/{index.5c71b9bf.js → index.5cee2017.js} +1 -1
  117. package/dist/assets/{index.83459924.js → index.5dd89f5a.js} +1 -1
  118. package/dist/assets/{index.54a202be.js → index.632aa7a5.js} +1 -1
  119. package/dist/assets/{index.0b9941e1.js → index.65d30ed8.js} +1 -1
  120. package/dist/assets/{index.c36b50cf.js → index.65fe108b.js} +1 -1
  121. package/dist/assets/{index.1fb6fed8.js → index.6934844d.js} +1 -1
  122. package/dist/assets/{index.29fa87ff.js → index.6bc4b03b.js} +1 -1
  123. package/dist/assets/{index.b7e06d7c.js → index.6c6cfd02.js} +1 -1
  124. package/dist/assets/{index.15f9b058.js → index.6edc7f7f.js} +1 -1
  125. package/dist/assets/{index.31d1f296.js → index.6f0fc344.js} +1 -1
  126. package/dist/assets/{index.900f92f9.js → index.711a5d70.js} +1 -1
  127. package/dist/assets/{index.5a304363.js → index.74ffa87a.js} +1 -1
  128. package/dist/assets/{index.5286e9da.js → index.774b2ee3.js} +1 -1
  129. package/dist/assets/{index.5e175966.js → index.777adea0.js} +1 -1
  130. package/dist/assets/{index.216b6328.js → index.8053cc44.js} +1 -1
  131. package/dist/assets/{index.b2adcd91.js → index.8081cdc6.js} +1 -1
  132. package/dist/assets/{index.8e104536.js → index.8a6e3d50.js} +1 -1
  133. package/dist/assets/{index.1d2a8b64.js → index.90726b0d.js} +1 -1
  134. package/dist/assets/{index.65c5205d.js → index.930b04bd.js} +1 -1
  135. package/dist/assets/{index.376099f6.js → index.93ea422c.js} +1 -1
  136. package/dist/assets/{index.11bd8819.js → index.9443e0cb.js} +1 -1
  137. package/dist/assets/{index.0ed888d7.js → index.97d0cfe9.js} +1 -1
  138. package/dist/assets/{index.3c3c9275.js → index.98a5f70b.js} +1 -1
  139. package/dist/assets/{index.b75dc5c2.js → index.9a540e55.js} +1 -1
  140. package/dist/assets/{index.f07bb8da.js → index.a2312cea.js} +1 -1
  141. package/dist/assets/{index.7cb6c8da.js → index.a295ccab.js} +1 -1
  142. package/dist/assets/{index.bba3d752.js → index.a4ab27a2.js} +1 -1
  143. package/dist/assets/{index.19d9989e.js → index.a8fcc603.js} +1 -1
  144. package/dist/assets/{index.1d3c8b76.js → index.aef19a6c.js} +1 -1
  145. package/dist/assets/{index.fefbb129.js → index.b0ac188d.js} +1 -1
  146. package/dist/assets/{index.255ac1ac.js → index.b2f66056.js} +1 -1
  147. package/dist/assets/{index.87946fe5.js → index.b30355b8.js} +1 -1
  148. package/dist/assets/index.b7c458dd.js +26 -0
  149. package/dist/assets/{index.bee706b8.js → index.b80f08e2.js} +1 -1
  150. package/dist/assets/{index.c2ece3ef.js → index.ba16542c.js} +1 -1
  151. package/dist/assets/{index.d6eb48fd.js → index.ba4fccfa.js} +1 -1
  152. package/dist/assets/{index.14bae658.js → index.bd0b9050.js} +1 -1
  153. package/dist/assets/{index.1a242848.js → index.be355994.js} +1 -1
  154. package/dist/assets/{index.8c729bf2.js → index.c1abc495.js} +1 -1
  155. package/dist/assets/{index.40abc1ae.js → index.c4217a03.js} +1 -1
  156. package/dist/assets/{index.aa99cd2b.js → index.c52d890d.js} +1 -1
  157. package/dist/assets/{index.5d4c645c.js → index.c8d8cea3.js} +1 -1
  158. package/dist/assets/{index.0ba5b42a.js → index.ceccd7b0.js} +1 -1
  159. package/dist/assets/{index.0bd18bfd.js → index.d7c52831.js} +1 -1
  160. package/dist/assets/{index.8fbbb686.js → index.d900df0d.js} +1 -1
  161. package/dist/assets/{index.61b86afb.js → index.e2516fcf.js} +1 -1
  162. package/dist/assets/{index.f526c37a.js → index.eceb7719.js} +1 -1
  163. package/dist/assets/{index.49fe7bbe.js → index.f55469a4.js} +1 -1
  164. package/dist/assets/{index.5caafb3d.js → index.f6bdd3dc.js} +1 -1
  165. package/dist/assets/{index.0fb52a97.js → index.f82f535b.js} +1 -1
  166. package/dist/assets/{index.e713a183.js → index.f94e9d3c.js} +1 -1
  167. package/dist/assets/{index.1fd33265.js → index.f98c4963.js} +1 -1
  168. package/dist/assets/{index.94db319d.js → index.f9e49c6f.js} +1 -1
  169. package/dist/assets/{input-rich-text-html.8fe88ffb.js → input-rich-text-html.dfe08a32.js} +2 -2
  170. package/dist/assets/{insights.fe74fe29.js → insights.bdfe4fdb.js} +1 -1
  171. package/dist/assets/{installation.24a44faf.js → installation.3a531e4d.js} +1 -1
  172. package/dist/assets/{interfaces.23229e78.js → interfaces.e6c8f277.js} +7 -7
  173. package/dist/assets/introduction.1fa26f9f.js +1 -0
  174. package/dist/assets/{introduction.02e3c2a7.js → introduction.295c3b30.js} +2 -2
  175. package/dist/assets/{introduction.16f8f0b0.js → introduction.3da87e38.js} +1 -1
  176. package/dist/assets/{introduction.e29b10c2.js → introduction.85ed1394.js} +7 -7
  177. package/dist/assets/{it-IT.3c8c35dd.js → it-IT.5ee88a08.js} +1 -1
  178. package/dist/assets/{items.4227ac2d.js → items.4a58552c.js} +6 -6
  179. package/dist/assets/{javascript-hint.747ac6fc.js → javascript-hint.d4ef8031.js} +1 -1
  180. package/dist/assets/{javascript.84e4549d.js → javascript.e1b08a7c.js} +1 -1
  181. package/dist/assets/{jinja2.a9a0ddb1.js → jinja2.f8f38ccd.js} +1 -1
  182. package/dist/assets/{jsx.5d18b001.js → jsx.8aee4b64.js} +1 -1
  183. package/dist/assets/{julia.12cc2a8c.js → julia.4ab46b62.js} +1 -1
  184. package/dist/assets/ku-TR.3322375c.js +1 -0
  185. package/dist/assets/{layouts.1bd78154.js → layouts.54bf3f4f.js} +5 -5
  186. package/dist/assets/{livescript.f585b533.js → livescript.eb145824.js} +1 -1
  187. package/dist/assets/{localization.a73190dd.js → localization.b87f6d61.js} +1 -1
  188. package/dist/assets/logo-light.7a327cdd.svg +3 -0
  189. package/dist/assets/{lua.a656cb84.js → lua.492ef6f8.js} +1 -1
  190. package/dist/assets/{manual.794bb884.js → manual.ca166066.js} +4 -4
  191. package/dist/assets/{mark-selection.98a1b6fc.js → mark-selection.2a69ad50.js} +1 -1
  192. package/dist/assets/{match-highlighter.e1444e0b.js → match-highlighter.748e90d7.js} +1 -1
  193. package/dist/assets/{mathematica.448ae8b5.js → mathematica.85e0e720.js} +1 -1
  194. package/dist/assets/{mbox.977764b6.js → mbox.bd76d0e3.js} +1 -1
  195. package/dist/assets/{migrations.992a23b0.js → migrations.d7d0c3b8.js} +1 -1
  196. package/dist/assets/{mirc.ac98dd7b.js → mirc.ef885f9d.js} +1 -1
  197. package/dist/assets/{mllike.ee7c202f.js → mllike.09bad057.js} +1 -1
  198. package/dist/assets/{modelica.0e691287.js → modelica.705292e7.js} +1 -1
  199. package/dist/assets/{modules.116e46b4.js → modules.51a52010.js} +6 -6
  200. package/dist/assets/{mscgen.4c9c356e.js → mscgen.c905f040.js} +1 -1
  201. package/dist/assets/{multiplex.91d67c6e.js → multiplex.bc708602.js} +2 -2
  202. package/dist/assets/{mumps.c8a6b66b.js → mumps.232bd3cf.js} +1 -1
  203. package/dist/assets/{nginx.048f88c1.js → nginx.53b1a1cc.js} +1 -1
  204. package/dist/assets/notifications.95ecd845.js +153 -0
  205. package/dist/assets/{nsis.1830f129.js → nsis.2e11a243.js} +1 -1
  206. package/dist/assets/{ntriples.dff164ff.js → ntriples.28c82a78.js} +1 -1
  207. package/dist/assets/{octave.27aaa450.js → octave.12f6af40.js} +1 -1
  208. package/dist/assets/{overlay.ff3e2ac4.js → overlay.17bcab08.js} +1 -1
  209. package/dist/assets/{overview.c3721f80.js → overview.3735ce4e.js} +1 -1
  210. package/dist/assets/{overview.b56593b7.js → overview.a7294570.js} +1 -1
  211. package/dist/assets/{oz.c625131c.js → oz.d739be50.js} +1 -1
  212. package/dist/assets/{panels.c9913c4b.js → panels.2dc33a61.js} +1 -1
  213. package/dist/assets/{pascal.2c02faa8.js → pascal.5b65f314.js} +1 -1
  214. package/dist/assets/{pegjs.0854aa70.js → pegjs.0e1cb55b.js} +1 -1
  215. package/dist/assets/{perl.6bf3c050.js → perl.f5ebe96e.js} +1 -1
  216. package/dist/assets/{permissions.83661a53.js → permissions.35d2c816.js} +4 -4
  217. package/dist/assets/php.1a84936c.js +1 -0
  218. package/dist/assets/{pig.f6acccd0.js → pig.fe68742a.js} +1 -1
  219. package/dist/assets/{plesk.20b032fb.js → plesk.7e5e9105.js} +6 -6
  220. package/dist/assets/{powershell.3fe72e38.js → powershell.914a1e33.js} +1 -1
  221. package/dist/assets/{presets-bookmarks.dfa9b52f.js → presets-bookmarks.7ca67e49.js} +1 -1
  222. package/dist/assets/{presets.7e0c88ae.js → presets.ff69bed6.js} +1 -1
  223. package/dist/assets/project-settings.af73527a.js +1 -0
  224. package/dist/assets/{properties.8c3f631c.js → properties.30175490.js} +1 -1
  225. package/dist/assets/{protobuf.ff5609be.js → protobuf.3cc05f5b.js} +1 -1
  226. package/dist/assets/pt-BR.26238be4.js +1 -0
  227. package/dist/assets/{pug.e66669ae.js → pug.cc504c53.js} +1 -1
  228. package/dist/assets/{puppet.8585cc4d.js → puppet.1c9976ea.js} +1 -1
  229. package/dist/assets/{python.ce0163fc.js → python.cd7c7d5e.js} +1 -1
  230. package/dist/assets/{q.4a99aff9.js → q.ca9aad64.js} +1 -1
  231. package/dist/assets/{query.998e770c.js → query.3662a09a.js} +3 -3
  232. package/dist/assets/{quickstart.1aa6ffca.js → quickstart.03ac6f6c.js} +3 -3
  233. package/dist/assets/{r.d0ae744a.js → r.4cd7d336.js} +1 -1
  234. package/dist/assets/{relations.7edadd3b.js → relations.46c5aaca.js} +4 -4
  235. package/dist/assets/{relationships.b6ef88eb.js → relationships.417dbb85.js} +3 -3
  236. package/dist/assets/{revisions.9a70b1ec.js → revisions.2fc449af.js} +3 -3
  237. package/dist/assets/{roles.f017240c.js → roles.46105c9e.js} +4 -4
  238. package/dist/assets/{rpm.f0a7ad70.js → rpm.ba5fad62.js} +1 -1
  239. package/dist/assets/{rst.f0464fbc.js → rst.6c6d4c2c.js} +1 -1
  240. package/dist/assets/ru-RU.33141bc5.js +1 -0
  241. package/dist/assets/{ruby.4d15c7d1.js → ruby.2944282c.js} +1 -1
  242. package/dist/assets/{running-locally.bd69d8dc.js → running-locally.b9c6ac7c.js} +5 -5
  243. package/dist/assets/{rust.e4dfe0d4.js → rust.2c5788fa.js} +1 -1
  244. package/dist/assets/{sas.709abdd1.js → sas.a3f5d313.js} +1 -1
  245. package/dist/assets/{sass.2505dd07.js → sass.986c56a5.js} +1 -1
  246. package/dist/assets/{scheme.897fc126.js → scheme.54733295.js} +1 -1
  247. package/dist/assets/{sdk.b41be838.js → sdk.f79ec05d.js} +43 -25
  248. package/dist/assets/{security.548b2b76.js → security.ed62274d.js} +1 -1
  249. package/dist/assets/{server.d6f5abdc.js → server.9bf46def.js} +4 -4
  250. package/dist/assets/{settings.4b550f79.js → settings.bf65ae28.js} +1 -1
  251. package/dist/assets/{settings.5c0f889e.js → settings.cde8ffd7.js} +9 -5
  252. package/dist/assets/{shell.19de1cf8.js → shell.043f3329.js} +1 -1
  253. package/dist/assets/{show-hint.0412391d.js → show-hint.4d9b5efb.js} +1 -1
  254. package/dist/assets/sieve.24282682.js +1 -0
  255. package/dist/assets/{simple.ab4d8d4b.js → simple.a61e3410.js} +1 -1
  256. package/dist/assets/{slim.2805b872.js → slim.f414fbd8.js} +1 -1
  257. package/dist/assets/{smalltalk.ee9f0dd3.js → smalltalk.12047a6d.js} +1 -1
  258. package/dist/assets/{smarty.08c649b4.js → smarty.e04e1453.js} +1 -1
  259. package/dist/assets/{solr.36ddf5d2.js → solr.d6415c8b.js} +1 -1
  260. package/dist/assets/soy.66293c54.js +1 -0
  261. package/dist/assets/{sparql.e90ce227.js → sparql.9a0f5fb0.js} +1 -1
  262. package/dist/assets/{spreadsheet.812bc4c1.js → spreadsheet.a9745ff6.js} +1 -1
  263. package/dist/assets/sql.aed3072b.js +1 -0
  264. package/dist/assets/{stex.8fe110b6.js → stex.e1a54633.js} +1 -1
  265. package/dist/assets/stylus.71e0fdc6.js +1 -0
  266. package/dist/assets/{support.618bb824.js → support.d818a3ba.js} +1 -1
  267. package/dist/assets/sv-SE.060d5c25.js +1 -0
  268. package/dist/assets/{swift.a963a96b.js → swift.e957a034.js} +1 -1
  269. package/dist/assets/{tcl.c00f0ec5.js → tcl.aee8d35f.js} +1 -1
  270. package/dist/assets/{textile.431d240b.js → textile.ae334d71.js} +1 -1
  271. package/dist/assets/{themes.ec95c8cb.js → themes.cd13042d.js} +2 -2
  272. package/dist/assets/{tiddlywiki.1b4d0a22.js → tiddlywiki.0922294b.js} +1 -1
  273. package/dist/assets/{tiki.d37bbabb.js → tiki.b9504243.js} +1 -1
  274. package/dist/assets/{toml.1475fc5c.js → toml.d89c1075.js} +1 -1
  275. package/dist/assets/{tornado.e812c41b.js → tornado.9070fbf9.js} +1 -1
  276. package/dist/assets/{translations.8406cfe3.js → translations.02aa44ee.js} +1 -1
  277. package/dist/assets/{troff.52251200.js → troff.e70475ee.js} +1 -1
  278. package/dist/assets/{ttcn-cfg.4e31c9ce.js → ttcn-cfg.98c35417.js} +1 -1
  279. package/dist/assets/{ttcn.3ea9f7e4.js → ttcn.73d14f89.js} +1 -1
  280. package/dist/assets/{turtle.7f166fc9.js → turtle.6725c84b.js} +1 -1
  281. package/dist/assets/{twig.7c77b8f7.js → twig.eeb6221b.js} +1 -1
  282. package/dist/assets/ubuntu.adc7719b.js +11 -0
  283. package/dist/assets/{upgrades-migrations.df5c4042.js → upgrades-migrations.6b876472.js} +1 -1
  284. package/dist/assets/use-sync.864aa3cf.js +1 -0
  285. package/dist/assets/{user-directory.63d4d638.js → user-directory.5e0f8a9e.js} +1 -1
  286. package/dist/assets/{users-roles-permissions.68584449.js → users-roles-permissions.aa6e645d.js} +1 -1
  287. package/dist/assets/{users.c3c87007.js → users.c126e79c.js} +1 -1
  288. package/dist/assets/{utilities.e7ef40fc.js → utilities.0bddc943.js} +3 -3
  289. package/dist/assets/{vb.1551d2a2.js → vb.0680c963.js} +1 -1
  290. package/dist/assets/{vbscript.0c1ac8ad.js → vbscript.0bd9509a.js} +1 -1
  291. package/dist/assets/{velocity.63a0cbb3.js → velocity.0c534db9.js} +1 -1
  292. package/dist/assets/vendor.c46e17d6.js +2039 -0
  293. package/dist/assets/{verilog.37081dae.js → verilog.2cdac09c.js} +1 -1
  294. package/dist/assets/{vhdl.8c76cefa.js → vhdl.94c45860.js} +1 -1
  295. package/dist/assets/{vue.2098315b.js → vue.594a0de9.js} +1 -1
  296. package/dist/assets/{wast.b90e42f3.js → wast.0781628c.js} +1 -1
  297. package/dist/assets/{webhooks.59b09c0d.js → webhooks.5bdc49f0.js} +1 -1
  298. package/dist/assets/{webhooks.2dd2256f.js → webhooks.db4c9b9c.js} +5 -5
  299. package/dist/assets/{webidl.76dda28b.js → webidl.cc5ea6f7.js} +1 -1
  300. package/dist/assets/{xquery.5d4fe342.js → xquery.98800824.js} +1 -1
  301. package/dist/assets/{yacas.b1b2324d.js → yacas.c9a224a6.js} +1 -1
  302. package/dist/assets/{yaml-frontmatter.6a71ce09.js → yaml-frontmatter.4f8a599e.js} +1 -1
  303. package/dist/assets/{yaml.ca3ba26d.js → yaml.9997c2ba.js} +1 -1
  304. package/dist/assets/{z80.a23bb6d3.js → z80.7caf642c.js} +1 -1
  305. package/dist/index.194f59e3.js +340 -0
  306. package/dist/index.html +4 -4
  307. package/dist/vue-i18n.8f9bc4a1.js +1 -0
  308. package/dist/vue-router.f378de8a.js +1 -0
  309. package/dist/vue.eb2253b3.js +1 -0
  310. package/package.json +18 -17
  311. package/dist/@directus_extensions-sdk.8dd2238a.js +0 -1
  312. package/dist/assets/bg-BG.9212fbf7.js +0 -2
  313. package/dist/assets/css.f0a27894.js +0 -1
  314. package/dist/assets/digitalocean-app-platform.d8054fb4.js +0 -3
  315. package/dist/assets/es-419.f8a62d18.js +0 -1
  316. package/dist/assets/es-CL.76c7e2d1.js +0 -1
  317. package/dist/assets/es-ES.f23f1053.js +0 -1
  318. package/dist/assets/faq.e629faf1.js +0 -1
  319. package/dist/assets/fr-FR.e2625f19.js +0 -1
  320. package/dist/assets/hi-IN.d224762a.js +0 -1
  321. package/dist/assets/hooks.9441eb32.js +0 -75
  322. package/dist/assets/index.570f6759.js +0 -26
  323. package/dist/assets/index.9fb5b610.css +0 -1
  324. package/dist/assets/index.a49dcfb2.css +0 -1
  325. package/dist/assets/introduction.25a5119e.js +0 -1
  326. package/dist/assets/ku-TR.62749d99.js +0 -1
  327. package/dist/assets/logo-light.1a93a59d.svg +0 -3
  328. package/dist/assets/php.7f583bfa.js +0 -1
  329. package/dist/assets/project-settings.31256b54.js +0 -1
  330. package/dist/assets/pt-BR.e623fc8a.js +0 -1
  331. package/dist/assets/ru-RU.fec4e20e.js +0 -1
  332. package/dist/assets/sieve.da5795e7.js +0 -1
  333. package/dist/assets/soy.2c180864.js +0 -1
  334. package/dist/assets/sql.f222e1b8.js +0 -1
  335. package/dist/assets/stylus.02531228.js +0 -1
  336. package/dist/assets/sv-SE.1739ab58.js +0 -1
  337. package/dist/assets/ubuntu.67ddbadb.js +0 -11
  338. package/dist/assets/use-sync.da76e524.js +0 -1
  339. package/dist/assets/vendor.299bc11c.js +0 -2039
  340. package/dist/index.0f7650cb.js +0 -340
  341. package/dist/vue-i18n.b2a4a29c.js +0 -1
  342. package/dist/vue-router.cd2fde56.js +0 -1
  343. package/dist/vue.642980f3.js +0 -1
@@ -1,4 +1,4 @@
1
- import{p as s,q as i,C as c,v as t,M as e,u as h,D as l}from"./vendor.299bc11c.js";const d={class:"markdown-body"},p={class:"two-up"},u={class:"left"},_=l("What data is linked to what other data. Allows you to assign authors to articles, products to sales, and whatever other structures you can think of. "),g=l("Learn more about Relationships"),f=l("."),m=e("div",{class:"right"},[e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#the-relation-object"},"The Relation Object")]),e("li",null,[e("a",{href:"#list-relations"},"List relations")]),e("li",null,[e("a",{href:"#list-relations-in-collection"},"List relations in collection")]),e("li",null,[e("a",{href:"#retrieve-a-relation"},"Retrieve a relation")]),e("li",null,[e("a",{href:"#create-a-relation"},"Create a Relation")]),e("li",null,[e("a",{href:"#update-a-relation"},"Update a Relation")]),e("li",null,[e("a",{href:"#delete-a-relation"},"Delete a Relation")])])])])],-1),y=e("hr",null,null,-1),j=e("h2",{id:"the-relation-object"},[l("The Relation Object "),e("a",{class:"header-anchor",href:"#the-relation-object"},"#")],-1),b=e("div",{class:"two-up"},[e("div",{class:"left"},[e("div",{class:"definitions"},[e("p",null,[e("code",null,"collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the collection. This matches the table name in the database.")]),e("p",null,[e("code",null,"field"),l(),e("strong",null,"string"),e("br"),l(" Name of the field that holds the related primary key. This matches the column name in the database.")]),e("p",null,[e("code",null,"related_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the related collection. This matches the table name in the database.")])]),e("h4",{id:"meta"},[l("Meta "),e("a",{class:"header-anchor",href:"#meta"},"#")]),e("p",null,"Directus metadata. Used to enable non-database relationship types"),e("div",{class:"definitions"},[e("p",null,[e("code",null,"id"),l(),e("strong",null,"integer"),e("br"),l(" Primary key of the metadata row in "),e("code",null,"directus_relations"),l(".")]),e("p",null,[e("code",null,"many_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the collection. Matches the top level "),e("code",null,"collection"),l(" field.")]),e("p",null,[e("code",null,"many_field"),l(),e("strong",null,"string"),e("br"),l(" Name of the field. Matches the top level "),e("code",null,"field"),l(" field.")]),e("p",null,[e("code",null,"one_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the related collection. Matches the top level "),e("code",null,"related_collection"),l(" field.")]),e("p",null,[e("code",null,"one_field"),l(),e("strong",null,"string"),e("br"),l(" Name of the one to many field on the other side of the relation.")]),e("p",null,[e("code",null,"one_allowed_collections"),l(),e("strong",null,"string"),e("br"),l(" What collections are allowed to be used in a many-to-any context.")]),e("p",null,[e("code",null,"one_collection_field"),l(),e("strong",null,"string"),e("br"),l(" Field that holds the collection name in a many-to-any context.")]),e("p",null,[e("code",null,"one_deselect_action"),l(),e("strong",null,"nullify | delete"),e("br"),l(" Whether to nullify or delete related one-to-many records.")]),e("p",null,[e("code",null,"sort_field"),l(),e("strong",null,"string"),e("br"),l(" What field is used to hold the sort field.")]),e("p",null,[e("code",null,"junction_field"),l(),e("strong",null,"string"),e("br"),l(" What field connects two relations in a many-to-many (o2m-m2o) context.")])]),e("h4",{id:"schema"},[l("Schema "),e("a",{class:"header-anchor",href:"#schema"},"#")]),e("p",null,"\u201CRaw\u201D database information. Based on the database vendor used, different information might be returned. The following are available for all drivers."),e("div",{class:"definitions"},[e("p",null,[e("code",null,"table"),l(),e("strong",null,"string"),e("br"),l(" The table name.")]),e("p",null,[e("code",null,"column"),l(),e("strong",null,"string"),e("br"),l(" The column name.")]),e("p",null,[e("code",null,"foreign_key_table"),l(),e("strong",null,"string"),e("br"),l(" Related table name.")]),e("p",null,[e("code",null,"foreign_key_column"),l(),e("strong",null,"string"),e("br"),l(" Related column name.")]),e("p",null,[e("code",null,"constraint_name"),l(),e("strong",null,"string"),e("br"),l(" Name for the foreign key constraint.")]),e("p",null,[e("code",null,"on_update"),l(),e("strong",null,"string"),e("br"),l(" Update trigger for the foreign key constraint.")]),e("p",null,[e("code",null,"on_delete"),l(),e("strong",null,"string"),e("br"),l(" Delete trigger for the foreign key constraint.")])])]),e("div",{class:"right"},[e("pre",null,[e("code",{class:"language-json"},[l(`{
1
+ import{r as s,p as i,q as c,w as t,B as e,t as h,P as l}from"./vendor.c46e17d6.js";const d={class:"markdown-body"},p={class:"two-up"},u={class:"left"},_=l("What data is linked to what other data. Allows you to assign authors to articles, products to sales, and whatever other structures you can think of. "),g=l("Learn more about Relationships"),f=l("."),m=e("div",{class:"right"},[e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#the-relation-object"},"The Relation Object")]),e("li",null,[e("a",{href:"#list-relations"},"List relations")]),e("li",null,[e("a",{href:"#list-relations-in-collection"},"List relations in collection")]),e("li",null,[e("a",{href:"#retrieve-a-relation"},"Retrieve a relation")]),e("li",null,[e("a",{href:"#create-a-relation"},"Create a Relation")]),e("li",null,[e("a",{href:"#update-a-relation"},"Update a Relation")]),e("li",null,[e("a",{href:"#delete-a-relation"},"Delete a Relation")])])])])],-1),y=e("hr",null,null,-1),j=e("h2",{id:"the-relation-object"},[l("The Relation Object "),e("a",{class:"header-anchor",href:"#the-relation-object"},"#")],-1),b=e("div",{class:"two-up"},[e("div",{class:"left"},[e("div",{class:"definitions"},[e("p",null,[e("code",null,"collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the collection. This matches the table name in the database.")]),e("p",null,[e("code",null,"field"),l(),e("strong",null,"string"),e("br"),l(" Name of the field that holds the related primary key. This matches the column name in the database.")]),e("p",null,[e("code",null,"related_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the related collection. This matches the table name in the database.")])]),e("h4",{id:"meta"},[l("Meta "),e("a",{class:"header-anchor",href:"#meta"},"#")]),e("p",null,"Directus metadata. Used to enable non-database relationship types"),e("div",{class:"definitions"},[e("p",null,[e("code",null,"id"),l(),e("strong",null,"integer"),e("br"),l(" Primary key of the metadata row in "),e("code",null,"directus_relations"),l(".")]),e("p",null,[e("code",null,"many_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the collection. Matches the top level "),e("code",null,"collection"),l(" field.")]),e("p",null,[e("code",null,"many_field"),l(),e("strong",null,"string"),e("br"),l(" Name of the field. Matches the top level "),e("code",null,"field"),l(" field.")]),e("p",null,[e("code",null,"one_collection"),l(),e("strong",null,"string"),e("br"),l(" Name of the related collection. Matches the top level "),e("code",null,"related_collection"),l(" field.")]),e("p",null,[e("code",null,"one_field"),l(),e("strong",null,"string"),e("br"),l(" Name of the one to many field on the other side of the relation.")]),e("p",null,[e("code",null,"one_allowed_collections"),l(),e("strong",null,"string"),e("br"),l(" What collections are allowed to be used in a many-to-any context.")]),e("p",null,[e("code",null,"one_collection_field"),l(),e("strong",null,"string"),e("br"),l(" Field that holds the collection name in a many-to-any context.")]),e("p",null,[e("code",null,"one_deselect_action"),l(),e("strong",null,"nullify | delete"),e("br"),l(" Whether to nullify or delete related one-to-many records.")]),e("p",null,[e("code",null,"sort_field"),l(),e("strong",null,"string"),e("br"),l(" What field is used to hold the sort field.")]),e("p",null,[e("code",null,"junction_field"),l(),e("strong",null,"string"),e("br"),l(" What field connects two relations in a many-to-many (o2m-m2o) context.")])]),e("h4",{id:"schema"},[l("Schema "),e("a",{class:"header-anchor",href:"#schema"},"#")]),e("p",null,"\u201CRaw\u201D database information. Based on the database vendor used, different information might be returned. The following are available for all drivers."),e("div",{class:"definitions"},[e("p",null,[e("code",null,"table"),l(),e("strong",null,"string"),e("br"),l(" The table name.")]),e("p",null,[e("code",null,"column"),l(),e("strong",null,"string"),e("br"),l(" The column name.")]),e("p",null,[e("code",null,"foreign_key_table"),l(),e("strong",null,"string"),e("br"),l(" Related table name.")]),e("p",null,[e("code",null,"foreign_key_column"),l(),e("strong",null,"string"),e("br"),l(" Related column name.")]),e("p",null,[e("code",null,"constraint_name"),l(),e("strong",null,"string"),e("br"),l(" Name for the foreign key constraint.")]),e("p",null,[e("code",null,"on_update"),l(),e("strong",null,"string"),e("br"),l(" Update trigger for the foreign key constraint.")]),e("p",null,[e("code",null,"on_delete"),l(),e("strong",null,"string"),e("br"),l(" Delete trigger for the foreign key constraint.")])])]),e("div",{class:"right"},[e("pre",null,[e("code",{class:"language-json"},[l(`{
2
2
  `),e("span",{class:"hljs-attr"},'"collection"'),l(": "),e("span",{class:"hljs-string"},'"about_us"'),l(`,
3
3
  `),e("span",{class:"hljs-attr"},'"field"'),l(": "),e("span",{class:"hljs-string"},'"logo"'),l(`,
4
4
  `),e("span",{class:"hljs-attr"},'"related_collection"'),l(": "),e("span",{class:"hljs-string"},'"directus_files"'),l(`,
@@ -81,7 +81,7 @@ import{p as s,q as i,C as c,v as t,M as e,u as h,D as l}from"./vendor.299bc11c.j
81
81
  related_collection
82
82
  }
83
83
  }
84
- `)])])])],-1),G=e("hr",null,null,-1),C=e("h2",{id:"update-a-relation"},[l("Update a Relation "),e("a",{class:"header-anchor",href:"#update-a-relation"},"#")],-1),I=e("p",null,"Update an existing relation.",-1),M=e("div",{class:"two-up"},[e("div",{class:"left"},[e("h3",{id:"query-parameters-5"},[l("Query Parameters "),e("a",{class:"header-anchor",href:"#query-parameters-5"},"#")]),e("p",null,"Doesn\u2019t support any query parameters."),e("h3",{id:"request-body-2"},[l("Request Body "),e("a",{class:"header-anchor",href:"#request-body-2"},"#")]),e("p",null,[l("A partial "),e("a",{href:"#the-relation-object"},"relation object"),l(".")]),e("h3",{id:"returns-5"},[l("Returns "),e("a",{class:"header-anchor",href:"#returns-5"},"#")]),e("p",null,[l("Returns the "),e("a",{href:"#the-relation-object"},"relation object"),l(" for the created relation.")])]),e("div",{class:"right"},[e("h3",{id:"rest-api-5"},[l("REST API "),e("a",{class:"header-anchor",href:"#rest-api-5"},"#")]),e("pre",null,[e("code",null,`PATCH /relations/:collection/:field
84
+ `)])])])],-1),G=e("hr",null,null,-1),C=e("h2",{id:"update-a-relation"},[l("Update a Relation "),e("a",{class:"header-anchor",href:"#update-a-relation"},"#")],-1),I=e("p",null,"Update an existing relation.",-1),B=e("div",{class:"two-up"},[e("div",{class:"left"},[e("h3",{id:"query-parameters-5"},[l("Query Parameters "),e("a",{class:"header-anchor",href:"#query-parameters-5"},"#")]),e("p",null,"Doesn\u2019t support any query parameters."),e("h3",{id:"request-body-2"},[l("Request Body "),e("a",{class:"header-anchor",href:"#request-body-2"},"#")]),e("p",null,[l("A partial "),e("a",{href:"#the-relation-object"},"relation object"),l(".")]),e("h3",{id:"returns-5"},[l("Returns "),e("a",{class:"header-anchor",href:"#returns-5"},"#")]),e("p",null,[l("Returns the "),e("a",{href:"#the-relation-object"},"relation object"),l(" for the created relation.")])]),e("div",{class:"right"},[e("h3",{id:"rest-api-5"},[l("REST API "),e("a",{class:"header-anchor",href:"#rest-api-5"},"#")]),e("pre",null,[e("code",null,`PATCH /relations/:collection/:field
85
85
  `)]),e("h5",{id:"example-8"},[l("Example "),e("a",{class:"header-anchor",href:"#example-8"},"#")]),e("pre",null,[e("code",{class:"language-json"},[e("span",{class:"hljs-comment"},"// PATCH /relations/articles/author"),l(`
86
86
 
87
87
  {
@@ -100,7 +100,7 @@ import{p as s,q as i,C as c,v as t,M as e,u as h,D as l}from"./vendor.299bc11c.j
100
100
  related_collection
101
101
  }
102
102
  }
103
- `)])])])],-1),W=e("hr",null,null,-1),B=e("h2",{id:"delete-a-relation"},[l("Delete a Relation "),e("a",{class:"header-anchor",href:"#delete-a-relation"},"#")],-1),U=e("p",null,"Delete an existing relation.",-1),F=e("div",{class:"two-up"},[e("div",{class:"left"},[e("h3",{id:"returns-6"},[l("Returns "),e("a",{class:"header-anchor",href:"#returns-6"},"#")]),e("p",null,"Empty body.")]),e("div",{class:"right"},[e("h3",{id:"rest-api-6"},[l("REST API "),e("a",{class:"header-anchor",href:"#rest-api-6"},"#")]),e("pre",null,[e("code",null,`DELETE /relations/:collection/:field
103
+ `)])])])],-1),M=e("hr",null,null,-1),W=e("h2",{id:"delete-a-relation"},[l("Delete a Relation "),e("a",{class:"header-anchor",href:"#delete-a-relation"},"#")],-1),U=e("p",null,"Delete an existing relation.",-1),F=e("div",{class:"two-up"},[e("div",{class:"left"},[e("h3",{id:"returns-6"},[l("Returns "),e("a",{class:"header-anchor",href:"#returns-6"},"#")]),e("p",null,"Empty body.")]),e("div",{class:"right"},[e("h3",{id:"rest-api-6"},[l("REST API "),e("a",{class:"header-anchor",href:"#rest-api-6"},"#")]),e("pre",null,[e("code",null,`DELETE /relations/:collection/:field
104
104
  `)]),e("h5",{id:"example-10"},[l("Example "),e("a",{class:"header-anchor",href:"#example-10"},"#")]),e("pre",null,[e("code",null,`DELETE /relations/articles/author
105
105
  `)]),e("h3",{id:"graphql-6"},[l("GraphQL "),e("a",{class:"header-anchor",href:"#graphql-6"},"#")]),e("pre",null,[e("code",null,`POST /graphql/system
106
106
  `)]),e("pre",null,[e("code",{class:"language-graphql"},[e("span",{class:"hljs-keyword"},"type"),e("span",{class:"hljs-type"}," Mutation"),l(` {
@@ -112,4 +112,4 @@ import{p as s,q as i,C as c,v as t,M as e,u as h,D as l}from"./vendor.299bc11c.j
112
112
  field
113
113
  }
114
114
  }
115
- `)])])])],-1),K={setup(V,{expose:n}){const a={title:"Relations",modularExtension:!1,pageClass:"page-reference"};return n({frontmatter:a}),(H,z)=>{const r=s("router-link"),o=s("DocsWrapper");return i(),c(o,{frontmatter:a},{default:t(()=>[e("div",d,[e("div",p,[e("div",u,[e("blockquote",null,[e("p",null,[_,h(r,{to:"/docs/getting-started/glossary/#relationships"},{default:t(()=>[g]),_:1}),f])])]),m]),y,j,b,q,v,x,w,T,R,E,k,P,S,L,D,A,N,Q,O,G,C,I,M,W,B,U,F])]),_:1})}}};export{K as default};
115
+ `)])])])],-1),K={setup(V,{expose:n}){const a={title:"Relations",modularExtension:!1,pageClass:"page-reference"};return n({frontmatter:a}),(H,z)=>{const r=s("router-link"),o=s("DocsWrapper");return i(),c(o,{frontmatter:a},{default:t(()=>[e("div",d,[e("div",p,[e("div",u,[e("blockquote",null,[e("p",null,[_,h(r,{to:"/docs/getting-started/glossary/#relationships"},{default:t(()=>[g]),_:1}),f])])]),m]),y,j,b,q,v,x,w,T,R,E,k,P,S,L,D,A,N,Q,O,G,C,I,B,M,W,U,F])]),_:1})}}};export{K as default};
@@ -1,4 +1,4 @@
1
- import{p as s,q as c,C as h,v as n,M as e,u as l,D as t}from"./vendor.299bc11c.js";var d="assets/m2o.ac02ed03.png",u="assets/o2m.339378e0.png",f="assets/translations.2f0017a9.png",m="assets/translations-2.29d07342.png",_="assets/m2m.07bed843.png",p="assets/m2a.347ed339.png";const y={class:"markdown-body"},g=e("blockquote",null,[e("p",null,[t("As you might have guessed, relationships are a crucial part of any relational database. Directus supports all standard relationship types, as well as a few more "),e("em",null,"compound"),t(" types that offer greater flexibility.")])],-1),w=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#many-to-one-(m2o)"},"Many-to-One (M2O)")]),e("li",null,[e("a",{href:"#one-to-many-(o2m)"},"One-to-Many (O2M)")]),e("li",null,[e("a",{href:"#translations-(o2m)"},"Translations (O2M)")]),e("li",null,[e("a",{href:"#many-to-many-(m2m)"},"Many-to-Many (M2M)")]),e("li",null,[e("a",{href:"#many-to-any-(m2a)"},"Many-to-Any (M2A)")]),e("li",null,[e("a",{href:"#one-to-one-(o2o)"},"One-to-One (O2O)")])])])],-1),M=e("h3",{id:"introduction"},[t("Introduction "),e("a",{class:"header-anchor",href:"#introduction"},"#")],-1),b=e("p",null,"While it may seem complex at first, relational data is actually quite straightforward once you understand what\u2019s happening behind the sometimes confusing terminology. Before diving into the details of each type, let\u2019s first cover a few basics that will help you better visualize them in your mind\u2019s eye.",-1),v=e("h3",{id:"primary-and-foreign-keys"},[t("Primary and Foreign Keys "),e("a",{class:"header-anchor",href:"#primary-and-foreign-keys"},"#")],-1),O=t("Every "),k=t("Item"),T=t(" in a relational database has a unique "),C=t("Primary Key"),x=t(" (or \u201CPK\u201D) that identifies it within its "),P=t("Collection"),j=t(". Because it\u2019s required, the key is the first "),A=t("field"),I=t(" created within a collection, typically storing an \u201Cauto-increment\u201D number, an automatically generated unique hash, or a manually entered value. They are often abbreviated to \u201CPK\u201D (Primary Key), \u201CID\u201D (Identifier), \u201CUID\u201D (Unique Identifier), or \u201CUUID\u201D (Universally Unique Identifier), depending on the type of value they store. After it\u2019s created, the value of an item\u2019s PK should "),D=e("em",null,"never",-1),K=t(" change."),S=e("p",null,[t("To link items together relationally, you simply save a reference to an item\u2019s PK in a different field. That "),e("em",null,"reference"),t(" is called a Foreign Key (FK). If the primary key is a "),e("em",null,"person"),t(", the foreign key is like their "),e("em",null,"business card"),t(". It references the actual person, providing just enough information to find them.")],-1),F=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Composite & Compound Keys"),e("p",null,[t("In the above explanation we\u2019ve ignored "),e("em",null,"composite"),t(" and "),e("em",null,"compound"),t(" keys, which are essentially unique keys created by combining "),e("em",null,"multiple"),t(" field/column values.")])],-1),R=e("h3",{id:"perspective-matters"},[t("Perspective Matters "),e("a",{class:"header-anchor",href:"#perspective-matters"},"#")],-1),q=e("p",null,"Just like primary and foreign keys, relationships are always described relative to their \u201Cparent\u201D collection. Looking at the same relationship/key from the perspective of the opposite collection would reverse it. This means that a many-to-one relationship can also be seen as a one-to-many relationship, it just depends on which collection is considered the parent.",-1),N=e("h2",{id:"many-to-one-(m2o)"},[t("Many-to-One (M2O) "),e("a",{class:"header-anchor",href:"#many-to-one-(m2o)"},"#")],-1),J=e("p",null,[t("The Many-to-One is the only relationship type with an actual field on the parent Collection. This field saves the foreign key to a single related item. For example, a "),e("em",null,"city"),t(" can only be in one "),e("em",null,"country"),t(", but a "),e("em",null,"country"),t(" can have many "),e("em",null,"cities"),t(".")],-1),W=e("p",null,"Below is an example of a M2O relationship:",-1),B=e("pre",null,[e("code",null,`cities (the "Many" Collection)
1
+ import{r as s,p as c,q as h,w as n,B as e,t as l,P as t}from"./vendor.c46e17d6.js";var d="assets/m2o.ac02ed03.png",u="assets/o2m.339378e0.png",f="assets/translations.2f0017a9.png",m="assets/translations-2.29d07342.png",_="assets/m2m.07bed843.png",p="assets/m2a.347ed339.png";const y={class:"markdown-body"},g=e("blockquote",null,[e("p",null,[t("As you might have guessed, relationships are a crucial part of any relational database. Directus supports all standard relationship types, as well as a few more "),e("em",null,"compound"),t(" types that offer greater flexibility.")])],-1),w=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#many-to-one-(m2o)"},"Many-to-One (M2O)")]),e("li",null,[e("a",{href:"#one-to-many-(o2m)"},"One-to-Many (O2M)")]),e("li",null,[e("a",{href:"#translations-(o2m)"},"Translations (O2M)")]),e("li",null,[e("a",{href:"#many-to-many-(m2m)"},"Many-to-Many (M2M)")]),e("li",null,[e("a",{href:"#many-to-any-(m2a)"},"Many-to-Any (M2A)")]),e("li",null,[e("a",{href:"#one-to-one-(o2o)"},"One-to-One (O2O)")])])])],-1),M=e("h3",{id:"introduction"},[t("Introduction "),e("a",{class:"header-anchor",href:"#introduction"},"#")],-1),b=e("p",null,"While it may seem complex at first, relational data is actually quite straightforward once you understand what\u2019s happening behind the sometimes confusing terminology. Before diving into the details of each type, let\u2019s first cover a few basics that will help you better visualize them in your mind\u2019s eye.",-1),v=e("h3",{id:"primary-and-foreign-keys"},[t("Primary and Foreign Keys "),e("a",{class:"header-anchor",href:"#primary-and-foreign-keys"},"#")],-1),O=t("Every "),k=t("Item"),T=t(" in a relational database has a unique "),C=t("Primary Key"),x=t(" (or \u201CPK\u201D) that identifies it within its "),P=t("Collection"),j=t(". Because it\u2019s required, the key is the first "),A=t("field"),I=t(" created within a collection, typically storing an \u201Cauto-increment\u201D number, an automatically generated unique hash, or a manually entered value. They are often abbreviated to \u201CPK\u201D (Primary Key), \u201CID\u201D (Identifier), \u201CUID\u201D (Unique Identifier), or \u201CUUID\u201D (Universally Unique Identifier), depending on the type of value they store. After it\u2019s created, the value of an item\u2019s PK should "),D=e("em",null,"never",-1),K=t(" change."),S=e("p",null,[t("To link items together relationally, you simply save a reference to an item\u2019s PK in a different field. That "),e("em",null,"reference"),t(" is called a Foreign Key (FK). If the primary key is a "),e("em",null,"person"),t(", the foreign key is like their "),e("em",null,"business card"),t(". It references the actual person, providing just enough information to find them.")],-1),F=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Composite & Compound Keys"),e("p",null,[t("In the above explanation we\u2019ve ignored "),e("em",null,"composite"),t(" and "),e("em",null,"compound"),t(" keys, which are essentially unique keys created by combining "),e("em",null,"multiple"),t(" field/column values.")])],-1),R=e("h3",{id:"perspective-matters"},[t("Perspective Matters "),e("a",{class:"header-anchor",href:"#perspective-matters"},"#")],-1),q=e("p",null,"Just like primary and foreign keys, relationships are always described relative to their \u201Cparent\u201D collection. Looking at the same relationship/key from the perspective of the opposite collection would reverse it. This means that a many-to-one relationship can also be seen as a one-to-many relationship, it just depends on which collection is considered the parent.",-1),N=e("h2",{id:"many-to-one-(m2o)"},[t("Many-to-One (M2O) "),e("a",{class:"header-anchor",href:"#many-to-one-(m2o)"},"#")],-1),B=e("p",null,[t("The Many-to-One is the only relationship type with an actual field on the parent Collection. This field saves the foreign key to a single related item. For example, a "),e("em",null,"city"),t(" can only be in one "),e("em",null,"country"),t(", but a "),e("em",null,"country"),t(" can have many "),e("em",null,"cities"),t(".")],-1),J=e("p",null,"Below is an example of a M2O relationship:",-1),W=e("pre",null,[e("code",null,`cities (the "Many" Collection)
2
2
  - id (Primary Key)
3
3
  - name
4
4
  - country (the M2O field that stores the country key)
@@ -15,7 +15,7 @@ cities (the "Many" Collection)
15
15
  - id (Primary Key)
16
16
  - name
17
17
  - country (the M2O field that stores the country key)
18
- `)],-1),oe=e("h3",{id:"setup-2"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-2"},"#")],-1),le=e("p",null,[e("img",{src:u,alt:"O2M"})],-1),ie=e("p",null,"The parent collection and field are already known (it\u2019s the field you\u2019re currently creating), so configuring those are disabled. All you need to configure is the related collection and its M2O field.",-1),se=e("p",null,[t("You can select or enter an "),e("strong",null,"existing"),t(" Related Collection (highlights green) or create a "),e("strong",null,"new"),t(" one by entering a unique collection name. Next, you can select an existing field (highlights green) or create a new one by entering a field name unique to its collection.")],-1),ae=e("p",null,"The related field will store the value of this collection\u2019s primary key field, so both must have the same type. For this reason, when selecting existing fields, options will be disabled if they don\u2019t have a matching type.",-1),re=e("p",null,[t("You also have the option to create a "),e("strong",null,"Corresponding Field"),t(" during this process. This allows you to more easily create the M2O field (see above) that pairs with this O2M.")],-1),ce=e("p",null,[t("The optional "),e("strong",null,"Sort Field"),t(" can be used enable manual reordering of items within this O2M field. This is configured by selecting an existing numeric type field (highlights green) from the Related Collection, or entering the name of a new field to be created.")],-1),he=e("p",null,[e("strong",null,"Relational Triggers"),t(" allow for control over what happens when a relationship is broken. There are two options:")],-1),de=e("ul",null,[e("li",null,[e("strong",null,"On Deselect of [Related Collection]"),t(" \u2014 When the value of the M2O is deselected\u2026 "),e("ul",null,[e("li",null,"Nullify the M2O field value (default)"),e("li",null,"Delete the M2O item (cascade)")])]),e("li",null,[e("strong",null,"On Delete of [Parent Collection Item]"),t(" \u2014 When this O2M item is deleted\u2026 "),e("ul",null,[e("li",null,"Nullify the related M2O field (default)"),e("li",null,"Set the related M2O field to its default value"),e("li",null,"Delete the related collection\u2019s item (cascade)"),e("li",null,"Prevent the deletion")])])],-1),ue=e("h2",{id:"translations-(o2m)"},[t("Translations (O2M) "),e("a",{class:"header-anchor",href:"#translations-(o2m)"},"#")],-1),fe=t("The Translations relationship is just a special version of the standard O2M. Just like the O2M, it creates an "),me=t("Alias"),_e=t(" field that is used to list all related items (the translations). Translations themselves are stored in a separate collection, which is then further related to "),pe=e("em",null,"third",-1),ye=t(" collection that stores all languages."),ge=e("h3",{id:"setup-3"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-3"},"#")],-1),we=e("p",null,[e("img",{src:f,alt:"Translations"})],-1),Me=e("p",null,"The easiest way to add translations is to use the wizard, which only asks for the Translation field name. All required fields and relationships will then be automatically created and configured.",-1),be=e("p",null,[e("img",{src:m,alt:"Translations"})],-1),ve=e("p",null,[t("If you choose to switch to "),e("strong",null,"manual setup"),t(", you will be presented with a similar relationship setup to O2M or M2M. The parent collection and primary key are know, so those fields are disabled.")],-1),Oe=e("p",null,"Next, we configure the Translation Collection. Set to \u201CAuto Fill\u201D by default, this will enter intelligent naming based on related names, and disables all fields. Disabling Auto Fill will enable all fields, allowing you to name the collection that holds the translations, as well as the two fields (each a M2O) that store foreign keys to the parent item and language.",-1),ke=e("p",null,[t("Lastly, you would select/create the Languages collection, which stores the languages available for this translations field. It is common practice to reuse a single languages collection throughout your project, unless translation fields need to support different language sets. For the language "),e("code",null,"code"),t(" we recommend using the IETF language tag (eg: "),e("code",null,"en-US"),t(") which combines the ISO 639-1 and ISO 3166\u20111 standards, but anything can be used (eg: "),e("code",null,"english"),t(").")],-1),Te=e("h2",{id:"many-to-many-(m2m)"},[t("Many-to-Many (M2M) "),e("a",{class:"header-anchor",href:"#many-to-many-(m2m)"},"#")],-1),Ce=t("The Many-to-Many relationship is actually just "),xe=e("strong",null,"two relationships combined",-1),Pe=t(" (O2M+M2O) that join together three different collections. The M2M is stored as an "),je=t("Alias"),Ae=t(" field on its parent Collection that dynamically lists all items connected via a "),Ie=t("junction collection"),De=t(". For example, a "),Ke=e("em",null,"recipe",-1),Se=t(" can have many "),Fe=e("em",null,"ingredients",-1),Re=t(", and "),qe=e("em",null,"ingredients",-1),Ne=t(" can be in many "),Je=e("em",null,"recipes",-1),We=t("."),Be=e("p",null,"Below is an example of a M2M relationship:",-1),Ye=e("pre",null,[e("code",null,`recipes (Collection)
18
+ `)],-1),oe=e("h3",{id:"setup-2"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-2"},"#")],-1),le=e("p",null,[e("img",{src:u,alt:"O2M"})],-1),ie=e("p",null,"The parent collection and field are already known (it\u2019s the field you\u2019re currently creating), so configuring those are disabled. All you need to configure is the related collection and its M2O field.",-1),se=e("p",null,[t("You can select or enter an "),e("strong",null,"existing"),t(" Related Collection (highlights green) or create a "),e("strong",null,"new"),t(" one by entering a unique collection name. Next, you can select an existing field (highlights green) or create a new one by entering a field name unique to its collection.")],-1),ae=e("p",null,"The related field will store the value of this collection\u2019s primary key field, so both must have the same type. For this reason, when selecting existing fields, options will be disabled if they don\u2019t have a matching type.",-1),re=e("p",null,[t("You also have the option to create a "),e("strong",null,"Corresponding Field"),t(" during this process. This allows you to more easily create the M2O field (see above) that pairs with this O2M.")],-1),ce=e("p",null,[t("The optional "),e("strong",null,"Sort Field"),t(" can be used enable manual reordering of items within this O2M field. This is configured by selecting an existing numeric type field (highlights green) from the Related Collection, or entering the name of a new field to be created.")],-1),he=e("p",null,[e("strong",null,"Relational Triggers"),t(" allow for control over what happens when a relationship is broken. There are two options:")],-1),de=e("ul",null,[e("li",null,[e("strong",null,"On Deselect of [Related Collection]"),t(" \u2014 When the value of the M2O is deselected\u2026 "),e("ul",null,[e("li",null,"Nullify the M2O field value (default)"),e("li",null,"Delete the M2O item (cascade)")])]),e("li",null,[e("strong",null,"On Delete of [Parent Collection Item]"),t(" \u2014 When this O2M item is deleted\u2026 "),e("ul",null,[e("li",null,"Nullify the related M2O field (default)"),e("li",null,"Set the related M2O field to its default value"),e("li",null,"Delete the related collection\u2019s item (cascade)"),e("li",null,"Prevent the deletion")])])],-1),ue=e("h2",{id:"translations-(o2m)"},[t("Translations (O2M) "),e("a",{class:"header-anchor",href:"#translations-(o2m)"},"#")],-1),fe=t("The Translations relationship is just a special version of the standard O2M. Just like the O2M, it creates an "),me=t("Alias"),_e=t(" field that is used to list all related items (the translations). Translations themselves are stored in a separate collection, which is then further related to "),pe=e("em",null,"third",-1),ye=t(" collection that stores all languages."),ge=e("h3",{id:"setup-3"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-3"},"#")],-1),we=e("p",null,[e("img",{src:f,alt:"Translations"})],-1),Me=e("p",null,"The easiest way to add translations is to use the wizard, which only asks for the Translation field name. All required fields and relationships will then be automatically created and configured.",-1),be=e("p",null,[e("img",{src:m,alt:"Translations"})],-1),ve=e("p",null,[t("If you choose to switch to "),e("strong",null,"manual setup"),t(", you will be presented with a similar relationship setup to O2M or M2M. The parent collection and primary key are know, so those fields are disabled.")],-1),Oe=e("p",null,"Next, we configure the Translation Collection. Set to \u201CAuto Fill\u201D by default, this will enter intelligent naming based on related names, and disables all fields. Disabling Auto Fill will enable all fields, allowing you to name the collection that holds the translations, as well as the two fields (each a M2O) that store foreign keys to the parent item and language.",-1),ke=e("p",null,[t("Lastly, you would select/create the Languages collection, which stores the languages available for this translations field. It is common practice to reuse a single languages collection throughout your project, unless translation fields need to support different language sets. For the language "),e("code",null,"code"),t(" we recommend using the IETF language tag (eg: "),e("code",null,"en-US"),t(") which combines the ISO 639-1 and ISO 3166\u20111 standards, but anything can be used (eg: "),e("code",null,"english"),t(").")],-1),Te=e("h2",{id:"many-to-many-(m2m)"},[t("Many-to-Many (M2M) "),e("a",{class:"header-anchor",href:"#many-to-many-(m2m)"},"#")],-1),Ce=t("The Many-to-Many relationship is actually just "),xe=e("strong",null,"two relationships combined",-1),Pe=t(" (O2M+M2O) that join together three different collections. The M2M is stored as an "),je=t("Alias"),Ae=t(" field on its parent Collection that dynamically lists all items connected via a "),Ie=t("junction collection"),De=t(". For example, a "),Ke=e("em",null,"recipe",-1),Se=t(" can have many "),Fe=e("em",null,"ingredients",-1),Re=t(", and "),qe=e("em",null,"ingredients",-1),Ne=t(" can be in many "),Be=e("em",null,"recipes",-1),Je=t("."),We=e("p",null,"Below is an example of a M2M relationship:",-1),Ye=e("pre",null,[e("code",null,`recipes (Collection)
19
19
  - id (Primary Key)
20
20
  - name
21
21
  - *ingredients* (M2M/O2M alias field that lists references from "recipe_ingredients")
@@ -55,4 +55,4 @@ page_sections (Junction Collection)
55
55
  - page (stores the page key)
56
56
  - section (stores section key)
57
57
  - section_collection (determines which collection the section_id belongs to)
58
- `)],-1),_t=e("h3",{id:"setup-5"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-5"},"#")],-1),pt=e("p",null,[e("img",{src:p,alt:"M2A"})],-1),yt=e("p",null,"The parent collection and field are already known (it\u2019s the field you\u2019re currently creating), so configuring those are disabled.",-1),gt=t("Next, we configure the "),wt=t("Junction Collection"),Mt=t(", which sits between the related collections, storing all links between them. You can leave this set to \u201CAuto-Fill\u201D, which sets intelligent naming defaults, or disable it to select existing options or enter custom names."),bt=e("p",null,[t("Lastly, you should select any desired Related Collections. Unlike other relationships, you can\u2019t "),e("em",null,"create"),t(" these related collections here, so ensure all related collections you need are created before hand.")],-1),vt=e("p",null,[t("The optional "),e("strong",null,"Sort Field"),t(" can be used enable manual reordering of items within this M2A field. This is configured by selecting an existing numeric type field (highlights green) from the Junction Collection, or entering the name of a new field to be created.")],-1),Ot=e("p",null,[e("strong",null,"Relational Triggers"),t(" allow for control over what happens when a relationship is broken. There are three options:")],-1),kt=e("ul",null,[e("li",null,[e("strong",null,"On Delete of [Parent Collection Item]"),t(" \u2014 When a M2A item is deleted\u2026 "),e("ul",null,[e("li",null,"Nullify the junction field (default)"),e("li",null,"Set the junction field to its default value"),e("li",null,"Delete the related junction item (cascade)"),e("li",null,"Prevent the deletion")])]),e("li",null,[e("strong",null,"On Deselect of [Junction Collection]"),t(" \u2014 When the value of this M2A is deselected\u2026 "),e("ul",null,[e("li",null,"Nullify the junction field (default)"),e("li",null,"Delete the junction item (cascade)")])])],-1),Tt=e("h2",{id:"one-to-one-(o2o)"},[t("One-to-One (O2O) "),e("a",{class:"header-anchor",href:"#one-to-one-(o2o)"},"#")],-1),Ct=t("Directus does not include a dedicated One-to-One (O2O) relationship type or interface. However, O2O is essentially the same as a M2O (storing a foreign key). The only difference is that a O2O enforces the cardinality. In other words, selecting a relational item in a O2O means that item can not be selected elsewhere (it can only be used once). This functionality can be added by checking and constraining uniqueness via a "),xt=t("custom event hook"),Pt=t(" or "),jt=t("custom interface"),At=t("."),It=e("p",null,[t("An example of this is a "),e("em",null,"person"),t(" only has one unique set of "),e("em",null,"fingerprints"),t(", and those "),e("em",null,"fingerprints"),t(" only belong to one "),e("em",null,"person"),t(".")],-1),Rt={setup(Dt,{expose:a}){const i={title:"Relationships",modularExtension:!1};return a({frontmatter:i}),(Kt,St)=>{const o=s("router-link"),r=s("DocsWrapper");return c(),h(r,{frontmatter:i},{default:n(()=>[e("div",y,[g,w,M,b,v,e("p",null,[O,l(o,{to:"/docs/getting-started/glossary/#items"},{default:n(()=>[k]),_:1}),T,l(o,{to:"/docs/getting-started/glossary/#primary-key-pk"},{default:n(()=>[C]),_:1}),x,l(o,{to:"/docs/getting-started/glossary/#collections"},{default:n(()=>[P]),_:1}),j,l(o,{to:"/docs/getting-started/glossary/#fields"},{default:n(()=>[A]),_:1}),I,D,K]),S,F,R,q,N,J,W,B,Y,U,L,E,H,V,z,G,e("p",null,[Q,X,Z,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[$]),_:1}),ee]),te,ne,oe,le,ie,se,ae,re,ce,he,de,ue,e("p",null,[fe,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[me]),_:1}),_e,pe,ye]),ge,we,Me,be,ve,Oe,ke,Te,e("p",null,[Ce,xe,Pe,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[je]),_:1}),Ae,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[Ie]),_:1}),De,Ke,Se,Fe,Re,qe,Ne,Je,We]),Be,Ye,Ue,Le,Ee,He,Ve,ze,e("p",null,[Ge,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[Qe]),_:1}),Xe]),Ze,$e,et,tt,nt,e("p",null,[ot,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[lt]),_:1}),it,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[st]),_:1}),at,rt,ct,ht,dt]),ut,ft,mt,_t,pt,yt,e("p",null,[gt,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[wt]),_:1}),Mt]),bt,vt,Ot,kt,Tt,e("p",null,[Ct,l(o,{to:"/docs/extensions/hooks/"},{default:n(()=>[xt]),_:1}),Pt,l(o,{to:"/docs/extensions/interfaces/"},{default:n(()=>[jt]),_:1}),At]),It])]),_:1})}}};export{Rt as default};
58
+ `)],-1),_t=e("h3",{id:"setup-5"},[t("Setup "),e("a",{class:"header-anchor",href:"#setup-5"},"#")],-1),pt=e("p",null,[e("img",{src:p,alt:"M2A"})],-1),yt=e("p",null,"The parent collection and field are already known (it\u2019s the field you\u2019re currently creating), so configuring those are disabled.",-1),gt=t("Next, we configure the "),wt=t("Junction Collection"),Mt=t(", which sits between the related collections, storing all links between them. You can leave this set to \u201CAuto-Fill\u201D, which sets intelligent naming defaults, or disable it to select existing options or enter custom names."),bt=e("p",null,[t("Lastly, you should select any desired Related Collections. Unlike other relationships, you can\u2019t "),e("em",null,"create"),t(" these related collections here, so ensure all related collections you need are created before hand.")],-1),vt=e("p",null,[t("The optional "),e("strong",null,"Sort Field"),t(" can be used enable manual reordering of items within this M2A field. This is configured by selecting an existing numeric type field (highlights green) from the Junction Collection, or entering the name of a new field to be created.")],-1),Ot=e("p",null,[e("strong",null,"Relational Triggers"),t(" allow for control over what happens when a relationship is broken. There are three options:")],-1),kt=e("ul",null,[e("li",null,[e("strong",null,"On Delete of [Parent Collection Item]"),t(" \u2014 When a M2A item is deleted\u2026 "),e("ul",null,[e("li",null,"Nullify the junction field (default)"),e("li",null,"Set the junction field to its default value"),e("li",null,"Delete the related junction item (cascade)"),e("li",null,"Prevent the deletion")])]),e("li",null,[e("strong",null,"On Deselect of [Junction Collection]"),t(" \u2014 When the value of this M2A is deselected\u2026 "),e("ul",null,[e("li",null,"Nullify the junction field (default)"),e("li",null,"Delete the junction item (cascade)")])])],-1),Tt=e("h2",{id:"one-to-one-(o2o)"},[t("One-to-One (O2O) "),e("a",{class:"header-anchor",href:"#one-to-one-(o2o)"},"#")],-1),Ct=t("Directus does not include a dedicated One-to-One (O2O) relationship type or interface. However, O2O is essentially the same as a M2O (storing a foreign key). The only difference is that a O2O enforces the cardinality. In other words, selecting a relational item in a O2O means that item can not be selected elsewhere (it can only be used once). This functionality can be added by checking and constraining uniqueness via a "),xt=t("custom event hook"),Pt=t(" or "),jt=t("custom interface"),At=t("."),It=e("p",null,[t("An example of this is a "),e("em",null,"person"),t(" only has one unique set of "),e("em",null,"fingerprints"),t(", and those "),e("em",null,"fingerprints"),t(" only belong to one "),e("em",null,"person"),t(".")],-1),Rt={setup(Dt,{expose:a}){const i={title:"Relationships",modularExtension:!1};return a({frontmatter:i}),(Kt,St)=>{const o=s("router-link"),r=s("DocsWrapper");return c(),h(r,{frontmatter:i},{default:n(()=>[e("div",y,[g,w,M,b,v,e("p",null,[O,l(o,{to:"/docs/getting-started/glossary/#items"},{default:n(()=>[k]),_:1}),T,l(o,{to:"/docs/getting-started/glossary/#primary-key-pk"},{default:n(()=>[C]),_:1}),x,l(o,{to:"/docs/getting-started/glossary/#collections"},{default:n(()=>[P]),_:1}),j,l(o,{to:"/docs/getting-started/glossary/#fields"},{default:n(()=>[A]),_:1}),I,D,K]),S,F,R,q,N,B,J,W,Y,U,L,E,H,V,z,G,e("p",null,[Q,X,Z,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[$]),_:1}),ee]),te,ne,oe,le,ie,se,ae,re,ce,he,de,ue,e("p",null,[fe,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[me]),_:1}),_e,pe,ye]),ge,we,Me,be,ve,Oe,ke,Te,e("p",null,[Ce,xe,Pe,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[je]),_:1}),Ae,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[Ie]),_:1}),De,Ke,Se,Fe,Re,qe,Ne,Be,Je]),We,Ye,Ue,Le,Ee,He,Ve,ze,e("p",null,[Ge,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[Qe]),_:1}),Xe]),Ze,$e,et,tt,nt,e("p",null,[ot,l(o,{to:"/docs/getting-started/glossary/#alias"},{default:n(()=>[lt]),_:1}),it,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[st]),_:1}),at,rt,ct,ht,dt]),ut,ft,mt,_t,pt,yt,e("p",null,[gt,l(o,{to:"/docs/getting-started/glossary/#junction-collections"},{default:n(()=>[wt]),_:1}),Mt]),bt,vt,Ot,kt,Tt,e("p",null,[Ct,l(o,{to:"/docs/extensions/hooks/"},{default:n(()=>[xt]),_:1}),Pt,l(o,{to:"/docs/extensions/interfaces/"},{default:n(()=>[jt]),_:1}),At]),It])]),_:1})}}};export{Rt as default};
@@ -1,4 +1,4 @@
1
- import{p as l,q as c,C as h,v as t,M as s,u as o,D as e}from"./vendor.299bc11c.js";const d={class:"markdown-body"},_={class:"two-up"},p={class:"left"},u=e("Revisions are individual changes to items made. Directus keeps track of changes made, so you\u2019re able to revert to a previous state at will. "),v=e("Learn more about Revisions"),m=e("."),f=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-revision-object"},"The Revision Object")]),s("li",null,[s("a",{href:"#list-revisions"},"List revisions")]),s("li",null,[s("a",{href:"#retrieve-a-revision"},"Retrieve a revision")])])])])],-1),g=s("hr",null,null,-1),y=s("h2",{id:"the-revision-object"},[e("The Revision Object "),s("a",{class:"header-anchor",href:"#the-revision-object"},"#")],-1),b={class:"two-up"},j={class:"left"},q={class:"definitions"},x=s("p",null,[s("code",null,"id"),e(),s("strong",null,"integer"),s("br"),e(" Primary key of the revision.")],-1),k=s("code",null,"activity",-1),w=e(),R=s("strong",null,"many-to-one",-1),E=s("br",null,null,-1),T=e(" Related activity record. Many-to-one to "),P=e("activity"),S=e("."),L=s("p",null,[s("code",null,"collection"),e(),s("strong",null,"string"),s("br"),e(" Collection in which this revision happened.")],-1),C=s("p",null,[s("code",null,"item"),e(),s("strong",null,"string"),s("br"),e(" Primary key of the item that was changed.")],-1),D=s("p",null,[s("code",null,"data"),e(),s("strong",null,"object"),s("br"),e(" Snapshot of the top-level item data.")],-1),Q=s("p",null,[s("code",null,"delta"),e(),s("strong",null,"object"),s("br"),e(" Snapshot of the changes made in this revision.")],-1),A=s("p",null,[s("code",null,"parent"),e(),s("strong",null,"many-to-one"),s("br"),e(" Parent revision that triggered this revision. Many-to-one to revisions (recursive).")],-1),G=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[e(`{
1
+ import{r as l,p as c,q as h,w as t,B as s,t as o,P as e}from"./vendor.c46e17d6.js";const d={class:"markdown-body"},_={class:"two-up"},p={class:"left"},u=e("Revisions are individual changes to items made. Directus keeps track of changes made, so you\u2019re able to revert to a previous state at will. "),v=e("Learn more about Revisions"),m=e("."),f=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-revision-object"},"The Revision Object")]),s("li",null,[s("a",{href:"#list-revisions"},"List revisions")]),s("li",null,[s("a",{href:"#retrieve-a-revision"},"Retrieve a revision")])])])])],-1),g=s("hr",null,null,-1),y=s("h2",{id:"the-revision-object"},[e("The Revision Object "),s("a",{class:"header-anchor",href:"#the-revision-object"},"#")],-1),j={class:"two-up"},b={class:"left"},q={class:"definitions"},x=s("p",null,[s("code",null,"id"),e(),s("strong",null,"integer"),s("br"),e(" Primary key of the revision.")],-1),w=s("code",null,"activity",-1),k=e(),R=s("strong",null,"many-to-one",-1),E=s("br",null,null,-1),P=e(" Related activity record. Many-to-one to "),T=e("activity"),S=e("."),L=s("p",null,[s("code",null,"collection"),e(),s("strong",null,"string"),s("br"),e(" Collection in which this revision happened.")],-1),C=s("p",null,[s("code",null,"item"),e(),s("strong",null,"string"),s("br"),e(" Primary key of the item that was changed.")],-1),D=s("p",null,[s("code",null,"data"),e(),s("strong",null,"object"),s("br"),e(" Snapshot of the top-level item data.")],-1),Q=s("p",null,[s("code",null,"delta"),e(),s("strong",null,"object"),s("br"),e(" Snapshot of the changes made in this revision.")],-1),A=s("p",null,[s("code",null,"parent"),e(),s("strong",null,"many-to-one"),s("br"),e(" Parent revision that triggered this revision. Many-to-one to revisions (recursive).")],-1),G=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[e(`{
2
2
  `),s("span",{class:"hljs-attr"},'"id"'),e(": "),s("span",{class:"hljs-number"},"368"),e(`,
3
3
  `),s("span",{class:"hljs-attr"},'"activity"'),e(": "),s("span",{class:"hljs-number"},"438"),e(`,
4
4
  `),s("span",{class:"hljs-attr"},'"collection"'),e(": "),s("span",{class:"hljs-string"},'"articles"'),e(`,
@@ -11,7 +11,7 @@ import{p as l,q as c,C as h,v as t,M as s,u as o,D as e}from"./vendor.299bc11c.j
11
11
  },
12
12
  `),s("span",{class:"hljs-attr"},'"parent"'),e(": "),s("span",{class:"hljs-literal"},"null"),e(`
13
13
  }
14
- `)])])],-1),H=s("hr",null,null,-1),I=s("h2",{id:"list-revisions"},[e("List revisions "),s("a",{class:"header-anchor",href:"#list-revisions"},"#")],-1),O=s("p",null,"List all revisions that exist in Directus.",-1),B={class:"two-up"},M={class:"left"},N=s("div",{class:"tip hint"},[s("div",{class:"hint-title"},"Permissions"),s("p",null,"The data returned in this endpoint will be filtered based on the user\u2019s permissions. For example, revisions that apply to a collection that the current user doesn\u2019t have access to are stripped out.")],-1),V=s("h3",{id:"query-parameters"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters"},"#")],-1),W=e("Supports all "),F=e("global query parameters"),z=e("."),J=s("h3",{id:"returns"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns"},"#")],-1),K=e("An array of up to "),U=e("limit"),X=e(),Y=s("a",{href:"#the-revision-object"},"revision objects",-1),Z=e(". If no items are available, data will be an empty array."),$={class:"right"},ss=s("h3",{id:"rest-api"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")],-1),es=s("pre",null,[s("code",null,`GET /revisions
14
+ `)])])],-1),B=s("hr",null,null,-1),H=s("h2",{id:"list-revisions"},[e("List revisions "),s("a",{class:"header-anchor",href:"#list-revisions"},"#")],-1),I=s("p",null,"List all revisions that exist in Directus.",-1),O={class:"two-up"},N={class:"left"},V=s("div",{class:"tip hint"},[s("div",{class:"hint-title"},"Permissions"),s("p",null,"The data returned in this endpoint will be filtered based on the user\u2019s permissions. For example, revisions that apply to a collection that the current user doesn\u2019t have access to are stripped out.")],-1),W=s("h3",{id:"query-parameters"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters"},"#")],-1),M=e("Supports all "),F=e("global query parameters"),z=e("."),J=s("h3",{id:"returns"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns"},"#")],-1),K=e("An array of up to "),U=e("limit"),X=e(),Y=s("a",{href:"#the-revision-object"},"revision objects",-1),Z=e(". If no items are available, data will be an empty array."),$={class:"right"},ss=s("h3",{id:"rest-api"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")],-1),es=s("pre",null,[s("code",null,`GET /revisions
15
15
  SEARCH /revisions
16
16
  `)],-1),ts=e("Learn more about SEARCH ->"),ns=s("h3",{id:"graphql"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql"},"#")],-1),os=s("pre",null,[s("code",null,`POST /graphql/system
17
17
  `)],-1),as=s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
@@ -37,4 +37,4 @@ SEARCH /revisions
37
37
  delta
38
38
  }
39
39
  }
40
- `)])])],-1),ks={setup(bs,{expose:r}){const a={title:"Revisions",modularExtension:!1,pageClass:"page-reference"};return r({frontmatter:a}),(js,qs)=>{const n=l("router-link"),i=l("DocsWrapper");return c(),h(i,{frontmatter:a},{default:t(()=>[s("div",d,[s("div",_,[s("div",p,[s("blockquote",null,[s("p",null,[u,o(n,{to:"/docs/getting-started/glossary/#revisions"},{default:t(()=>[v]),_:1}),m])])]),f]),g,y,s("div",b,[s("div",j,[s("div",q,[x,s("p",null,[k,w,R,E,T,o(n,{to:"/docs/reference/system/activity/"},{default:t(()=>[P]),_:1}),S]),L,C,D,Q,A])]),G]),H,I,O,s("div",B,[s("div",M,[N,V,s("p",null,[W,o(n,{to:"/docs/reference/query"},{default:t(()=>[F]),_:1}),z]),J,s("p",null,[K,o(n,{to:"/docs/reference/query/#limit"},{default:t(()=>[U]),_:1}),X,Y,Z])]),s("div",$,[ss,es,s("p",null,[o(n,{to:"/docs/reference/introduction/#search-http-method"},{default:t(()=>[ts]),_:1})]),ns,os,as,ls,rs])]),is,cs,hs,s("div",ds,[s("div",_s,[ps,s("p",null,[us,o(n,{to:"/docs/reference/query"},{default:t(()=>[vs]),_:1}),ms]),fs,gs]),ys])])]),_:1})}}};export{ks as default};
40
+ `)])])],-1),ws={setup(js,{expose:r}){const a={title:"Revisions",modularExtension:!1,pageClass:"page-reference"};return r({frontmatter:a}),(bs,qs)=>{const n=l("router-link"),i=l("DocsWrapper");return c(),h(i,{frontmatter:a},{default:t(()=>[s("div",d,[s("div",_,[s("div",p,[s("blockquote",null,[s("p",null,[u,o(n,{to:"/docs/getting-started/glossary/#revisions"},{default:t(()=>[v]),_:1}),m])])]),f]),g,y,s("div",j,[s("div",b,[s("div",q,[x,s("p",null,[w,k,R,E,P,o(n,{to:"/docs/reference/system/activity/"},{default:t(()=>[T]),_:1}),S]),L,C,D,Q,A])]),G]),B,H,I,s("div",O,[s("div",N,[V,W,s("p",null,[M,o(n,{to:"/docs/reference/query"},{default:t(()=>[F]),_:1}),z]),J,s("p",null,[K,o(n,{to:"/docs/reference/query/#limit"},{default:t(()=>[U]),_:1}),X,Y,Z])]),s("div",$,[ss,es,s("p",null,[o(n,{to:"/docs/reference/introduction/#search-http-method"},{default:t(()=>[ts]),_:1})]),ns,os,as,ls,rs])]),is,cs,hs,s("div",ds,[s("div",_s,[ps,s("p",null,[us,o(n,{to:"/docs/reference/query"},{default:t(()=>[vs]),_:1}),ms]),fs,gs]),ys])])]),_:1})}}};export{ws as default};
@@ -1,4 +1,4 @@
1
- import{p as r,q as h,C as d,v as l,M as s,u as t,D as e}from"./vendor.299bc11c.js";const i={class:"markdown-body"},p={class:"two-up"},u={class:"left"},_=e("Roles define a specific set of access permissions, and are the primary organizational structure for Users within the platform. "),f=e("Learn more about Roles"),m=e("."),g=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-role-object"},"The Role Object")]),s("li",null,[s("a",{href:"#list-roles"},"List Roles")]),s("li",null,[s("a",{href:"#retrieve-a-role"},"Retrieve a Role")]),s("li",null,[s("a",{href:"#create-a-role"},"Create a Role")]),s("li",null,[s("a",{href:"#create-multiple-roles"},"Create Multiple Roles")]),s("li",null,[s("a",{href:"#update-a-role"},"Update a Role")]),s("li",null,[s("a",{href:"#update-multiple-roles"},"Update Multiple Roles")]),s("li",null,[s("a",{href:"#delete-a-role"},"Delete a Role")]),s("li",null,[s("a",{href:"#delete-multiple-roles"},"Delete Multiple Roles")])])])])],-1),j=s("hr",null,null,-1),y=s("h2",{id:"the-role-object"},[e("The Role Object "),s("a",{class:"header-anchor",href:"#the-role-object"},"#")],-1),b={class:"two-up"},q={class:"left"},x={class:"definitions"},v=s("p",null,[s("code",null,"id"),e(),s("strong",null,"uuid"),s("br"),e(" Primary key of the role.")],-1),R=s("p",null,[s("code",null,"name"),e(),s("strong",null,"string"),s("br"),e(" Name of the role.")],-1),E=s("p",null,[s("code",null,"icon"),e(),s("strong",null,"string"),s("br"),e(" Icon for the role. Displayed in the Admin App.")],-1),T=s("p",null,[s("code",null,"description"),e(),s("strong",null,"string"),s("br"),e(" Description for the role. Displayed in the Admin App.")],-1),w=s("p",null,[s("code",null,"ip_access"),e(),s("strong",null,"csv"),s("br"),e(" CSV of IP addresses that have access to this role. Allows you to configure an allowlist of IP addresses.")],-1),P=s("p",null,[s("code",null,"enforce_tfa"),e(),s("strong",null,"boolean"),s("br"),e(" Whether or not Two-Factor Authentication is required for users in this role.")],-1),A=s("p",null,[s("code",null,"admin_access"),e(),s("strong",null,"boolean"),s("br"),e(" If this role is considered an admin role. This means that users in this role have full permissions to everything.")],-1),k=s("p",null,[s("code",null,"app_access"),e(),s("strong",null,"boolean"),s("br"),e(" Whether or not users in this role have access to use the Admin App.")],-1),S=s("code",null,"users",-1),D=e(),I=s("strong",null,"one-to-many",-1),C=s("br",null,null,-1),L=e(" The users in this role. One-to-many to "),Q=e("users"),O=e("."),M=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[e(`{
1
+ import{r,p as h,q as d,w as l,B as s,t,P as e}from"./vendor.c46e17d6.js";const i={class:"markdown-body"},p={class:"two-up"},u={class:"left"},_=e("Roles define a specific set of access permissions, and are the primary organizational structure for Users within the platform. "),f=e("Learn more about Roles"),m=e("."),g=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-role-object"},"The Role Object")]),s("li",null,[s("a",{href:"#list-roles"},"List Roles")]),s("li",null,[s("a",{href:"#retrieve-a-role"},"Retrieve a Role")]),s("li",null,[s("a",{href:"#create-a-role"},"Create a Role")]),s("li",null,[s("a",{href:"#create-multiple-roles"},"Create Multiple Roles")]),s("li",null,[s("a",{href:"#update-a-role"},"Update a Role")]),s("li",null,[s("a",{href:"#update-multiple-roles"},"Update Multiple Roles")]),s("li",null,[s("a",{href:"#delete-a-role"},"Delete a Role")]),s("li",null,[s("a",{href:"#delete-multiple-roles"},"Delete Multiple Roles")])])])])],-1),j=s("hr",null,null,-1),y=s("h2",{id:"the-role-object"},[e("The Role Object "),s("a",{class:"header-anchor",href:"#the-role-object"},"#")],-1),b={class:"two-up"},q={class:"left"},x={class:"definitions"},R=s("p",null,[s("code",null,"id"),e(),s("strong",null,"uuid"),s("br"),e(" Primary key of the role.")],-1),v=s("p",null,[s("code",null,"name"),e(),s("strong",null,"string"),s("br"),e(" Name of the role.")],-1),E=s("p",null,[s("code",null,"icon"),e(),s("strong",null,"string"),s("br"),e(" Icon for the role. Displayed in the Admin App.")],-1),T=s("p",null,[s("code",null,"description"),e(),s("strong",null,"string"),s("br"),e(" Description for the role. Displayed in the Admin App.")],-1),w=s("p",null,[s("code",null,"ip_access"),e(),s("strong",null,"csv"),s("br"),e(" CSV of IP addresses that have access to this role. Allows you to configure an allowlist of IP addresses.")],-1),P=s("p",null,[s("code",null,"enforce_tfa"),e(),s("strong",null,"boolean"),s("br"),e(" Whether or not Two-Factor Authentication is required for users in this role.")],-1),A=s("p",null,[s("code",null,"admin_access"),e(),s("strong",null,"boolean"),s("br"),e(" If this role is considered an admin role. This means that users in this role have full permissions to everything.")],-1),k=s("p",null,[s("code",null,"app_access"),e(),s("strong",null,"boolean"),s("br"),e(" Whether or not users in this role have access to use the Admin App.")],-1),S=s("code",null,"users",-1),I=e(),D=s("strong",null,"one-to-many",-1),C=s("br",null,null,-1),L=e(" The users in this role. One-to-many to "),Q=e("users"),O=e("."),M=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[e(`{
2
2
  `),s("span",{class:"hljs-attr"},'"id"'),e(": "),s("span",{class:"hljs-string"},'"653925a9-970e-487a-bfc0-ab6c96affcdc"'),e(`,
3
3
  `),s("span",{class:"hljs-attr"},'"name"'),e(": "),s("span",{class:"hljs-string"},'"Admin"'),e(`,
4
4
  `),s("span",{class:"hljs-attr"},'"icon"'),e(": "),s("span",{class:"hljs-string"},'"supervised_user_circle"'),e(`,
@@ -39,7 +39,7 @@ SEARCH /roles
39
39
  }
40
40
  }
41
41
  }
42
- `)])])],-1),qs=s("hr",null,null,-1),xs=s("h2",{id:"create-a-role"},[e("Create a Role "),s("a",{class:"header-anchor",href:"#create-a-role"},"#")],-1),vs=s("p",null,"Create a new role.",-1),Rs={class:"two-up"},Es={class:"left"},Ts=s("h3",{id:"query-parameters-3"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-3"},"#")],-1),ws=e("Supports all "),Ps=e("global query parameters"),As=e("."),ks=s("h3",{id:"request-body"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body"},"#")],-1),Ss=s("p",null,[e("A partial "),s("a",{href:"#the-role-object"},"role object"),e(".")],-1),Ds=s("h3",{id:"returns-3"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-3"},"#")],-1),Is=s("p",null,[e("Returns the "),s("a",{href:"#the-role-object"},"role object"),e(" for the created role.")],-1),Cs=s("div",{class:"right"},[s("h3",{id:"rest-api-3"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-3"},"#")]),s("pre",null,[s("code",null,`POST /roles
42
+ `)])])],-1),qs=s("hr",null,null,-1),xs=s("h2",{id:"create-a-role"},[e("Create a Role "),s("a",{class:"header-anchor",href:"#create-a-role"},"#")],-1),Rs=s("p",null,"Create a new role.",-1),vs={class:"two-up"},Es={class:"left"},Ts=s("h3",{id:"query-parameters-3"},[e("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-3"},"#")],-1),ws=e("Supports all "),Ps=e("global query parameters"),As=e("."),ks=s("h3",{id:"request-body"},[e("Request Body "),s("a",{class:"header-anchor",href:"#request-body"},"#")],-1),Ss=s("p",null,[e("A partial "),s("a",{href:"#the-role-object"},"role object"),e(".")],-1),Is=s("h3",{id:"returns-3"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-3"},"#")],-1),Ds=s("p",null,[e("Returns the "),s("a",{href:"#the-role-object"},"role object"),e(" for the created role.")],-1),Cs=s("div",{class:"right"},[s("h3",{id:"rest-api-3"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-3"},"#")]),s("pre",null,[s("code",null,`POST /roles
43
43
  `)]),s("h5",{id:"example-4"},[e("Example "),s("a",{class:"header-anchor",href:"#example-4"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// POST /roles"),e(`
44
44
 
45
45
  {
@@ -145,7 +145,7 @@ SEARCH /roles
145
145
  }
146
146
  }
147
147
  }
148
- `)])])],-1),ve=s("hr",null,null,-1),Re=s("h2",{id:"delete-a-role"},[e("Delete a Role "),s("a",{class:"header-anchor",href:"#delete-a-role"},"#")],-1),Ee=s("p",null,"Delete an existing role.",-1),Te=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"returns-7"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-7"},"#")]),s("p",null,"Empty body.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-7"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-7"},"#")]),s("pre",null,[s("code",null,`DELETE /roles/:id
148
+ `)])])],-1),Re=s("hr",null,null,-1),ve=s("h2",{id:"delete-a-role"},[e("Delete a Role "),s("a",{class:"header-anchor",href:"#delete-a-role"},"#")],-1),Ee=s("p",null,"Delete an existing role.",-1),Te=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"returns-7"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-7"},"#")]),s("p",null,"Empty body.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-7"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-7"},"#")]),s("pre",null,[s("code",null,`DELETE /roles/:id
149
149
  `)]),s("h5",{id:"example-12"},[e("Example "),s("a",{class:"header-anchor",href:"#example-12"},"#")]),s("pre",null,[s("code",null,`DELETE /roles/c86c2761-65d3-43c3-897f-6f74ad6a5bd7
150
150
  `)]),s("h3",{id:"graphql-7"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-7"},"#")]),s("pre",null,[s("code",null,`POST /graphql/system
151
151
  `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),e(` {
@@ -168,4 +168,4 @@ SEARCH /roles
168
168
  ids
169
169
  }
170
170
  }
171
- `)])])])],-1),Se=s("hr",null,null,-1),Qe={setup(De,{expose:o}){const n={title:"Roles",modularExtension:!1,pageClass:"page-reference"};return o({frontmatter:n}),(Ie,Ce)=>{const a=r("router-link"),c=r("DocsWrapper");return h(),d(c,{frontmatter:n},{default:l(()=>[s("div",i,[s("div",p,[s("div",u,[s("blockquote",null,[s("p",null,[_,t(a,{to:"/docs/getting-started/glossary/#roles"},{default:l(()=>[f]),_:1}),m])])]),g]),j,y,s("div",b,[s("div",q,[s("div",x,[v,R,E,T,w,P,A,k,s("p",null,[S,D,I,C,L,t(a,{to:"/docs/reference/system/users/"},{default:l(()=>[Q]),_:1}),O])])]),M]),G,B,U,s("div",H,[s("div",N,[V,s("p",null,[W,t(a,{to:"/docs/reference/query"},{default:l(()=>[z]),_:1}),F]),J,s("p",null,[K,t(a,{to:"/docs/reference/query/#limit"},{default:l(()=>[X]),_:1}),Y,Z,$])]),s("div",ss,[es,ls,s("p",null,[t(a,{to:"/docs/reference/introduction/#search-http-method"},{default:l(()=>[as]),_:1})]),ts,ns,rs,os,cs])]),hs,ds,is,s("div",ps,[s("div",us,[_s,s("p",null,[fs,t(a,{to:"/docs/reference/query"},{default:l(()=>[ms]),_:1}),gs]),js,ys]),bs]),qs,xs,vs,s("div",Rs,[s("div",Es,[Ts,s("p",null,[ws,t(a,{to:"/docs/reference/query"},{default:l(()=>[Ps]),_:1}),As]),ks,Ss,Ds,Is]),Cs]),Ls,Qs,Os,s("div",Ms,[s("div",Gs,[Bs,s("p",null,[Us,t(a,{to:"/docs/reference/query"},{default:l(()=>[Hs]),_:1}),Ns]),Vs,Ws,zs,Fs]),Js]),Ks,Xs,Ys,s("div",Zs,[s("div",$s,[se,s("p",null,[ee,t(a,{to:"/docs/reference/query"},{default:l(()=>[le]),_:1}),ae]),te,ne,re,oe]),ce]),he,de,ie,s("div",pe,[s("div",ue,[_e,s("p",null,[fe,t(a,{to:"/docs/reference/query"},{default:l(()=>[me]),_:1}),ge]),je,ye,be,qe]),xe]),ve,Re,Ee,Te,we,Pe,Ae,ke,Se])]),_:1})}}};export{Qe as default};
171
+ `)])])])],-1),Se=s("hr",null,null,-1),Qe={setup(Ie,{expose:o}){const n={title:"Roles",modularExtension:!1,pageClass:"page-reference"};return o({frontmatter:n}),(De,Ce)=>{const a=r("router-link"),c=r("DocsWrapper");return h(),d(c,{frontmatter:n},{default:l(()=>[s("div",i,[s("div",p,[s("div",u,[s("blockquote",null,[s("p",null,[_,t(a,{to:"/docs/getting-started/glossary/#roles"},{default:l(()=>[f]),_:1}),m])])]),g]),j,y,s("div",b,[s("div",q,[s("div",x,[R,v,E,T,w,P,A,k,s("p",null,[S,I,D,C,L,t(a,{to:"/docs/reference/system/users/"},{default:l(()=>[Q]),_:1}),O])])]),M]),G,B,U,s("div",H,[s("div",N,[V,s("p",null,[W,t(a,{to:"/docs/reference/query"},{default:l(()=>[z]),_:1}),F]),J,s("p",null,[K,t(a,{to:"/docs/reference/query/#limit"},{default:l(()=>[X]),_:1}),Y,Z,$])]),s("div",ss,[es,ls,s("p",null,[t(a,{to:"/docs/reference/introduction/#search-http-method"},{default:l(()=>[as]),_:1})]),ts,ns,rs,os,cs])]),hs,ds,is,s("div",ps,[s("div",us,[_s,s("p",null,[fs,t(a,{to:"/docs/reference/query"},{default:l(()=>[ms]),_:1}),gs]),js,ys]),bs]),qs,xs,Rs,s("div",vs,[s("div",Es,[Ts,s("p",null,[ws,t(a,{to:"/docs/reference/query"},{default:l(()=>[Ps]),_:1}),As]),ks,Ss,Is,Ds]),Cs]),Ls,Qs,Os,s("div",Ms,[s("div",Gs,[Bs,s("p",null,[Us,t(a,{to:"/docs/reference/query"},{default:l(()=>[Hs]),_:1}),Ns]),Vs,Ws,zs,Fs]),Js]),Ks,Xs,Ys,s("div",Zs,[s("div",$s,[se,s("p",null,[ee,t(a,{to:"/docs/reference/query"},{default:l(()=>[le]),_:1}),ae]),te,ne,re,oe]),ce]),he,de,ie,s("div",pe,[s("div",ue,[_e,s("p",null,[fe,t(a,{to:"/docs/reference/query"},{default:l(()=>[me]),_:1}),ge]),je,ye,be,qe]),xe]),Re,ve,Ee,Te,we,Pe,Ae,ke,Se])]),_:1})}}};export{Qe as default};
@@ -1 +1 @@
1
- import{bF as d}from"./vendor.299bc11c.js";function m(i,f){return f.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(n){if(n!=="default"&&!(n in i)){var c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(i,n,c.get?c:{enumerable:!0,get:function(){return e[n]}})}})}),Object.freeze(i)}var p={exports:{}};(function(i,f){(function(e){e(d.exports)})(function(e){e.defineMode("rpm-changes",function(){var n=/^-+$/,c=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,a=/^[\w+.-]+@[\w.-]+/;return{token:function(o){return o.sol()&&(o.match(n)||o.match(c))?"tag":o.match(a)?"string":(o.next(),null)}}}),e.defineMIME("text/x-rpm-changes","rpm-changes"),e.defineMode("rpm-spec",function(){var n=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,c=/^[a-zA-Z0-9()]+:/,a=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,o=/^%(ifnarch|ifarch|if)/,u=/^%(else|endif)/,l=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;return{startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,t){var h=r.peek();if(h=="#")return r.skipToEnd(),"comment";if(r.sol()){if(r.match(c))return"header";if(r.match(a))return"atom"}if(r.match(/^\$\w+/)||r.match(/^\$\{\w+\}/))return"def";if(r.match(u))return"keyword";if(r.match(o))return t.controlFlow=!0,"keyword";if(t.controlFlow){if(r.match(l))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(t.controlFlow=!1)}if(r.match(n))return r.eol()&&(t.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(t.macroParameters=!0),"keyword";if(t.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return t.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(t.controlFlow=!1),"def"):(r.next(),null)}}}),e.defineMIME("text/x-rpm-spec","rpm-spec")})})();var s=p.exports,v=Object.freeze(m({__proto__:null,[Symbol.toStringTag]:"Module",default:s},[p.exports]));export{v as r};
1
+ import{bG as d}from"./vendor.c46e17d6.js";function m(i,f){return f.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(n){if(n!=="default"&&!(n in i)){var c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(i,n,c.get?c:{enumerable:!0,get:function(){return e[n]}})}})}),Object.freeze(i)}var p={exports:{}};(function(i,f){(function(e){e(d.exports)})(function(e){e.defineMode("rpm-changes",function(){var n=/^-+$/,c=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,a=/^[\w+.-]+@[\w.-]+/;return{token:function(o){return o.sol()&&(o.match(n)||o.match(c))?"tag":o.match(a)?"string":(o.next(),null)}}}),e.defineMIME("text/x-rpm-changes","rpm-changes"),e.defineMode("rpm-spec",function(){var n=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,c=/^[a-zA-Z0-9()]+:/,a=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,o=/^%(ifnarch|ifarch|if)/,u=/^%(else|endif)/,l=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;return{startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,t){var h=r.peek();if(h=="#")return r.skipToEnd(),"comment";if(r.sol()){if(r.match(c))return"header";if(r.match(a))return"atom"}if(r.match(/^\$\w+/)||r.match(/^\$\{\w+\}/))return"def";if(r.match(u))return"keyword";if(r.match(o))return t.controlFlow=!0,"keyword";if(t.controlFlow){if(r.match(l))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(t.controlFlow=!1)}if(r.match(n))return r.eol()&&(t.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(t.macroParameters=!0),"keyword";if(t.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return t.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(t.controlFlow=!1),"def"):(r.next(),null)}}}),e.defineMIME("text/x-rpm-spec","rpm-spec")})})();var s=p.exports,v=Object.freeze(m({__proto__:null,[Symbol.toStringTag]:"Module",default:s},[p.exports]));export{v as r};
@@ -1 +1 @@
1
- import{bF as oe}from"./vendor.299bc11c.js";import{a as ae}from"./python.ce0163fc.js";import{a as ie}from"./stex.8fe110b6.js";import{o as le}from"./overlay.ff3e2ac4.js";function fe(A,P){return P.forEach(function(l){l&&typeof l!="string"&&!Array.isArray(l)&&Object.keys(l).forEach(function(p){if(p!=="default"&&!(p in A)){var i=Object.getOwnPropertyDescriptor(l,p);Object.defineProperty(A,p,i.get?i:{enumerable:!0,get:function(){return l[p]}})}})}),Object.freeze(A)}var F={exports:{}};(function(A,P){(function(l){l(oe.exports,ae.exports,ie.exports,le.exports)})(function(l){l.defineMode("rst",function(p,i){var v=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,b=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,w=/^``[^`\s](?:[^`]*[^`\s])``/,u=/^(?:[\d]+(?:[\.,]\d+)*)/,E=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,_=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,T="[Hh][Tt][Tt][Pp][Ss]?://",q="(?:[\\d\\w.-]+)\\.(?:\\w{2,6})",x="(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*",y=new RegExp("^"+T+q+x),R={token:function(f){if(f.match(v)&&f.match(/\W+|$/,!1))return"strong";if(f.match(b)&&f.match(/\W+|$/,!1))return"em";if(f.match(w)&&f.match(/\W+|$/,!1))return"string-2";if(f.match(u))return"number";if(f.match(E))return"positive";if(f.match(_))return"negative";if(f.match(y))return"link";for(;f.next()!=null&&!(f.match(v,!1)||f.match(b,!1)||f.match(w,!1)||f.match(u,!1)||f.match(E,!1)||f.match(_,!1)||f.match(y,!1)););return null}},W=l.getMode(p,i.backdrop||"rst-base");return l.overlayMode(W,R,!0)},"python","stex"),l.defineMode("rst-base",function(p){function i(c){var e=Array.prototype.slice.call(arguments,1);return c.replace(/{(\d+)}/g,function(r,N){return typeof e[N]!="undefined"?e[N]:r})}var v=l.getMode(p,"python"),b=l.getMode(p,"stex"),w="\\s+",u="(?:\\s*|\\W|$)",E=new RegExp(i("^{0}",u)),_=`(?:[^\\W\\d_](?:[\\w!"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)`,T=new RegExp(i("^{0}",_)),q=`(?:[^\\W\\d_](?:[\\w\\s!"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)`,x=i("(?:{0}|`{1}`)",_,q),y="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",R="(?:[^\\`]+)",W=new RegExp(i("^{0}",R)),f=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),L=new RegExp(i("^\\.\\.{0}",w)),j=new RegExp(i("^_{0}:{1}|^__:{1}",x,u)),s=new RegExp(i("^{0}::{1}",x,u)),S=new RegExp(i("^\\|{0}\\|{1}{2}::{3}",y,w,x,u)),M=new RegExp(i("^\\[(?:\\d+|#{0}?|\\*)]{1}",x,u)),D=new RegExp(i("^\\[{0}\\]{1}",x,u)),O=new RegExp(i("^\\|{0}\\|",y)),H=new RegExp(i("^\\[(?:\\d+|#{0}?|\\*)]_",x)),B=new RegExp(i("^\\[{0}\\]_",x)),G=new RegExp(i("^{0}__?",x)),g=new RegExp(i("^`{0}`_",R)),h=new RegExp(i("^:{0}:`{1}`{2}",_,R,u)),m=new RegExp(i("^`{1}`:{0}:{2}",_,R,u)),$=new RegExp(i("^:{0}:{1}",_,u)),J=new RegExp(i("^{0}",x)),K=new RegExp(i("^::{0}",u)),X=new RegExp(i("^\\|{0}\\|",y)),Q=new RegExp(i("^{0}",w)),U=new RegExp(i("^{0}",x)),V=new RegExp(i("^::{0}",u)),Y=new RegExp("^_"),Z=new RegExp(i("^{0}|_",x)),C=new RegExp(i("^:{0}",u)),ee=new RegExp("^::\\s*$"),ce=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");function o(c,e){var r=null;if(c.sol()&&c.match(ce,!1))n(e,I,{mode:v,local:l.startState(v)});else if(c.sol()&&c.match(L))n(e,t),r="meta";else if(c.sol()&&c.match(f))n(e,o),r="header";else if(k(e)==h||c.match(h,!1))switch(d(e)){case 0:n(e,o,a(h,1)),c.match(/^:/),r="meta";break;case 1:n(e,o,a(h,2)),c.match(T),r="keyword",c.current().match(/^(?:math|latex)/)&&(e.tmp_stex=!0);break;case 2:n(e,o,a(h,3)),c.match(/^:`/),r="meta";break;case 3:if(e.tmp_stex&&(e.tmp_stex=void 0,e.tmp={mode:b,local:l.startState(b)}),e.tmp){if(c.peek()=="`"){n(e,o,a(h,4)),e.tmp=void 0;break}r=e.tmp.mode.token(c,e.tmp.local);break}n(e,o,a(h,4)),c.match(W),r="string";break;case 4:n(e,o,a(h,5)),c.match(/^`/),r="meta";break;case 5:n(e,o,a(h,6)),c.match(E);break;default:n(e,o)}else if(k(e)==m||c.match(m,!1))switch(d(e)){case 0:n(e,o,a(m,1)),c.match(/^`/),r="meta";break;case 1:n(e,o,a(m,2)),c.match(W),r="string";break;case 2:n(e,o,a(m,3)),c.match(/^`:/),r="meta";break;case 3:n(e,o,a(m,4)),c.match(T),r="keyword";break;case 4:n(e,o,a(m,5)),c.match(/^:/),r="meta";break;case 5:n(e,o,a(m,6)),c.match(E);break;default:n(e,o)}else if(k(e)==$||c.match($,!1))switch(d(e)){case 0:n(e,o,a($,1)),c.match(/^:/),r="meta";break;case 1:n(e,o,a($,2)),c.match(T),r="keyword";break;case 2:n(e,o,a($,3)),c.match(/^:/),r="meta";break;case 3:n(e,o,a($,4)),c.match(E);break;default:n(e,o)}else if(k(e)==O||c.match(O,!1))switch(d(e)){case 0:n(e,o,a(O,1)),c.match(X),r="variable-2";break;case 1:n(e,o,a(O,2)),c.match(/^_?_?/)&&(r="link");break;default:n(e,o)}else if(c.match(H))n(e,o),r="quote";else if(c.match(B))n(e,o),r="quote";else if(c.match(G))n(e,o),(!c.peek()||c.peek().match(/^\W$/))&&(r="link");else if(k(e)==g||c.match(g,!1))switch(d(e)){case 0:!c.peek()||c.peek().match(/^\W$/)?n(e,o,a(g,1)):c.match(g);break;case 1:n(e,o,a(g,2)),c.match(/^`/),r="link";break;case 2:n(e,o,a(g,3)),c.match(W);break;case 3:n(e,o,a(g,4)),c.match(/^`_/),r="link";break;default:n(e,o)}else c.match(ee)?n(e,re):c.next()&&n(e,o);return r}function t(c,e){var r=null;if(k(e)==S||c.match(S,!1))switch(d(e)){case 0:n(e,t,a(S,1)),c.match(X),r="variable-2";break;case 1:n(e,t,a(S,2)),c.match(Q);break;case 2:n(e,t,a(S,3)),c.match(U),r="keyword";break;case 3:n(e,t,a(S,4)),c.match(V),r="meta";break;default:n(e,o)}else if(k(e)==s||c.match(s,!1))switch(d(e)){case 0:n(e,t,a(s,1)),c.match(J),r="keyword",c.current().match(/^(?:math|latex)/)?e.tmp_stex=!0:c.current().match(/^python/)&&(e.tmp_py=!0);break;case 1:n(e,t,a(s,2)),c.match(K),r="meta",(c.match(/^latex\s*$/)||e.tmp_stex)&&(e.tmp_stex=void 0,n(e,I,{mode:b,local:l.startState(b)}));break;case 2:n(e,t,a(s,3)),(c.match(/^python\s*$/)||e.tmp_py)&&(e.tmp_py=void 0,n(e,I,{mode:v,local:l.startState(v)}));break;default:n(e,o)}else if(k(e)==j||c.match(j,!1))switch(d(e)){case 0:n(e,t,a(j,1)),c.match(Y),c.match(Z),r="link";break;case 1:n(e,t,a(j,2)),c.match(C),r="meta";break;default:n(e,o)}else c.match(M)||c.match(D)?(n(e,o),r="quote"):(c.eatSpace(),c.eol()?n(e,o):(c.skipToEnd(),n(e,ne),r="comment"));return r}function ne(c,e){return z(c,e,"comment")}function re(c,e){return z(c,e,"meta")}function z(c,e,r){return c.eol()||c.eatSpace()?(c.skipToEnd(),r):(n(e,o),null)}function I(c,e){return e.ctx.mode&&e.ctx.local?c.sol()?(c.eatSpace()||n(e,o),null):e.ctx.mode.token(c,e.ctx.local):(n(e,o),null)}function a(c,e,r,N){return{phase:c,stage:e,mode:r,local:N}}function n(c,e,r){c.tok=e,c.ctx=r||{}}function d(c){return c.ctx.stage||0}function k(c){return c.ctx.phase}return{startState:function(){return{tok:o,ctx:a(void 0,0)}},copyState:function(c){var e=c.ctx,r=c.tmp;return e.local&&(e={mode:e.mode,local:l.copyState(e.mode,e.local)}),r&&(r={mode:r.mode,local:l.copyState(r.mode,r.local)}),{tok:c.tok,ctx:e,tmp:r}},innerMode:function(c){return c.tmp?{state:c.tmp.local,mode:c.tmp.mode}:c.ctx.mode?{state:c.ctx.local,mode:c.ctx.mode}:null},token:function(c,e){return e.tok(c,e)}}},"python","stex"),l.defineMIME("text/x-rst","rst")})})();var ue=F.exports,_e=Object.freeze(fe({__proto__:null,[Symbol.toStringTag]:"Module",default:ue},[F.exports]));export{_e as r};
1
+ import{bG as oe}from"./vendor.c46e17d6.js";import{a as ae}from"./python.cd7c7d5e.js";import{a as ie}from"./stex.e1a54633.js";import{o as le}from"./overlay.17bcab08.js";function fe(A,P){return P.forEach(function(l){l&&typeof l!="string"&&!Array.isArray(l)&&Object.keys(l).forEach(function(p){if(p!=="default"&&!(p in A)){var i=Object.getOwnPropertyDescriptor(l,p);Object.defineProperty(A,p,i.get?i:{enumerable:!0,get:function(){return l[p]}})}})}),Object.freeze(A)}var L={exports:{}};(function(A,P){(function(l){l(oe.exports,ae.exports,ie.exports,le.exports)})(function(l){l.defineMode("rst",function(p,i){var v=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,b=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,w=/^``[^`\s](?:[^`]*[^`\s])``/,u=/^(?:[\d]+(?:[\.,]\d+)*)/,E=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,_=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,T="[Hh][Tt][Tt][Pp][Ss]?://",q="(?:[\\d\\w.-]+)\\.(?:\\w{2,6})",x="(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*",y=new RegExp("^"+T+q+x),R={token:function(f){if(f.match(v)&&f.match(/\W+|$/,!1))return"strong";if(f.match(b)&&f.match(/\W+|$/,!1))return"em";if(f.match(w)&&f.match(/\W+|$/,!1))return"string-2";if(f.match(u))return"number";if(f.match(E))return"positive";if(f.match(_))return"negative";if(f.match(y))return"link";for(;f.next()!=null&&!(f.match(v,!1)||f.match(b,!1)||f.match(w,!1)||f.match(u,!1)||f.match(E,!1)||f.match(_,!1)||f.match(y,!1)););return null}},W=l.getMode(p,i.backdrop||"rst-base");return l.overlayMode(W,R,!0)},"python","stex"),l.defineMode("rst-base",function(p){function i(c){var e=Array.prototype.slice.call(arguments,1);return c.replace(/{(\d+)}/g,function(r,N){return typeof e[N]!="undefined"?e[N]:r})}var v=l.getMode(p,"python"),b=l.getMode(p,"stex"),w="\\s+",u="(?:\\s*|\\W|$)",E=new RegExp(i("^{0}",u)),_=`(?:[^\\W\\d_](?:[\\w!"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)`,T=new RegExp(i("^{0}",_)),q=`(?:[^\\W\\d_](?:[\\w\\s!"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)`,x=i("(?:{0}|`{1}`)",_,q),y="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",R="(?:[^\\`]+)",W=new RegExp(i("^{0}",R)),f=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),M=new RegExp(i("^\\.\\.{0}",w)),j=new RegExp(i("^_{0}:{1}|^__:{1}",x,u)),s=new RegExp(i("^{0}::{1}",x,u)),S=new RegExp(i("^\\|{0}\\|{1}{2}::{3}",y,w,x,u)),D=new RegExp(i("^\\[(?:\\d+|#{0}?|\\*)]{1}",x,u)),F=new RegExp(i("^\\[{0}\\]{1}",x,u)),O=new RegExp(i("^\\|{0}\\|",y)),G=new RegExp(i("^\\[(?:\\d+|#{0}?|\\*)]_",x)),H=new RegExp(i("^\\[{0}\\]_",x)),B=new RegExp(i("^{0}__?",x)),g=new RegExp(i("^`{0}`_",R)),h=new RegExp(i("^:{0}:`{1}`{2}",_,R,u)),m=new RegExp(i("^`{1}`:{0}:{2}",_,R,u)),$=new RegExp(i("^:{0}:{1}",_,u)),J=new RegExp(i("^{0}",x)),K=new RegExp(i("^::{0}",u)),X=new RegExp(i("^\\|{0}\\|",y)),Q=new RegExp(i("^{0}",w)),U=new RegExp(i("^{0}",x)),V=new RegExp(i("^::{0}",u)),Y=new RegExp("^_"),Z=new RegExp(i("^{0}|_",x)),C=new RegExp(i("^:{0}",u)),ee=new RegExp("^::\\s*$"),ce=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");function o(c,e){var r=null;if(c.sol()&&c.match(ce,!1))n(e,I,{mode:v,local:l.startState(v)});else if(c.sol()&&c.match(M))n(e,t),r="meta";else if(c.sol()&&c.match(f))n(e,o),r="header";else if(k(e)==h||c.match(h,!1))switch(d(e)){case 0:n(e,o,a(h,1)),c.match(/^:/),r="meta";break;case 1:n(e,o,a(h,2)),c.match(T),r="keyword",c.current().match(/^(?:math|latex)/)&&(e.tmp_stex=!0);break;case 2:n(e,o,a(h,3)),c.match(/^:`/),r="meta";break;case 3:if(e.tmp_stex&&(e.tmp_stex=void 0,e.tmp={mode:b,local:l.startState(b)}),e.tmp){if(c.peek()=="`"){n(e,o,a(h,4)),e.tmp=void 0;break}r=e.tmp.mode.token(c,e.tmp.local);break}n(e,o,a(h,4)),c.match(W),r="string";break;case 4:n(e,o,a(h,5)),c.match(/^`/),r="meta";break;case 5:n(e,o,a(h,6)),c.match(E);break;default:n(e,o)}else if(k(e)==m||c.match(m,!1))switch(d(e)){case 0:n(e,o,a(m,1)),c.match(/^`/),r="meta";break;case 1:n(e,o,a(m,2)),c.match(W),r="string";break;case 2:n(e,o,a(m,3)),c.match(/^`:/),r="meta";break;case 3:n(e,o,a(m,4)),c.match(T),r="keyword";break;case 4:n(e,o,a(m,5)),c.match(/^:/),r="meta";break;case 5:n(e,o,a(m,6)),c.match(E);break;default:n(e,o)}else if(k(e)==$||c.match($,!1))switch(d(e)){case 0:n(e,o,a($,1)),c.match(/^:/),r="meta";break;case 1:n(e,o,a($,2)),c.match(T),r="keyword";break;case 2:n(e,o,a($,3)),c.match(/^:/),r="meta";break;case 3:n(e,o,a($,4)),c.match(E);break;default:n(e,o)}else if(k(e)==O||c.match(O,!1))switch(d(e)){case 0:n(e,o,a(O,1)),c.match(X),r="variable-2";break;case 1:n(e,o,a(O,2)),c.match(/^_?_?/)&&(r="link");break;default:n(e,o)}else if(c.match(G))n(e,o),r="quote";else if(c.match(H))n(e,o),r="quote";else if(c.match(B))n(e,o),(!c.peek()||c.peek().match(/^\W$/))&&(r="link");else if(k(e)==g||c.match(g,!1))switch(d(e)){case 0:!c.peek()||c.peek().match(/^\W$/)?n(e,o,a(g,1)):c.match(g);break;case 1:n(e,o,a(g,2)),c.match(/^`/),r="link";break;case 2:n(e,o,a(g,3)),c.match(W);break;case 3:n(e,o,a(g,4)),c.match(/^`_/),r="link";break;default:n(e,o)}else c.match(ee)?n(e,re):c.next()&&n(e,o);return r}function t(c,e){var r=null;if(k(e)==S||c.match(S,!1))switch(d(e)){case 0:n(e,t,a(S,1)),c.match(X),r="variable-2";break;case 1:n(e,t,a(S,2)),c.match(Q);break;case 2:n(e,t,a(S,3)),c.match(U),r="keyword";break;case 3:n(e,t,a(S,4)),c.match(V),r="meta";break;default:n(e,o)}else if(k(e)==s||c.match(s,!1))switch(d(e)){case 0:n(e,t,a(s,1)),c.match(J),r="keyword",c.current().match(/^(?:math|latex)/)?e.tmp_stex=!0:c.current().match(/^python/)&&(e.tmp_py=!0);break;case 1:n(e,t,a(s,2)),c.match(K),r="meta",(c.match(/^latex\s*$/)||e.tmp_stex)&&(e.tmp_stex=void 0,n(e,I,{mode:b,local:l.startState(b)}));break;case 2:n(e,t,a(s,3)),(c.match(/^python\s*$/)||e.tmp_py)&&(e.tmp_py=void 0,n(e,I,{mode:v,local:l.startState(v)}));break;default:n(e,o)}else if(k(e)==j||c.match(j,!1))switch(d(e)){case 0:n(e,t,a(j,1)),c.match(Y),c.match(Z),r="link";break;case 1:n(e,t,a(j,2)),c.match(C),r="meta";break;default:n(e,o)}else c.match(D)||c.match(F)?(n(e,o),r="quote"):(c.eatSpace(),c.eol()?n(e,o):(c.skipToEnd(),n(e,ne),r="comment"));return r}function ne(c,e){return z(c,e,"comment")}function re(c,e){return z(c,e,"meta")}function z(c,e,r){return c.eol()||c.eatSpace()?(c.skipToEnd(),r):(n(e,o),null)}function I(c,e){return e.ctx.mode&&e.ctx.local?c.sol()?(c.eatSpace()||n(e,o),null):e.ctx.mode.token(c,e.ctx.local):(n(e,o),null)}function a(c,e,r,N){return{phase:c,stage:e,mode:r,local:N}}function n(c,e,r){c.tok=e,c.ctx=r||{}}function d(c){return c.ctx.stage||0}function k(c){return c.ctx.phase}return{startState:function(){return{tok:o,ctx:a(void 0,0)}},copyState:function(c){var e=c.ctx,r=c.tmp;return e.local&&(e={mode:e.mode,local:l.copyState(e.mode,e.local)}),r&&(r={mode:r.mode,local:l.copyState(r.mode,r.local)}),{tok:c.tok,ctx:e,tmp:r}},innerMode:function(c){return c.tmp?{state:c.tmp.local,mode:c.tmp.mode}:c.ctx.mode?{state:c.ctx.local,mode:c.ctx.mode}:null},token:function(c,e){return e.tok(c,e)}}},"python","stex"),l.defineMIME("text/x-rst","rst")})})();var ue=L.exports,_e=Object.freeze(fe({__proto__:null,[Symbol.toStringTag]:"Module",default:ue},[L.exports]));export{_e as r};