directus 9.23.4 → 9.25.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 (861) hide show
  1. package/cli.js +1 -1
  2. package/package.json +5 -170
  3. package/LICENSE +0 -674
  4. package/README.md +0 -89
  5. package/dist/app.d.ts +0 -2
  6. package/dist/app.js +0 -250
  7. package/dist/app.test.d.ts +0 -1
  8. package/dist/auth/auth.d.ts +0 -46
  9. package/dist/auth/auth.js +0 -40
  10. package/dist/auth/drivers/index.d.ts +0 -5
  11. package/dist/auth/drivers/index.js +0 -21
  12. package/dist/auth/drivers/ldap.d.ts +0 -20
  13. package/dist/auth/drivers/ldap.js +0 -349
  14. package/dist/auth/drivers/local.d.ts +0 -9
  15. package/dist/auth/drivers/local.js +0 -91
  16. package/dist/auth/drivers/oauth2.d.ts +0 -19
  17. package/dist/auth/drivers/oauth2.js +0 -310
  18. package/dist/auth/drivers/openid.d.ts +0 -19
  19. package/dist/auth/drivers/openid.js +0 -332
  20. package/dist/auth/drivers/saml.d.ts +0 -14
  21. package/dist/auth/drivers/saml.js +0 -169
  22. package/dist/auth.d.ts +0 -3
  23. package/dist/auth.js +0 -70
  24. package/dist/cache.d.ts +0 -20
  25. package/dist/cache.js +0 -151
  26. package/dist/cli/commands/bootstrap/index.d.ts +0 -3
  27. package/dist/cli/commands/bootstrap/index.js +0 -98
  28. package/dist/cli/commands/count/index.d.ts +0 -1
  29. package/dist/cli/commands/count/index.js +0 -27
  30. package/dist/cli/commands/database/install.d.ts +0 -1
  31. package/dist/cli/commands/database/install.js +0 -22
  32. package/dist/cli/commands/database/migrate.d.ts +0 -1
  33. package/dist/cli/commands/database/migrate.js +0 -29
  34. package/dist/cli/commands/init/index.d.ts +0 -1
  35. package/dist/cli/commands/init/index.js +0 -108
  36. package/dist/cli/commands/init/questions.d.ts +0 -20
  37. package/dist/cli/commands/init/questions.js +0 -71
  38. package/dist/cli/commands/roles/create.d.ts +0 -4
  39. package/dist/cli/commands/roles/create.js +0 -29
  40. package/dist/cli/commands/schema/apply.d.ts +0 -4
  41. package/dist/cli/commands/schema/apply.js +0 -183
  42. package/dist/cli/commands/schema/snapshot.d.ts +0 -4
  43. package/dist/cli/commands/schema/snapshot.js +0 -63
  44. package/dist/cli/commands/security/key.d.ts +0 -1
  45. package/dist/cli/commands/security/key.js +0 -8
  46. package/dist/cli/commands/security/secret.d.ts +0 -1
  47. package/dist/cli/commands/security/secret.js +0 -8
  48. package/dist/cli/commands/users/create.d.ts +0 -5
  49. package/dist/cli/commands/users/create.js +0 -29
  50. package/dist/cli/commands/users/passwd.d.ts +0 -4
  51. package/dist/cli/commands/users/passwd.js +0 -41
  52. package/dist/cli/index.d.ts +0 -2
  53. package/dist/cli/index.js +0 -96
  54. package/dist/cli/index.test.d.ts +0 -1
  55. package/dist/cli/run.d.ts +0 -1
  56. package/dist/cli/run.js +0 -10
  57. package/dist/cli/utils/create-db-connection.d.ts +0 -13
  58. package/dist/cli/utils/create-db-connection.js +0 -61
  59. package/dist/cli/utils/create-env/env-stub.liquid +0 -325
  60. package/dist/cli/utils/create-env/index.d.ts +0 -3
  61. package/dist/cli/utils/create-env/index.js +0 -44
  62. package/dist/cli/utils/defaults.d.ts +0 -11
  63. package/dist/cli/utils/defaults.js +0 -14
  64. package/dist/cli/utils/drivers.d.ts +0 -3
  65. package/dist/cli/utils/drivers.js +0 -19
  66. package/dist/constants.d.ts +0 -13
  67. package/dist/constants.js +0 -59
  68. package/dist/controllers/activity.d.ts +0 -2
  69. package/dist/controllers/activity.js +0 -135
  70. package/dist/controllers/assets.d.ts +0 -2
  71. package/dist/controllers/assets.js +0 -186
  72. package/dist/controllers/auth.d.ts +0 -2
  73. package/dist/controllers/auth.js +0 -167
  74. package/dist/controllers/collections.d.ts +0 -2
  75. package/dist/controllers/collections.js +0 -105
  76. package/dist/controllers/dashboards.d.ts +0 -2
  77. package/dist/controllers/dashboards.js +0 -144
  78. package/dist/controllers/extensions.d.ts +0 -2
  79. package/dist/controllers/extensions.js +0 -40
  80. package/dist/controllers/fields.d.ts +0 -2
  81. package/dist/controllers/fields.js +0 -160
  82. package/dist/controllers/files.d.ts +0 -4
  83. package/dist/controllers/files.js +0 -274
  84. package/dist/controllers/files.test.d.ts +0 -1
  85. package/dist/controllers/flows.d.ts +0 -2
  86. package/dist/controllers/flows.js +0 -163
  87. package/dist/controllers/folders.d.ts +0 -2
  88. package/dist/controllers/folders.js +0 -153
  89. package/dist/controllers/graphql.d.ts +0 -2
  90. package/dist/controllers/graphql.js +0 -36
  91. package/dist/controllers/items.d.ts +0 -2
  92. package/dist/controllers/items.js +0 -183
  93. package/dist/controllers/not-found.d.ts +0 -14
  94. package/dist/controllers/not-found.js +0 -36
  95. package/dist/controllers/notifications.d.ts +0 -2
  96. package/dist/controllers/notifications.js +0 -153
  97. package/dist/controllers/operations.d.ts +0 -2
  98. package/dist/controllers/operations.js +0 -144
  99. package/dist/controllers/panels.d.ts +0 -2
  100. package/dist/controllers/panels.js +0 -144
  101. package/dist/controllers/permissions.d.ts +0 -2
  102. package/dist/controllers/permissions.js +0 -155
  103. package/dist/controllers/presets.d.ts +0 -2
  104. package/dist/controllers/presets.js +0 -153
  105. package/dist/controllers/relations.d.ts +0 -2
  106. package/dist/controllers/relations.js +0 -117
  107. package/dist/controllers/revisions.d.ts +0 -2
  108. package/dist/controllers/revisions.js +0 -39
  109. package/dist/controllers/roles.d.ts +0 -2
  110. package/dist/controllers/roles.js +0 -144
  111. package/dist/controllers/schema.d.ts +0 -2
  112. package/dist/controllers/schema.js +0 -98
  113. package/dist/controllers/server.d.ts +0 -2
  114. package/dist/controllers/server.js +0 -61
  115. package/dist/controllers/settings.d.ts +0 -2
  116. package/dist/controllers/settings.js +0 -41
  117. package/dist/controllers/shares.d.ts +0 -2
  118. package/dist/controllers/shares.js +0 -218
  119. package/dist/controllers/users.d.ts +0 -2
  120. package/dist/controllers/users.js +0 -358
  121. package/dist/controllers/utils.d.ts +0 -2
  122. package/dist/controllers/utils.js +0 -121
  123. package/dist/controllers/webhooks.d.ts +0 -2
  124. package/dist/controllers/webhooks.js +0 -141
  125. package/dist/database/helpers/date/dialects/default.d.ts +0 -3
  126. package/dist/database/helpers/date/dialects/default.js +0 -7
  127. package/dist/database/helpers/date/dialects/mssql.d.ts +0 -4
  128. package/dist/database/helpers/date/dialects/mssql.js +0 -12
  129. package/dist/database/helpers/date/dialects/mysql.d.ts +0 -5
  130. package/dist/database/helpers/date/dialects/mysql.js +0 -16
  131. package/dist/database/helpers/date/dialects/oracle.d.ts +0 -4
  132. package/dist/database/helpers/date/dialects/oracle.js +0 -15
  133. package/dist/database/helpers/date/dialects/sqlite.d.ts +0 -5
  134. package/dist/database/helpers/date/dialects/sqlite.js +0 -30
  135. package/dist/database/helpers/date/index.d.ts +0 -7
  136. package/dist/database/helpers/date/index.js +0 -17
  137. package/dist/database/helpers/date/types.d.ts +0 -7
  138. package/dist/database/helpers/date/types.js +0 -24
  139. package/dist/database/helpers/fn/dialects/mssql.d.ts +0 -13
  140. package/dist/database/helpers/fn/dialects/mssql.js +0 -48
  141. package/dist/database/helpers/fn/dialects/mysql.d.ts +0 -13
  142. package/dist/database/helpers/fn/dialects/mysql.js +0 -42
  143. package/dist/database/helpers/fn/dialects/oracle.d.ts +0 -13
  144. package/dist/database/helpers/fn/dialects/oracle.js +0 -48
  145. package/dist/database/helpers/fn/dialects/postgres.d.ts +0 -13
  146. package/dist/database/helpers/fn/dialects/postgres.js +0 -52
  147. package/dist/database/helpers/fn/dialects/sqlite.d.ts +0 -13
  148. package/dist/database/helpers/fn/dialects/sqlite.js +0 -72
  149. package/dist/database/helpers/fn/index.d.ts +0 -7
  150. package/dist/database/helpers/fn/index.js +0 -17
  151. package/dist/database/helpers/fn/types.d.ts +0 -22
  152. package/dist/database/helpers/fn/types.js +0 -30
  153. package/dist/database/helpers/geometry/dialects/mssql.d.ts +0 -14
  154. package/dist/database/helpers/geometry/dialects/mssql.js +0 -36
  155. package/dist/database/helpers/geometry/dialects/mysql.d.ts +0 -7
  156. package/dist/database/helpers/geometry/dialects/mysql.js +0 -16
  157. package/dist/database/helpers/geometry/dialects/oracle.d.ts +0 -15
  158. package/dist/database/helpers/geometry/dialects/oracle.js +0 -39
  159. package/dist/database/helpers/geometry/dialects/postgres.d.ts +0 -10
  160. package/dist/database/helpers/geometry/dialects/postgres.js +0 -22
  161. package/dist/database/helpers/geometry/dialects/redshift.d.ts +0 -7
  162. package/dist/database/helpers/geometry/dialects/redshift.js +0 -16
  163. package/dist/database/helpers/geometry/dialects/sqlite.d.ts +0 -6
  164. package/dist/database/helpers/geometry/dialects/sqlite.js +0 -14
  165. package/dist/database/helpers/geometry/index.d.ts +0 -7
  166. package/dist/database/helpers/geometry/index.js +0 -17
  167. package/dist/database/helpers/geometry/types.d.ts +0 -20
  168. package/dist/database/helpers/geometry/types.js +0 -53
  169. package/dist/database/helpers/index.d.ts +0 -13
  170. package/dist/database/helpers/index.js +0 -45
  171. package/dist/database/helpers/schema/dialects/cockroachdb.d.ts +0 -6
  172. package/dist/database/helpers/schema/dialects/cockroachdb.js +0 -21
  173. package/dist/database/helpers/schema/dialects/default.d.ts +0 -3
  174. package/dist/database/helpers/schema/dialects/default.js +0 -7
  175. package/dist/database/helpers/schema/dialects/mssql.d.ts +0 -7
  176. package/dist/database/helpers/schema/dialects/mssql.js +0 -24
  177. package/dist/database/helpers/schema/dialects/mysql.d.ts +0 -5
  178. package/dist/database/helpers/schema/dialects/mysql.js +0 -18
  179. package/dist/database/helpers/schema/dialects/oracle.d.ts +0 -9
  180. package/dist/database/helpers/schema/dialects/oracle.js +0 -36
  181. package/dist/database/helpers/schema/dialects/sqlite.d.ts +0 -5
  182. package/dist/database/helpers/schema/dialects/sqlite.js +0 -17
  183. package/dist/database/helpers/schema/index.d.ts +0 -7
  184. package/dist/database/helpers/schema/index.js +0 -17
  185. package/dist/database/helpers/schema/types.d.ts +0 -26
  186. package/dist/database/helpers/schema/types.js +0 -95
  187. package/dist/database/helpers/types.d.ts +0 -5
  188. package/dist/database/helpers/types.js +0 -10
  189. package/dist/database/index.d.ts +0 -20
  190. package/dist/database/index.js +0 -279
  191. package/dist/database/migrations/20201028A-remove-collection-foreign-keys.d.ts +0 -3
  192. package/dist/database/migrations/20201028A-remove-collection-foreign-keys.js +0 -47
  193. package/dist/database/migrations/20201029A-remove-system-relations.d.ts +0 -3
  194. package/dist/database/migrations/20201029A-remove-system-relations.js +0 -127
  195. package/dist/database/migrations/20201029B-remove-system-collections.d.ts +0 -3
  196. package/dist/database/migrations/20201029B-remove-system-collections.js +0 -98
  197. package/dist/database/migrations/20201029C-remove-system-fields.d.ts +0 -3
  198. package/dist/database/migrations/20201029C-remove-system-fields.js +0 -1648
  199. package/dist/database/migrations/20201105A-add-cascade-system-relations.d.ts +0 -8
  200. package/dist/database/migrations/20201105A-add-cascade-system-relations.js +0 -136
  201. package/dist/database/migrations/20201105B-change-webhook-url-type.d.ts +0 -3
  202. package/dist/database/migrations/20201105B-change-webhook-url-type.js +0 -17
  203. package/dist/database/migrations/20210225A-add-relations-sort-field.d.ts +0 -3
  204. package/dist/database/migrations/20210225A-add-relations-sort-field.js +0 -33
  205. package/dist/database/migrations/20210304A-remove-locked-fields.d.ts +0 -3
  206. package/dist/database/migrations/20210304A-remove-locked-fields.js +0 -15
  207. package/dist/database/migrations/20210312A-webhooks-collections-text.d.ts +0 -3
  208. package/dist/database/migrations/20210312A-webhooks-collections-text.js +0 -17
  209. package/dist/database/migrations/20210331A-add-refresh-interval.d.ts +0 -3
  210. package/dist/database/migrations/20210331A-add-refresh-interval.js +0 -15
  211. package/dist/database/migrations/20210415A-make-filesize-nullable.d.ts +0 -3
  212. package/dist/database/migrations/20210415A-make-filesize-nullable.js +0 -20
  213. package/dist/database/migrations/20210416A-add-collections-accountability.d.ts +0 -3
  214. package/dist/database/migrations/20210416A-add-collections-accountability.js +0 -16
  215. package/dist/database/migrations/20210422A-remove-files-interface.d.ts +0 -3
  216. package/dist/database/migrations/20210422A-remove-files-interface.js +0 -11
  217. package/dist/database/migrations/20210506A-rename-interfaces.d.ts +0 -3
  218. package/dist/database/migrations/20210506A-rename-interfaces.js +0 -79
  219. package/dist/database/migrations/20210510A-restructure-relations.d.ts +0 -3
  220. package/dist/database/migrations/20210510A-restructure-relations.js +0 -32
  221. package/dist/database/migrations/20210518A-add-foreign-key-constraints.d.ts +0 -3
  222. package/dist/database/migrations/20210518A-add-foreign-key-constraints.js +0 -114
  223. package/dist/database/migrations/20210519A-add-system-fk-triggers.d.ts +0 -3
  224. package/dist/database/migrations/20210519A-add-system-fk-triggers.js +0 -172
  225. package/dist/database/migrations/20210521A-add-collections-icon-color.d.ts +0 -3
  226. package/dist/database/migrations/20210521A-add-collections-icon-color.js +0 -15
  227. package/dist/database/migrations/20210525A-add-insights.d.ts +0 -3
  228. package/dist/database/migrations/20210525A-add-insights.js +0 -36
  229. package/dist/database/migrations/20210608A-add-deep-clone-config.d.ts +0 -3
  230. package/dist/database/migrations/20210608A-add-deep-clone-config.js +0 -15
  231. package/dist/database/migrations/20210626A-change-filesize-bigint.d.ts +0 -3
  232. package/dist/database/migrations/20210626A-change-filesize-bigint.js +0 -24
  233. package/dist/database/migrations/20210716A-add-conditions-to-fields.d.ts +0 -3
  234. package/dist/database/migrations/20210716A-add-conditions-to-fields.js +0 -15
  235. package/dist/database/migrations/20210721A-add-default-folder.d.ts +0 -3
  236. package/dist/database/migrations/20210721A-add-default-folder.js +0 -23
  237. package/dist/database/migrations/20210802A-replace-groups.d.ts +0 -3
  238. package/dist/database/migrations/20210802A-replace-groups.js +0 -53
  239. package/dist/database/migrations/20210803A-add-required-to-fields.d.ts +0 -3
  240. package/dist/database/migrations/20210803A-add-required-to-fields.js +0 -15
  241. package/dist/database/migrations/20210805A-update-groups.d.ts +0 -3
  242. package/dist/database/migrations/20210805A-update-groups.js +0 -34
  243. package/dist/database/migrations/20210805B-change-image-metadata-structure.d.ts +0 -3
  244. package/dist/database/migrations/20210805B-change-image-metadata-structure.js +0 -89
  245. package/dist/database/migrations/20210811A-add-geometry-config.d.ts +0 -3
  246. package/dist/database/migrations/20210811A-add-geometry-config.js +0 -17
  247. package/dist/database/migrations/20210831A-remove-limit-column.d.ts +0 -3
  248. package/dist/database/migrations/20210831A-remove-limit-column.js +0 -15
  249. package/dist/database/migrations/20210903A-add-auth-provider.d.ts +0 -3
  250. package/dist/database/migrations/20210903A-add-auth-provider.js +0 -40
  251. package/dist/database/migrations/20210907A-webhooks-collections-not-null.d.ts +0 -3
  252. package/dist/database/migrations/20210907A-webhooks-collections-not-null.js +0 -18
  253. package/dist/database/migrations/20210910A-move-module-setup.d.ts +0 -3
  254. package/dist/database/migrations/20210910A-move-module-setup.js +0 -21
  255. package/dist/database/migrations/20210920A-webhooks-url-not-null.d.ts +0 -3
  256. package/dist/database/migrations/20210920A-webhooks-url-not-null.js +0 -26
  257. package/dist/database/migrations/20210924A-add-collection-organization.d.ts +0 -3
  258. package/dist/database/migrations/20210924A-add-collection-organization.js +0 -19
  259. package/dist/database/migrations/20210927A-replace-fields-group.d.ts +0 -3
  260. package/dist/database/migrations/20210927A-replace-fields-group.js +0 -53
  261. package/dist/database/migrations/20210927B-replace-m2m-interface.d.ts +0 -3
  262. package/dist/database/migrations/20210927B-replace-m2m-interface.js +0 -21
  263. package/dist/database/migrations/20210929A-rename-login-action.d.ts +0 -3
  264. package/dist/database/migrations/20210929A-rename-login-action.js +0 -19
  265. package/dist/database/migrations/20211007A-update-presets.d.ts +0 -3
  266. package/dist/database/migrations/20211007A-update-presets.js +0 -103
  267. package/dist/database/migrations/20211009A-add-auth-data.d.ts +0 -3
  268. package/dist/database/migrations/20211009A-add-auth-data.js +0 -15
  269. package/dist/database/migrations/20211016A-add-webhook-headers.d.ts +0 -3
  270. package/dist/database/migrations/20211016A-add-webhook-headers.js +0 -15
  271. package/dist/database/migrations/20211103A-set-unique-to-user-token.d.ts +0 -3
  272. package/dist/database/migrations/20211103A-set-unique-to-user-token.js +0 -15
  273. package/dist/database/migrations/20211103B-update-special-geometry.d.ts +0 -3
  274. package/dist/database/migrations/20211103B-update-special-geometry.js +0 -25
  275. package/dist/database/migrations/20211104A-remove-collections-listing.d.ts +0 -3
  276. package/dist/database/migrations/20211104A-remove-collections-listing.js +0 -15
  277. package/dist/database/migrations/20211118A-add-notifications.d.ts +0 -3
  278. package/dist/database/migrations/20211118A-add-notifications.js +0 -28
  279. package/dist/database/migrations/20211211A-add-shares.d.ts +0 -3
  280. package/dist/database/migrations/20211211A-add-shares.js +0 -38
  281. package/dist/database/migrations/20211230A-add-project-descriptor.d.ts +0 -3
  282. package/dist/database/migrations/20211230A-add-project-descriptor.js +0 -15
  283. package/dist/database/migrations/20220303A-remove-default-project-color.d.ts +0 -3
  284. package/dist/database/migrations/20220303A-remove-default-project-color.js +0 -22
  285. package/dist/database/migrations/20220308A-add-bookmark-icon-and-color.d.ts +0 -3
  286. package/dist/database/migrations/20220308A-add-bookmark-icon-and-color.js +0 -17
  287. package/dist/database/migrations/20220314A-add-translation-strings.d.ts +0 -3
  288. package/dist/database/migrations/20220314A-add-translation-strings.js +0 -15
  289. package/dist/database/migrations/20220322A-rename-field-typecast-flags.d.ts +0 -3
  290. package/dist/database/migrations/20220322A-rename-field-typecast-flags.js +0 -77
  291. package/dist/database/migrations/20220323A-add-field-validation.d.ts +0 -3
  292. package/dist/database/migrations/20220323A-add-field-validation.js +0 -17
  293. package/dist/database/migrations/20220325A-fix-typecast-flags.d.ts +0 -3
  294. package/dist/database/migrations/20220325A-fix-typecast-flags.js +0 -49
  295. package/dist/database/migrations/20220325B-add-default-language.d.ts +0 -3
  296. package/dist/database/migrations/20220325B-add-default-language.js +0 -28
  297. package/dist/database/migrations/20220402A-remove-default-value-panel-icon.d.ts +0 -3
  298. package/dist/database/migrations/20220402A-remove-default-value-panel-icon.js +0 -22
  299. package/dist/database/migrations/20220429A-add-flows.d.ts +0 -3
  300. package/dist/database/migrations/20220429A-add-flows.js +0 -82
  301. package/dist/database/migrations/20220429B-add-color-to-insights-icon.d.ts +0 -3
  302. package/dist/database/migrations/20220429B-add-color-to-insights-icon.js +0 -15
  303. package/dist/database/migrations/20220429C-drop-non-null-from-ip-of-activity.d.ts +0 -3
  304. package/dist/database/migrations/20220429C-drop-non-null-from-ip-of-activity.js +0 -15
  305. package/dist/database/migrations/20220429D-drop-non-null-from-sender-of-notifications.d.ts +0 -3
  306. package/dist/database/migrations/20220429D-drop-non-null-from-sender-of-notifications.js +0 -15
  307. package/dist/database/migrations/20220614A-rename-hook-trigger-to-event.d.ts +0 -3
  308. package/dist/database/migrations/20220614A-rename-hook-trigger-to-event.js +0 -11
  309. package/dist/database/migrations/20220801A-update-notifications-timestamp-column.d.ts +0 -3
  310. package/dist/database/migrations/20220801A-update-notifications-timestamp-column.js +0 -19
  311. package/dist/database/migrations/20220802A-add-custom-aspect-ratios.d.ts +0 -3
  312. package/dist/database/migrations/20220802A-add-custom-aspect-ratios.js +0 -15
  313. package/dist/database/migrations/20220826A-add-origin-to-accountability.d.ts +0 -3
  314. package/dist/database/migrations/20220826A-add-origin-to-accountability.js +0 -21
  315. package/dist/database/migrations/run.d.ts +0 -2
  316. package/dist/database/migrations/run.js +0 -96
  317. package/dist/database/migrations/run.test.d.ts +0 -1
  318. package/dist/database/run-ast.d.ts +0 -26
  319. package/dist/database/run-ast.js +0 -474
  320. package/dist/database/seeds/01-collections.yaml +0 -42
  321. package/dist/database/seeds/02-roles.yaml +0 -36
  322. package/dist/database/seeds/03-users.yaml +0 -63
  323. package/dist/database/seeds/04-fields.yaml +0 -58
  324. package/dist/database/seeds/05-activity.yaml +0 -35
  325. package/dist/database/seeds/06-folders.yaml +0 -16
  326. package/dist/database/seeds/07-files.yaml +0 -74
  327. package/dist/database/seeds/08-permissions.yaml +0 -32
  328. package/dist/database/seeds/09-presets.yaml +0 -37
  329. package/dist/database/seeds/10-relations.yaml +0 -40
  330. package/dist/database/seeds/11-revisions.yaml +0 -33
  331. package/dist/database/seeds/12-sessions.yaml +0 -23
  332. package/dist/database/seeds/13-settings.yaml +0 -49
  333. package/dist/database/seeds/14-webhooks.yaml +0 -35
  334. package/dist/database/seeds/15-migrations.yaml +0 -14
  335. package/dist/database/seeds/run.d.ts +0 -2
  336. package/dist/database/seeds/run.js +0 -76
  337. package/dist/database/system-data/app-access-permissions/app-access-permissions.yaml +0 -102
  338. package/dist/database/system-data/app-access-permissions/index.d.ts +0 -3
  339. package/dist/database/system-data/app-access-permissions/index.js +0 -17
  340. package/dist/database/system-data/app-access-permissions/schema-access-permissions.yaml +0 -17
  341. package/dist/database/system-data/collections/collections.yaml +0 -74
  342. package/dist/database/system-data/collections/index.d.ts +0 -2
  343. package/dist/database/system-data/collections/index.js +0 -9
  344. package/dist/database/system-data/fields/_defaults.yaml +0 -16
  345. package/dist/database/system-data/fields/activity.yaml +0 -83
  346. package/dist/database/system-data/fields/collections.yaml +0 -214
  347. package/dist/database/system-data/fields/dashboards.yaml +0 -20
  348. package/dist/database/system-data/fields/fields.yaml +0 -104
  349. package/dist/database/system-data/fields/files.yaml +0 -144
  350. package/dist/database/system-data/fields/flows.yaml +0 -26
  351. package/dist/database/system-data/fields/folders.yaml +0 -14
  352. package/dist/database/system-data/fields/index.d.ts +0 -2
  353. package/dist/database/system-data/fields/index.js +0 -37
  354. package/dist/database/system-data/fields/migrations.yaml +0 -10
  355. package/dist/database/system-data/fields/notifications.yaml +0 -15
  356. package/dist/database/system-data/fields/operations.yaml +0 -23
  357. package/dist/database/system-data/fields/panels.yaml +0 -29
  358. package/dist/database/system-data/fields/permissions.yaml +0 -37
  359. package/dist/database/system-data/fields/presets.yaml +0 -56
  360. package/dist/database/system-data/fields/relations.yaml +0 -34
  361. package/dist/database/system-data/fields/revisions.yaml +0 -27
  362. package/dist/database/system-data/fields/roles.yaml +0 -61
  363. package/dist/database/system-data/fields/sessions.yaml +0 -16
  364. package/dist/database/system-data/fields/settings.yaml +0 -413
  365. package/dist/database/system-data/fields/shares.yaml +0 -83
  366. package/dist/database/system-data/fields/users.yaml +0 -182
  367. package/dist/database/system-data/fields/webhooks.yaml +0 -141
  368. package/dist/database/system-data/relations/index.d.ts +0 -2
  369. package/dist/database/system-data/relations/index.js +0 -9
  370. package/dist/database/system-data/relations/relations.yaml +0 -125
  371. package/dist/emitter.d.ts +0 -19
  372. package/dist/emitter.js +0 -86
  373. package/dist/env.d.ts +0 -15
  374. package/dist/env.js +0 -466
  375. package/dist/env.test.d.ts +0 -1
  376. package/dist/exceptions/database/contains-null-values.d.ts +0 -9
  377. package/dist/exceptions/database/contains-null-values.js +0 -10
  378. package/dist/exceptions/database/dialects/mssql.d.ts +0 -2
  379. package/dist/exceptions/database/dialects/mssql.js +0 -159
  380. package/dist/exceptions/database/dialects/mysql.d.ts +0 -2
  381. package/dist/exceptions/database/dialects/mysql.js +0 -148
  382. package/dist/exceptions/database/dialects/oracle.d.ts +0 -2
  383. package/dist/exceptions/database/dialects/oracle.js +0 -27
  384. package/dist/exceptions/database/dialects/postgres.d.ts +0 -2
  385. package/dist/exceptions/database/dialects/postgres.js +0 -106
  386. package/dist/exceptions/database/dialects/sqlite.d.ts +0 -2
  387. package/dist/exceptions/database/dialects/sqlite.js +0 -55
  388. package/dist/exceptions/database/dialects/types.d.ts +0 -41
  389. package/dist/exceptions/database/dialects/types.js +0 -2
  390. package/dist/exceptions/database/invalid-foreign-key.d.ts +0 -10
  391. package/dist/exceptions/database/invalid-foreign-key.js +0 -15
  392. package/dist/exceptions/database/not-null-violation.d.ts +0 -9
  393. package/dist/exceptions/database/not-null-violation.js +0 -10
  394. package/dist/exceptions/database/record-not-unique.d.ts +0 -10
  395. package/dist/exceptions/database/record-not-unique.js +0 -15
  396. package/dist/exceptions/database/translate.d.ts +0 -11
  397. package/dist/exceptions/database/translate.js +0 -74
  398. package/dist/exceptions/database/value-out-of-range.d.ts +0 -10
  399. package/dist/exceptions/database/value-out-of-range.js +0 -15
  400. package/dist/exceptions/database/value-too-long.d.ts +0 -9
  401. package/dist/exceptions/database/value-too-long.js +0 -15
  402. package/dist/exceptions/forbidden.d.ts +0 -4
  403. package/dist/exceptions/forbidden.js +0 -16
  404. package/dist/exceptions/graphql-validation.d.ts +0 -4
  405. package/dist/exceptions/graphql-validation.js +0 -10
  406. package/dist/exceptions/hit-rate-limit.d.ts +0 -9
  407. package/dist/exceptions/hit-rate-limit.js +0 -10
  408. package/dist/exceptions/illegal-asset-transformation.d.ts +0 -4
  409. package/dist/exceptions/illegal-asset-transformation.js +0 -10
  410. package/dist/exceptions/index.d.ts +0 -21
  411. package/dist/exceptions/index.js +0 -37
  412. package/dist/exceptions/invalid-config.d.ts +0 -4
  413. package/dist/exceptions/invalid-config.js +0 -10
  414. package/dist/exceptions/invalid-credentials.d.ts +0 -4
  415. package/dist/exceptions/invalid-credentials.js +0 -10
  416. package/dist/exceptions/invalid-ip.d.ts +0 -4
  417. package/dist/exceptions/invalid-ip.js +0 -10
  418. package/dist/exceptions/invalid-otp.d.ts +0 -4
  419. package/dist/exceptions/invalid-otp.js +0 -10
  420. package/dist/exceptions/invalid-payload.d.ts +0 -4
  421. package/dist/exceptions/invalid-payload.js +0 -10
  422. package/dist/exceptions/invalid-provider.d.ts +0 -4
  423. package/dist/exceptions/invalid-provider.js +0 -10
  424. package/dist/exceptions/invalid-query.d.ts +0 -4
  425. package/dist/exceptions/invalid-query.js +0 -10
  426. package/dist/exceptions/invalid-token.d.ts +0 -4
  427. package/dist/exceptions/invalid-token.js +0 -10
  428. package/dist/exceptions/method-not-allowed.d.ts +0 -8
  429. package/dist/exceptions/method-not-allowed.js +0 -10
  430. package/dist/exceptions/range-not-satisfiable.d.ts +0 -5
  431. package/dist/exceptions/range-not-satisfiable.js +0 -13
  432. package/dist/exceptions/route-not-found.d.ts +0 -4
  433. package/dist/exceptions/route-not-found.js +0 -10
  434. package/dist/exceptions/service-unavailable.d.ts +0 -9
  435. package/dist/exceptions/service-unavailable.js +0 -10
  436. package/dist/exceptions/token-expired.d.ts +0 -4
  437. package/dist/exceptions/token-expired.js +0 -10
  438. package/dist/exceptions/unexpected-response.d.ts +0 -4
  439. package/dist/exceptions/unexpected-response.js +0 -10
  440. package/dist/exceptions/unprocessable-entity.d.ts +0 -4
  441. package/dist/exceptions/unprocessable-entity.js +0 -10
  442. package/dist/exceptions/unsupported-media-type.d.ts +0 -4
  443. package/dist/exceptions/unsupported-media-type.js +0 -10
  444. package/dist/exceptions/user-suspended.d.ts +0 -4
  445. package/dist/exceptions/user-suspended.js +0 -10
  446. package/dist/extensions.d.ts +0 -49
  447. package/dist/extensions.js +0 -501
  448. package/dist/flows.d.ts +0 -22
  449. package/dist/flows.js +0 -377
  450. package/dist/index.d.ts +0 -3
  451. package/dist/index.js +0 -24
  452. package/dist/logger.d.ts +0 -7
  453. package/dist/logger.js +0 -134
  454. package/dist/logger.test.d.ts +0 -1
  455. package/dist/mailer.d.ts +0 -2
  456. package/dist/mailer.js +0 -71
  457. package/dist/messenger.d.ts +0 -24
  458. package/dist/messenger.js +0 -66
  459. package/dist/middleware/authenticate.d.ts +0 -8
  460. package/dist/middleware/authenticate.js +0 -82
  461. package/dist/middleware/authenticate.test.d.ts +0 -1
  462. package/dist/middleware/cache.d.ts +0 -3
  463. package/dist/middleware/cache.js +0 -61
  464. package/dist/middleware/check-ip.d.ts +0 -2
  465. package/dist/middleware/check-ip.js +0 -24
  466. package/dist/middleware/collection-exists.d.ts +0 -6
  467. package/dist/middleware/collection-exists.js +0 -30
  468. package/dist/middleware/cors.d.ts +0 -3
  469. package/dist/middleware/cors.js +0 -19
  470. package/dist/middleware/error-handler.d.ts +0 -3
  471. package/dist/middleware/error-handler.js +0 -95
  472. package/dist/middleware/extract-token.d.ts +0 -11
  473. package/dist/middleware/extract-token.js +0 -32
  474. package/dist/middleware/extract-token.test.d.ts +0 -1
  475. package/dist/middleware/get-permissions.d.ts +0 -3
  476. package/dist/middleware/get-permissions.js +0 -15
  477. package/dist/middleware/graphql.d.ts +0 -2
  478. package/dist/middleware/graphql.js +0 -69
  479. package/dist/middleware/rate-limiter-global.d.ts +0 -5
  480. package/dist/middleware/rate-limiter-global.js +0 -48
  481. package/dist/middleware/rate-limiter-ip.d.ts +0 -5
  482. package/dist/middleware/rate-limiter-ip.js +0 -34
  483. package/dist/middleware/respond.d.ts +0 -2
  484. package/dist/middleware/respond.js +0 -88
  485. package/dist/middleware/sanitize-query.d.ts +0 -7
  486. package/dist/middleware/sanitize-query.js +0 -21
  487. package/dist/middleware/schema.d.ts +0 -3
  488. package/dist/middleware/schema.js +0 -12
  489. package/dist/middleware/use-collection.d.ts +0 -7
  490. package/dist/middleware/use-collection.js +0 -11
  491. package/dist/middleware/validate-batch.d.ts +0 -3
  492. package/dist/middleware/validate-batch.js +0 -49
  493. package/dist/middleware/validate-batch.test.d.ts +0 -1
  494. package/dist/operations/condition/index.d.ts +0 -6
  495. package/dist/operations/condition/index.js +0 -15
  496. package/dist/operations/condition/index.test.d.ts +0 -1
  497. package/dist/operations/exec/index.d.ts +0 -5
  498. package/dist/operations/exec/index.js +0 -40
  499. package/dist/operations/exec/index.test.d.ts +0 -1
  500. package/dist/operations/item-create/index.d.ts +0 -8
  501. package/dist/operations/item-create/index.js +0 -38
  502. package/dist/operations/item-create/index.test.d.ts +0 -1
  503. package/dist/operations/item-delete/index.d.ts +0 -10
  504. package/dist/operations/item-delete/index.js +0 -46
  505. package/dist/operations/item-delete/index.test.d.ts +0 -1
  506. package/dist/operations/item-read/index.d.ts +0 -10
  507. package/dist/operations/item-read/index.js +0 -46
  508. package/dist/operations/item-read/index.test.d.ts +0 -1
  509. package/dist/operations/item-update/index.d.ts +0 -11
  510. package/dist/operations/item-update/index.js +0 -50
  511. package/dist/operations/item-update/index.test.d.ts +0 -1
  512. package/dist/operations/log/index.d.ts +0 -5
  513. package/dist/operations/log/index.js +0 -13
  514. package/dist/operations/log/index.test.d.ts +0 -1
  515. package/dist/operations/mail/index.d.ts +0 -8
  516. package/dist/operations/mail/index.js +0 -19
  517. package/dist/operations/notification/index.d.ts +0 -8
  518. package/dist/operations/notification/index.js +0 -40
  519. package/dist/operations/notification/index.test.d.ts +0 -1
  520. package/dist/operations/request/index.d.ts +0 -11
  521. package/dist/operations/request/index.js +0 -38
  522. package/dist/operations/request/index.test.d.ts +0 -1
  523. package/dist/operations/sleep/index.d.ts +0 -5
  524. package/dist/operations/sleep/index.js +0 -9
  525. package/dist/operations/sleep/index.test.d.ts +0 -1
  526. package/dist/operations/transform/index.d.ts +0 -5
  527. package/dist/operations/transform/index.js +0 -9
  528. package/dist/operations/transform/index.test.d.ts +0 -1
  529. package/dist/operations/trigger/index.d.ts +0 -8
  530. package/dist/operations/trigger/index.js +0 -39
  531. package/dist/operations/trigger/index.test.d.ts +0 -1
  532. package/dist/rate-limiter.d.ts +0 -4
  533. package/dist/rate-limiter.js +0 -38
  534. package/dist/request/index.d.ts +0 -5
  535. package/dist/request/index.js +0 -18
  536. package/dist/request/index.test.d.ts +0 -1
  537. package/dist/request/request-interceptor.d.ts +0 -2
  538. package/dist/request/request-interceptor.js +0 -33
  539. package/dist/request/request-interceptor.test.d.ts +0 -1
  540. package/dist/request/response-interceptor.d.ts +0 -2
  541. package/dist/request/response-interceptor.js +0 -9
  542. package/dist/request/response-interceptor.test.d.ts +0 -1
  543. package/dist/request/validate-ip.d.ts +0 -1
  544. package/dist/request/validate-ip.js +0 -27
  545. package/dist/request/validate-ip.test.d.ts +0 -1
  546. package/dist/server.d.ts +0 -4
  547. package/dist/server.js +0 -162
  548. package/dist/services/activity.d.ts +0 -10
  549. package/dist/services/activity.js +0 -101
  550. package/dist/services/assets.d.ts +0 -18
  551. package/dist/services/assets.js +0 -179
  552. package/dist/services/authentication.d.ts +0 -21
  553. package/dist/services/authentication.js +0 -332
  554. package/dist/services/authorization.d.ts +0 -17
  555. package/dist/services/authorization.js +0 -451
  556. package/dist/services/collections.d.ts +0 -64
  557. package/dist/services/collections.js +0 -595
  558. package/dist/services/dashboards.d.ts +0 -5
  559. package/dist/services/dashboards.js +0 -10
  560. package/dist/services/fields.d.ts +0 -32
  561. package/dist/services/fields.js +0 -625
  562. package/dist/services/fields.test.d.ts +0 -1
  563. package/dist/services/files.d.ts +0 -34
  564. package/dist/services/files.js +0 -280
  565. package/dist/services/files.test.d.ts +0 -1
  566. package/dist/services/flows.d.ts +0 -11
  567. package/dist/services/flows.js +0 -43
  568. package/dist/services/flows.test.d.ts +0 -1
  569. package/dist/services/folders.d.ts +0 -5
  570. package/dist/services/folders.js +0 -10
  571. package/dist/services/graphql/index.d.ts +0 -86
  572. package/dist/services/graphql/index.js +0 -2467
  573. package/dist/services/graphql/types/bigint.d.ts +0 -2
  574. package/dist/services/graphql/types/bigint.js +0 -39
  575. package/dist/services/graphql/types/date.d.ts +0 -2
  576. package/dist/services/graphql/types/date.js +0 -9
  577. package/dist/services/graphql/types/geojson.d.ts +0 -2
  578. package/dist/services/graphql/types/geojson.js +0 -10
  579. package/dist/services/graphql/types/hash.d.ts +0 -2
  580. package/dist/services/graphql/types/hash.js +0 -9
  581. package/dist/services/graphql/types/string-or-float.d.ts +0 -5
  582. package/dist/services/graphql/types/string-or-float.js +0 -34
  583. package/dist/services/graphql/types/void.d.ts +0 -2
  584. package/dist/services/graphql/types/void.js +0 -17
  585. package/dist/services/graphql/utils/add-path-to-validation-error.d.ts +0 -2
  586. package/dist/services/graphql/utils/add-path-to-validation-error.js +0 -19
  587. package/dist/services/graphql/utils/process-error.d.ts +0 -4
  588. package/dist/services/graphql/utils/process-error.js +0 -46
  589. package/dist/services/graphql/utils/process-error.test.d.ts +0 -1
  590. package/dist/services/import-export.d.ts +0 -37
  591. package/dist/services/import-export.js +0 -300
  592. package/dist/services/import-export.test.d.ts +0 -1
  593. package/dist/services/index.d.ts +0 -33
  594. package/dist/services/index.js +0 -50
  595. package/dist/services/items.d.ts +0 -83
  596. package/dist/services/items.js +0 -719
  597. package/dist/services/items.test.d.ts +0 -1
  598. package/dist/services/mail/index.d.ts +0 -20
  599. package/dist/services/mail/index.js +0 -96
  600. package/dist/services/mail/templates/base.liquid +0 -162
  601. package/dist/services/mail/templates/password-reset.liquid +0 -24
  602. package/dist/services/mail/templates/user-invitation.liquid +0 -19
  603. package/dist/services/meta.d.ts +0 -12
  604. package/dist/services/meta.js +0 -78
  605. package/dist/services/notifications.d.ts +0 -13
  606. package/dist/services/notifications.js +0 -59
  607. package/dist/services/notifications.test.d.ts +0 -1
  608. package/dist/services/operations.d.ts +0 -11
  609. package/dist/services/operations.js +0 -41
  610. package/dist/services/operations.test.d.ts +0 -1
  611. package/dist/services/panels.d.ts +0 -5
  612. package/dist/services/panels.js +0 -10
  613. package/dist/services/payload.d.ts +0 -73
  614. package/dist/services/payload.js +0 -644
  615. package/dist/services/payload.test.d.ts +0 -1
  616. package/dist/services/permissions.d.ts +0 -17
  617. package/dist/services/permissions.js +0 -84
  618. package/dist/services/permissions.test.d.ts +0 -1
  619. package/dist/services/presets.d.ts +0 -5
  620. package/dist/services/presets.js +0 -10
  621. package/dist/services/relations.d.ts +0 -60
  622. package/dist/services/relations.js +0 -477
  623. package/dist/services/revisions.d.ts +0 -6
  624. package/dist/services/revisions.js +0 -24
  625. package/dist/services/roles.d.ts +0 -14
  626. package/dist/services/roles.js +0 -148
  627. package/dist/services/roles.test.d.ts +0 -1
  628. package/dist/services/schema.d.ts +0 -15
  629. package/dist/services/schema.js +0 -56
  630. package/dist/services/schema.test.d.ts +0 -1
  631. package/dist/services/server.d.ts +0 -13
  632. package/dist/services/server.js +0 -366
  633. package/dist/services/settings.d.ts +0 -5
  634. package/dist/services/settings.js +0 -10
  635. package/dist/services/shares.d.ts +0 -17
  636. package/dist/services/shares.js +0 -136
  637. package/dist/services/specifications.d.ts +0 -53
  638. package/dist/services/specifications.js +0 -500
  639. package/dist/services/specifications.test.d.ts +0 -1
  640. package/dist/services/tfa.d.ts +0 -12
  641. package/dist/services/tfa.js +0 -57
  642. package/dist/services/users.d.ts +0 -55
  643. package/dist/services/users.js +0 -380
  644. package/dist/services/users.test.d.ts +0 -1
  645. package/dist/services/utils.d.ts +0 -13
  646. package/dist/services/utils.js +0 -115
  647. package/dist/services/webhooks.d.ts +0 -11
  648. package/dist/services/webhooks.js +0 -33
  649. package/dist/services/webhooks.test.d.ts +0 -1
  650. package/dist/start.d.ts +0 -1
  651. package/dist/start.js +0 -4
  652. package/dist/storage/get-storage-driver.d.ts +0 -3
  653. package/dist/storage/get-storage-driver.js +0 -20
  654. package/dist/storage/get-storage-driver.test.d.ts +0 -1
  655. package/dist/storage/index.d.ts +0 -5
  656. package/dist/storage/index.js +0 -20
  657. package/dist/storage/index.test.d.ts +0 -1
  658. package/dist/storage/register-drivers.d.ts +0 -2
  659. package/dist/storage/register-drivers.js +0 -22
  660. package/dist/storage/register-drivers.test.d.ts +0 -1
  661. package/dist/storage/register-locations.d.ts +0 -2
  662. package/dist/storage/register-locations.js +0 -17
  663. package/dist/storage/register-locations.test.d.ts +0 -1
  664. package/dist/types/assets.d.ts +0 -20
  665. package/dist/types/assets.js +0 -54
  666. package/dist/types/ast.d.ts +0 -56
  667. package/dist/types/ast.js +0 -2
  668. package/dist/types/auth.d.ts +0 -54
  669. package/dist/types/auth.js +0 -2
  670. package/dist/types/collection.d.ts +0 -19
  671. package/dist/types/collection.js +0 -2
  672. package/dist/types/database.d.ts +0 -3
  673. package/dist/types/database.js +0 -4
  674. package/dist/types/events.d.ts +0 -18
  675. package/dist/types/events.js +0 -2
  676. package/dist/types/files.d.ts +0 -29
  677. package/dist/types/files.js +0 -2
  678. package/dist/types/graphql.d.ts +0 -14
  679. package/dist/types/graphql.js +0 -2
  680. package/dist/types/index.d.ts +0 -15
  681. package/dist/types/index.js +0 -31
  682. package/dist/types/items.d.ts +0 -49
  683. package/dist/types/items.js +0 -6
  684. package/dist/types/meta.d.ts +0 -4
  685. package/dist/types/meta.js +0 -8
  686. package/dist/types/migration.d.ts +0 -5
  687. package/dist/types/migration.js +0 -2
  688. package/dist/types/revision.d.ts +0 -7
  689. package/dist/types/revision.js +0 -2
  690. package/dist/types/services.d.ts +0 -21
  691. package/dist/types/services.js +0 -2
  692. package/dist/types/snapshot.d.ts +0 -55
  693. package/dist/types/snapshot.js +0 -16
  694. package/dist/types/webhooks.d.ts +0 -15
  695. package/dist/types/webhooks.js +0 -2
  696. package/dist/utils/apply-diff.d.ts +0 -9
  697. package/dist/utils/apply-diff.js +0 -256
  698. package/dist/utils/apply-diff.test.d.ts +0 -1
  699. package/dist/utils/apply-function-to-column-name.d.ts +0 -12
  700. package/dist/utils/apply-function-to-column-name.js +0 -26
  701. package/dist/utils/apply-function-to-column-name.test.d.ts +0 -1
  702. package/dist/utils/apply-query.d.ts +0 -34
  703. package/dist/utils/apply-query.js +0 -568
  704. package/dist/utils/apply-snapshot.d.ts +0 -9
  705. package/dist/utils/apply-snapshot.js +0 -22
  706. package/dist/utils/apply-snapshot.test.d.ts +0 -1
  707. package/dist/utils/async-handler.d.ts +0 -3
  708. package/dist/utils/async-handler.js +0 -4
  709. package/dist/utils/async-handler.test.d.ts +0 -1
  710. package/dist/utils/calculate-field-depth.d.ts +0 -33
  711. package/dist/utils/calculate-field-depth.js +0 -75
  712. package/dist/utils/calculate-field-depth.test.d.ts +0 -1
  713. package/dist/utils/compress.d.ts +0 -3
  714. package/dist/utils/compress.js +0 -17
  715. package/dist/utils/construct-flow-tree.d.ts +0 -2
  716. package/dist/utils/construct-flow-tree.js +0 -31
  717. package/dist/utils/dynamic-import.d.ts +0 -1
  718. package/dist/utils/dynamic-import.js +0 -7
  719. package/dist/utils/filter-items.d.ts +0 -2
  720. package/dist/utils/filter-items.js +0 -37
  721. package/dist/utils/filter-items.test.d.ts +0 -1
  722. package/dist/utils/generate-hash.d.ts +0 -1
  723. package/dist/utils/generate-hash.js +0 -16
  724. package/dist/utils/get-accountability-for-role.d.ts +0 -7
  725. package/dist/utils/get-accountability-for-role.js +0 -45
  726. package/dist/utils/get-ast-from-query.d.ts +0 -13
  727. package/dist/utils/get-ast-from-query.js +0 -300
  728. package/dist/utils/get-auth-providers.d.ts +0 -8
  729. package/dist/utils/get-auth-providers.js +0 -19
  730. package/dist/utils/get-auth-providers.test.d.ts +0 -1
  731. package/dist/utils/get-cache-headers.d.ts +0 -10
  732. package/dist/utils/get-cache-headers.js +0 -43
  733. package/dist/utils/get-cache-headers.test.d.ts +0 -1
  734. package/dist/utils/get-cache-key.d.ts +0 -2
  735. package/dist/utils/get-cache-key.js +0 -21
  736. package/dist/utils/get-cache-key.test.d.ts +0 -1
  737. package/dist/utils/get-collection-from-alias.d.ts +0 -6
  738. package/dist/utils/get-collection-from-alias.js +0 -16
  739. package/dist/utils/get-collection-from-alias.test.d.ts +0 -1
  740. package/dist/utils/get-column-path.d.ts +0 -26
  741. package/dist/utils/get-column-path.js +0 -64
  742. package/dist/utils/get-column-path.test.d.ts +0 -1
  743. package/dist/utils/get-column.d.ts +0 -20
  744. package/dist/utils/get-column.js +0 -52
  745. package/dist/utils/get-config-from-env.d.ts +0 -1
  746. package/dist/utils/get-config-from-env.js +0 -48
  747. package/dist/utils/get-config-from-env.test.d.ts +0 -1
  748. package/dist/utils/get-date-formatted.d.ts +0 -1
  749. package/dist/utils/get-date-formatted.js +0 -14
  750. package/dist/utils/get-date-formatted.test.d.ts +0 -1
  751. package/dist/utils/get-default-index-name.d.ts +0 -10
  752. package/dist/utils/get-default-index-name.js +0 -25
  753. package/dist/utils/get-default-value.d.ts +0 -3
  754. package/dist/utils/get-default-value.js +0 -62
  755. package/dist/utils/get-graphql-query-and-variables.d.ts +0 -2
  756. package/dist/utils/get-graphql-query-and-variables.js +0 -9
  757. package/dist/utils/get-graphql-query-and-variables.test.d.ts +0 -1
  758. package/dist/utils/get-graphql-type.d.ts +0 -3
  759. package/dist/utils/get-graphql-type.js +0 -40
  760. package/dist/utils/get-ip-from-req.d.ts +0 -2
  761. package/dist/utils/get-ip-from-req.js +0 -24
  762. package/dist/utils/get-local-type.d.ts +0 -9
  763. package/dist/utils/get-local-type.js +0 -131
  764. package/dist/utils/get-milliseconds.d.ts +0 -4
  765. package/dist/utils/get-milliseconds.js +0 -14
  766. package/dist/utils/get-milliseconds.test.d.ts +0 -1
  767. package/dist/utils/get-module-default.d.ts +0 -3
  768. package/dist/utils/get-module-default.js +0 -9
  769. package/dist/utils/get-os-info.d.ts +0 -9
  770. package/dist/utils/get-os-info.js +0 -47
  771. package/dist/utils/get-permissions.d.ts +0 -2
  772. package/dist/utils/get-permissions.js +0 -158
  773. package/dist/utils/get-relation-info.d.ts +0 -7
  774. package/dist/utils/get-relation-info.js +0 -49
  775. package/dist/utils/get-relation-info.test.d.ts +0 -1
  776. package/dist/utils/get-relation-type.d.ts +0 -6
  777. package/dist/utils/get-relation-type.js +0 -22
  778. package/dist/utils/get-relation-type.test.d.ts +0 -1
  779. package/dist/utils/get-schema.d.ts +0 -10
  780. package/dist/utils/get-schema.js +0 -138
  781. package/dist/utils/get-snapshot-diff.d.ts +0 -2
  782. package/dist/utils/get-snapshot-diff.js +0 -82
  783. package/dist/utils/get-snapshot.d.ts +0 -7
  784. package/dist/utils/get-snapshot.js +0 -80
  785. package/dist/utils/get-string-byte-size.d.ts +0 -4
  786. package/dist/utils/get-string-byte-size.js +0 -10
  787. package/dist/utils/get-string-byte-size.test.d.ts +0 -1
  788. package/dist/utils/get-versioned-hash.d.ts +0 -1
  789. package/dist/utils/get-versioned-hash.js +0 -12
  790. package/dist/utils/get-versioned-hash.test.d.ts +0 -1
  791. package/dist/utils/is-directus-jwt.d.ts +0 -5
  792. package/dist/utils/is-directus-jwt.js +0 -22
  793. package/dist/utils/is-directus-jwt.test.d.ts +0 -1
  794. package/dist/utils/is-url-allowed.d.ts +0 -4
  795. package/dist/utils/is-url-allowed.js +0 -36
  796. package/dist/utils/job-queue.d.ts +0 -9
  797. package/dist/utils/job-queue.js +0 -26
  798. package/dist/utils/jwt.d.ts +0 -2
  799. package/dist/utils/jwt.js +0 -53
  800. package/dist/utils/jwt.test.d.ts +0 -1
  801. package/dist/utils/map-values-deep.d.ts +0 -1
  802. package/dist/utils/map-values-deep.js +0 -29
  803. package/dist/utils/map-values-deep.test.d.ts +0 -1
  804. package/dist/utils/md.d.ts +0 -4
  805. package/dist/utils/md.js +0 -15
  806. package/dist/utils/md.test.d.ts +0 -1
  807. package/dist/utils/merge-permissions-for-share.d.ts +0 -4
  808. package/dist/utils/merge-permissions-for-share.js +0 -115
  809. package/dist/utils/merge-permissions.d.ts +0 -14
  810. package/dist/utils/merge-permissions.js +0 -100
  811. package/dist/utils/merge-permissions.test.d.ts +0 -1
  812. package/dist/utils/parse-image-metadata.d.ts +0 -3
  813. package/dist/utils/parse-image-metadata.js +0 -73
  814. package/dist/utils/reduce-schema.d.ts +0 -9
  815. package/dist/utils/reduce-schema.js +0 -82
  816. package/dist/utils/require-yaml.d.ts +0 -1
  817. package/dist/utils/require-yaml.js +0 -13
  818. package/dist/utils/sanitize-query.d.ts +0 -2
  819. package/dist/utils/sanitize-query.js +0 -179
  820. package/dist/utils/sanitize-query.test.d.ts +0 -1
  821. package/dist/utils/sanitize-schema.d.ts +0 -30
  822. package/dist/utils/sanitize-schema.js +0 -80
  823. package/dist/utils/sanitize-schema.test.d.ts +0 -1
  824. package/dist/utils/should-skip-cache.d.ts +0 -7
  825. package/dist/utils/should-skip-cache.js +0 -21
  826. package/dist/utils/should-skip-cache.test.d.ts +0 -1
  827. package/dist/utils/stall.d.ts +0 -26
  828. package/dist/utils/stall.js +0 -38
  829. package/dist/utils/stall.test.d.ts +0 -1
  830. package/dist/utils/strip-function.d.ts +0 -4
  831. package/dist/utils/strip-function.js +0 -16
  832. package/dist/utils/strip-function.test.d.ts +0 -1
  833. package/dist/utils/track.d.ts +0 -1
  834. package/dist/utils/track.js +0 -81
  835. package/dist/utils/transformations.d.ts +0 -6
  836. package/dist/utils/transformations.js +0 -55
  837. package/dist/utils/url.d.ts +0 -17
  838. package/dist/utils/url.js +0 -63
  839. package/dist/utils/url.test.d.ts +0 -1
  840. package/dist/utils/user-name.d.ts +0 -2
  841. package/dist/utils/user-name.js +0 -19
  842. package/dist/utils/user-name.test.d.ts +0 -1
  843. package/dist/utils/validate-diff.d.ts +0 -7
  844. package/dist/utils/validate-diff.js +0 -113
  845. package/dist/utils/validate-diff.test.d.ts +0 -1
  846. package/dist/utils/validate-env.d.ts +0 -1
  847. package/dist/utils/validate-env.js +0 -18
  848. package/dist/utils/validate-env.test.d.ts +0 -1
  849. package/dist/utils/validate-keys.d.ts +0 -6
  850. package/dist/utils/validate-keys.js +0 -28
  851. package/dist/utils/validate-keys.test.d.ts +0 -1
  852. package/dist/utils/validate-query.d.ts +0 -2
  853. package/dist/utils/validate-query.js +0 -205
  854. package/dist/utils/validate-query.test.d.ts +0 -1
  855. package/dist/utils/validate-snapshot.d.ts +0 -5
  856. package/dist/utils/validate-snapshot.js +0 -71
  857. package/dist/utils/validate-snapshot.test.d.ts +0 -1
  858. package/dist/utils/validate-storage.d.ts +0 -1
  859. package/dist/utils/validate-storage.js +0 -38
  860. package/dist/webhooks.d.ts +0 -4
  861. package/dist/webhooks.js +0 -89
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelperDefault = void 0;
4
- const types_1 = require("../types");
5
- class SchemaHelperDefault extends types_1.SchemaHelper {
6
- }
7
- exports.SchemaHelperDefault = SchemaHelperDefault;
@@ -1,7 +0,0 @@
1
- import type { Knex } from 'knex';
2
- import { SchemaHelper } from '../types';
3
- export declare class SchemaHelperMSSQL extends SchemaHelper {
4
- applyLimit(rootQuery: Knex.QueryBuilder, limit: number): void;
5
- applyOffset(rootQuery: Knex.QueryBuilder, offset: number): void;
6
- formatUUID(uuid: string): string;
7
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelperMSSQL = void 0;
4
- const types_1 = require("../types");
5
- class SchemaHelperMSSQL extends types_1.SchemaHelper {
6
- applyLimit(rootQuery, limit) {
7
- // The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries,
8
- // and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
9
- if (limit === -1) {
10
- rootQuery.limit(Number.MAX_SAFE_INTEGER);
11
- }
12
- else {
13
- rootQuery.limit(limit);
14
- }
15
- }
16
- applyOffset(rootQuery, offset) {
17
- rootQuery.offset(offset);
18
- rootQuery.orderBy(1);
19
- }
20
- formatUUID(uuid) {
21
- return uuid.toUpperCase();
22
- }
23
- }
24
- exports.SchemaHelperMSSQL = SchemaHelperMSSQL;
@@ -1,5 +0,0 @@
1
- import type { Knex } from 'knex';
2
- import { SchemaHelper } from '../types';
3
- export declare class SchemaHelperMySQL extends SchemaHelper {
4
- applyMultiRelationalSort(knex: Knex, dbQuery: Knex.QueryBuilder, table: string, primaryKey: string, orderByString: string, orderByFields: Knex.Raw[]): Knex.QueryBuilder;
5
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelperMySQL = void 0;
4
- const database_1 = require("../../../../database");
5
- const types_1 = require("../types");
6
- class SchemaHelperMySQL extends types_1.SchemaHelper {
7
- applyMultiRelationalSort(knex, dbQuery, table, primaryKey, orderByString, orderByFields) {
8
- if ((0, database_1.getDatabaseVersion)()?.startsWith('5.7')) {
9
- dbQuery.orderByRaw(`?? asc, ${orderByString}`, [`${table}.${primaryKey}`, ...orderByFields]);
10
- dbQuery = knex
11
- .select(knex.raw(`??, ( @rank := IF ( @cur_id = deep.${primaryKey}, @rank + 1, 1 ) ) AS directus_row_number, ( @cur_id := deep.${primaryKey} ) AS current_id`, 'deep.*'))
12
- .from(knex.raw('? as ??, (SELECT @rank := 0, @cur_id := null) vars', [dbQuery, 'deep']));
13
- return dbQuery;
14
- }
15
- return super.applyMultiRelationalSort(knex, dbQuery, table, primaryKey, orderByString, orderByFields);
16
- }
17
- }
18
- exports.SchemaHelperMySQL = SchemaHelperMySQL;
@@ -1,9 +0,0 @@
1
- import type { KNEX_TYPES } from '@directus/shared/constants';
2
- import type { Field, Relation, Type } from '@directus/shared/types';
3
- import { Options, SchemaHelper } from '../types';
4
- export declare class SchemaHelperOracle extends SchemaHelper {
5
- changeToType(table: string, column: string, type: (typeof KNEX_TYPES)[number], options?: Options): Promise<void>;
6
- castA2oPrimaryKey(): string;
7
- preRelationChange(relation: Partial<Relation>): void;
8
- processFieldType(field: Field): Type;
9
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelperOracle = void 0;
4
- const types_1 = require("../types");
5
- class SchemaHelperOracle extends types_1.SchemaHelper {
6
- async changeToType(table, column, type, options = {}) {
7
- await this.changeToTypeByCopy(table, column, type, options);
8
- }
9
- castA2oPrimaryKey() {
10
- return 'CAST(?? AS VARCHAR2(255))';
11
- }
12
- preRelationChange(relation) {
13
- if (relation.collection === relation.related_collection) {
14
- // Constraints are not allowed on self referencing relationships
15
- // Setting NO ACTION throws - ORA-00905: missing keyword
16
- if (relation.schema?.on_delete) {
17
- relation.schema.on_delete = null;
18
- }
19
- }
20
- }
21
- processFieldType(field) {
22
- if (field.type === 'integer') {
23
- if (field.schema?.numeric_precision === 20) {
24
- return 'bigInteger';
25
- }
26
- else if (field.schema?.numeric_precision === 1) {
27
- return 'boolean';
28
- }
29
- else if (field.schema?.numeric_precision || field.schema?.numeric_scale) {
30
- return 'decimal';
31
- }
32
- }
33
- return field.type;
34
- }
35
- }
36
- exports.SchemaHelperOracle = SchemaHelperOracle;
@@ -1,5 +0,0 @@
1
- import { SchemaHelper } from '../types';
2
- export declare class SchemaHelperSQLite extends SchemaHelper {
3
- preColumnChange(): Promise<boolean>;
4
- postColumnChange(): Promise<void>;
5
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelperSQLite = void 0;
4
- const types_1 = require("../types");
5
- class SchemaHelperSQLite extends types_1.SchemaHelper {
6
- async preColumnChange() {
7
- const foreignCheckStatus = (await this.knex.raw('PRAGMA foreign_keys'))[0].foreign_keys === 1;
8
- if (foreignCheckStatus) {
9
- await this.knex.raw('PRAGMA foreign_keys = OFF');
10
- }
11
- return foreignCheckStatus;
12
- }
13
- async postColumnChange() {
14
- await this.knex.raw('PRAGMA foreign_keys = ON');
15
- }
16
- }
17
- exports.SchemaHelperSQLite = SchemaHelperSQLite;
@@ -1,7 +0,0 @@
1
- export { SchemaHelperDefault as postgres } from './dialects/default';
2
- export { SchemaHelperCockroachDb as cockroachdb } from './dialects/cockroachdb';
3
- export { SchemaHelperDefault as redshift } from './dialects/default';
4
- export { SchemaHelperOracle as oracle } from './dialects/oracle';
5
- export { SchemaHelperSQLite as sqlite } from './dialects/sqlite';
6
- export { SchemaHelperMySQL as mysql } from './dialects/mysql';
7
- export { SchemaHelperMSSQL as mssql } from './dialects/mssql';
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mssql = exports.mysql = exports.sqlite = exports.oracle = exports.redshift = exports.cockroachdb = exports.postgres = void 0;
4
- var default_1 = require("./dialects/default");
5
- Object.defineProperty(exports, "postgres", { enumerable: true, get: function () { return default_1.SchemaHelperDefault; } });
6
- var cockroachdb_1 = require("./dialects/cockroachdb");
7
- Object.defineProperty(exports, "cockroachdb", { enumerable: true, get: function () { return cockroachdb_1.SchemaHelperCockroachDb; } });
8
- var default_2 = require("./dialects/default");
9
- Object.defineProperty(exports, "redshift", { enumerable: true, get: function () { return default_2.SchemaHelperDefault; } });
10
- var oracle_1 = require("./dialects/oracle");
11
- Object.defineProperty(exports, "oracle", { enumerable: true, get: function () { return oracle_1.SchemaHelperOracle; } });
12
- var sqlite_1 = require("./dialects/sqlite");
13
- Object.defineProperty(exports, "sqlite", { enumerable: true, get: function () { return sqlite_1.SchemaHelperSQLite; } });
14
- var mysql_1 = require("./dialects/mysql");
15
- Object.defineProperty(exports, "mysql", { enumerable: true, get: function () { return mysql_1.SchemaHelperMySQL; } });
16
- var mssql_1 = require("./dialects/mssql");
17
- Object.defineProperty(exports, "mssql", { enumerable: true, get: function () { return mssql_1.SchemaHelperMSSQL; } });
@@ -1,26 +0,0 @@
1
- import type { KNEX_TYPES } from '@directus/shared/constants';
2
- import type { Field, Relation, Type } from '@directus/shared/types';
3
- import type { Knex } from 'knex';
4
- import type { DatabaseClient } from '../../../types';
5
- import { DatabaseHelper } from '../types';
6
- export type Options = {
7
- nullable?: boolean;
8
- default?: any;
9
- length?: number;
10
- };
11
- export declare abstract class SchemaHelper extends DatabaseHelper {
12
- isOneOfClients(clients: DatabaseClient[]): boolean;
13
- changeNullable(table: string, column: string, nullable: boolean): Promise<void>;
14
- changeToType(table: string, column: string, type: (typeof KNEX_TYPES)[number], options?: Options): Promise<void>;
15
- protected changeToTypeByCopy(table: string, column: string, type: (typeof KNEX_TYPES)[number], options: Options): Promise<void>;
16
- preColumnChange(): Promise<boolean>;
17
- postColumnChange(): Promise<void>;
18
- preRelationChange(_relation: Partial<Relation>): void;
19
- processFieldType(field: Field): Type;
20
- constraintName(existingName: string): string;
21
- applyLimit(rootQuery: Knex.QueryBuilder, limit: number): void;
22
- applyOffset(rootQuery: Knex.QueryBuilder, offset: number): void;
23
- castA2oPrimaryKey(): string;
24
- applyMultiRelationalSort(knex: Knex, dbQuery: Knex.QueryBuilder, table: string, primaryKey: string, orderByString: string, orderByFields: Knex.Raw[]): Knex.QueryBuilder;
25
- formatUUID(uuid: string): string;
26
- }
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaHelper = void 0;
4
- const index_1 = require("../../index");
5
- const types_1 = require("../types");
6
- class SchemaHelper extends types_1.DatabaseHelper {
7
- isOneOfClients(clients) {
8
- return clients.includes((0, index_1.getDatabaseClient)(this.knex));
9
- }
10
- async changeNullable(table, column, nullable) {
11
- await this.knex.schema.alterTable(table, (builder) => {
12
- if (nullable) {
13
- builder.setNullable(column);
14
- }
15
- else {
16
- builder.dropNullable(column);
17
- }
18
- });
19
- }
20
- async changeToType(table, column, type, options = {}) {
21
- await this.knex.schema.alterTable(table, (builder) => {
22
- const b = type === 'string' ? builder.string(column, options.length) : builder[type](column);
23
- if (options.nullable === true) {
24
- b.nullable();
25
- }
26
- if (options.nullable === false) {
27
- b.notNullable();
28
- }
29
- if (options.default !== undefined) {
30
- b.defaultTo(options.default);
31
- }
32
- b.alter();
33
- });
34
- }
35
- async changeToTypeByCopy(table, column, type, options) {
36
- const tempName = `${column}__temp`;
37
- await this.knex.schema.alterTable(table, (builder) => {
38
- const col = type === 'string' ? builder.string(tempName, options.length) : builder[type](tempName);
39
- if (options.default !== undefined) {
40
- col.defaultTo(options.default);
41
- }
42
- // Force new temporary column to be nullable (required, as there will already be rows in
43
- // the table)
44
- col.nullable();
45
- });
46
- await this.knex(table).update(tempName, this.knex.ref(column));
47
- await this.knex.schema.alterTable(table, (builder) => {
48
- builder.dropColumn(column);
49
- });
50
- await this.knex.schema.alterTable(table, (builder) => {
51
- builder.renameColumn(tempName, column);
52
- });
53
- // We're altering the temporary column here. That starts nullable, so we only want to set it
54
- // to NOT NULL when applicable
55
- if (options.nullable === false) {
56
- await this.changeNullable(table, column, options.nullable);
57
- }
58
- }
59
- async preColumnChange() {
60
- return false;
61
- }
62
- async postColumnChange() {
63
- return;
64
- }
65
- preRelationChange(_relation) {
66
- return;
67
- }
68
- processFieldType(field) {
69
- return field.type;
70
- }
71
- constraintName(existingName) {
72
- // most vendors allow for dropping/creating constraints with the same name
73
- // reference issue #14873
74
- return existingName;
75
- }
76
- applyLimit(rootQuery, limit) {
77
- if (limit !== -1) {
78
- rootQuery.limit(limit);
79
- }
80
- }
81
- applyOffset(rootQuery, offset) {
82
- rootQuery.offset(offset);
83
- }
84
- castA2oPrimaryKey() {
85
- return 'CAST(?? AS CHAR(255))';
86
- }
87
- applyMultiRelationalSort(knex, dbQuery, table, primaryKey, orderByString, orderByFields) {
88
- dbQuery.rowNumber(knex.ref('directus_row_number').toQuery(), knex.raw(`partition by ?? order by ${orderByString}`, [`${table}.${primaryKey}`, ...orderByFields]));
89
- return dbQuery;
90
- }
91
- formatUUID(uuid) {
92
- return uuid; // no-op by default
93
- }
94
- }
95
- exports.SchemaHelper = SchemaHelper;
@@ -1,5 +0,0 @@
1
- import type { Knex } from 'knex';
2
- export declare abstract class DatabaseHelper {
3
- protected knex: Knex;
4
- constructor(knex: Knex);
5
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatabaseHelper = void 0;
4
- class DatabaseHelper {
5
- knex;
6
- constructor(knex) {
7
- this.knex = knex;
8
- }
9
- }
10
- exports.DatabaseHelper = DatabaseHelper;
@@ -1,20 +0,0 @@
1
- import SchemaInspector from '@directus/schema';
2
- import { Knex } from 'knex';
3
- import type { DatabaseClient } from '../types';
4
- export default function getDatabase(): Knex;
5
- export declare function getSchemaInspector(): ReturnType<typeof SchemaInspector>;
6
- /**
7
- * Get database version. Value currently exists for MySQL only.
8
- *
9
- * @returns Cached database version
10
- */
11
- export declare function getDatabaseVersion(): string | null;
12
- export declare function hasDatabaseConnection(database?: Knex): Promise<boolean>;
13
- export declare function validateDatabaseConnection(database?: Knex): Promise<void>;
14
- export declare function getDatabaseClient(database?: Knex): DatabaseClient;
15
- export declare function isInstalled(): Promise<boolean>;
16
- export declare function validateMigrations(): Promise<boolean>;
17
- /**
18
- * These database extensions should be optional, so we don't throw or return any problem states when they don't
19
- */
20
- export declare function validateDatabaseExtensions(): Promise<void>;
@@ -1,279 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateDatabaseExtensions = exports.validateMigrations = exports.isInstalled = exports.getDatabaseClient = exports.validateDatabaseConnection = exports.hasDatabaseConnection = exports.getDatabaseVersion = exports.getSchemaInspector = void 0;
7
- const schema_1 = __importDefault(require("@directus/schema"));
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const knex_1 = require("knex");
10
- const lodash_1 = require("lodash");
11
- const path_1 = __importDefault(require("path"));
12
- const perf_hooks_1 = require("perf_hooks");
13
- const util_1 = require("util");
14
- const env_1 = __importDefault(require("../env"));
15
- const logger_1 = __importDefault(require("../logger"));
16
- const get_config_from_env_1 = require("../utils/get-config-from-env");
17
- const validate_env_1 = require("../utils/validate-env");
18
- const helpers_1 = require("./helpers");
19
- let database = null;
20
- let inspector = null;
21
- let databaseVersion = null;
22
- function getDatabase() {
23
- if (database) {
24
- return database;
25
- }
26
- const { client, version, searchPath, connectionString, pool: poolConfig = {}, ...connectionConfig } = (0, get_config_from_env_1.getConfigFromEnv)('DB_', ['DB_EXCLUDE_TABLES']);
27
- const requiredEnvVars = ['DB_CLIENT'];
28
- switch (client) {
29
- case 'sqlite3':
30
- requiredEnvVars.push('DB_FILENAME');
31
- break;
32
- case 'oracledb':
33
- if (!env_1.default['DB_CONNECT_STRING']) {
34
- requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD');
35
- }
36
- else {
37
- requiredEnvVars.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING');
38
- }
39
- break;
40
- case 'cockroachdb':
41
- case 'pg':
42
- if (!connectionString) {
43
- requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER');
44
- }
45
- else {
46
- requiredEnvVars.push('DB_CONNECTION_STRING');
47
- }
48
- break;
49
- case 'mssql':
50
- if (!env_1.default['DB_TYPE'] || env_1.default['DB_TYPE'] === 'default') {
51
- requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD');
52
- }
53
- break;
54
- default:
55
- requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD');
56
- }
57
- (0, validate_env_1.validateEnv)(requiredEnvVars);
58
- const knexConfig = {
59
- client,
60
- version,
61
- searchPath,
62
- connection: connectionString || connectionConfig,
63
- log: {
64
- warn: (msg) => {
65
- // Ignore warnings about returning not being supported in some DBs
66
- if (msg.startsWith('.returning()'))
67
- return;
68
- if (msg.endsWith('does not currently support RETURNING clause'))
69
- return;
70
- // Ignore warning about MySQL not supporting TRX for DDL
71
- if (msg.startsWith('Transaction was implicitly committed, do not mix transactions and DDL with MySQL'))
72
- return;
73
- return logger_1.default.warn(msg);
74
- },
75
- error: (msg) => logger_1.default.error(msg),
76
- deprecate: (msg) => logger_1.default.info(msg),
77
- debug: (msg) => logger_1.default.debug(msg),
78
- },
79
- pool: poolConfig,
80
- };
81
- if (client === 'sqlite3') {
82
- knexConfig.useNullAsDefault = true;
83
- poolConfig.afterCreate = async (conn, callback) => {
84
- logger_1.default.trace('Enabling SQLite Foreign Keys support...');
85
- const run = (0, util_1.promisify)(conn.run.bind(conn));
86
- await run('PRAGMA foreign_keys = ON');
87
- callback(null, conn);
88
- };
89
- }
90
- if (client === 'cockroachdb') {
91
- poolConfig.afterCreate = async (conn, callback) => {
92
- logger_1.default.trace('Setting CRDB serial_normalization and default_int_size');
93
- const run = (0, util_1.promisify)(conn.query.bind(conn));
94
- await run('SET serial_normalization = "sql_sequence"');
95
- await run('SET default_int_size = 4');
96
- callback(null, conn);
97
- };
98
- }
99
- if (client === 'mysql') {
100
- poolConfig.afterCreate = async (conn, callback) => {
101
- logger_1.default.trace('Retrieving database version');
102
- const run = (0, util_1.promisify)(conn.query.bind(conn));
103
- const version = await run('SELECT @@version;');
104
- databaseVersion = version[0]['@@version'];
105
- callback(null, conn);
106
- };
107
- }
108
- if (client === 'mssql') {
109
- // This brings MS SQL in line with the other DB vendors. We shouldn't do any automatic
110
- // timezone conversion on the database level, especially not when other database vendors don't
111
- // act the same
112
- (0, lodash_1.merge)(knexConfig, { connection: { options: { useUTC: false } } });
113
- }
114
- database = (0, knex_1.knex)(knexConfig);
115
- validateDatabaseCharset(database);
116
- const times = {};
117
- database
118
- .on('query', (queryInfo) => {
119
- times[queryInfo.__knexUid] = perf_hooks_1.performance.now();
120
- })
121
- .on('query-response', (_response, queryInfo) => {
122
- const delta = perf_hooks_1.performance.now() - times[queryInfo.__knexUid];
123
- logger_1.default.trace(`[${delta.toFixed(3)}ms] ${queryInfo.sql} [${queryInfo.bindings.join(', ')}]`);
124
- delete times[queryInfo.__knexUid];
125
- });
126
- return database;
127
- }
128
- exports.default = getDatabase;
129
- function getSchemaInspector() {
130
- if (inspector) {
131
- return inspector;
132
- }
133
- const database = getDatabase();
134
- inspector = (0, schema_1.default)(database);
135
- return inspector;
136
- }
137
- exports.getSchemaInspector = getSchemaInspector;
138
- /**
139
- * Get database version. Value currently exists for MySQL only.
140
- *
141
- * @returns Cached database version
142
- */
143
- function getDatabaseVersion() {
144
- return databaseVersion;
145
- }
146
- exports.getDatabaseVersion = getDatabaseVersion;
147
- async function hasDatabaseConnection(database) {
148
- database = database ?? getDatabase();
149
- try {
150
- if (getDatabaseClient(database) === 'oracle') {
151
- await database.raw('select 1 from DUAL');
152
- }
153
- else {
154
- await database.raw('SELECT 1');
155
- }
156
- return true;
157
- }
158
- catch {
159
- return false;
160
- }
161
- }
162
- exports.hasDatabaseConnection = hasDatabaseConnection;
163
- async function validateDatabaseConnection(database) {
164
- database = database ?? getDatabase();
165
- try {
166
- if (getDatabaseClient(database) === 'oracle') {
167
- await database.raw('select 1 from DUAL');
168
- }
169
- else {
170
- await database.raw('SELECT 1');
171
- }
172
- }
173
- catch (error) {
174
- logger_1.default.error(`Can't connect to the database.`);
175
- logger_1.default.error(error);
176
- process.exit(1);
177
- }
178
- }
179
- exports.validateDatabaseConnection = validateDatabaseConnection;
180
- function getDatabaseClient(database) {
181
- database = database ?? getDatabase();
182
- switch (database.client.constructor.name) {
183
- case 'Client_MySQL':
184
- return 'mysql';
185
- case 'Client_PG':
186
- return 'postgres';
187
- case 'Client_CockroachDB':
188
- return 'cockroachdb';
189
- case 'Client_SQLite3':
190
- return 'sqlite';
191
- case 'Client_Oracledb':
192
- case 'Client_Oracle':
193
- return 'oracle';
194
- case 'Client_MSSQL':
195
- return 'mssql';
196
- case 'Client_Redshift':
197
- return 'redshift';
198
- }
199
- throw new Error(`Couldn't extract database client`);
200
- }
201
- exports.getDatabaseClient = getDatabaseClient;
202
- async function isInstalled() {
203
- const inspector = getSchemaInspector();
204
- // The existence of a directus_collections table alone isn't a "proper" check to see if everything
205
- // is installed correctly of course, but it's safe enough to assume that this collection only
206
- // exists when Directus is properly installed.
207
- return await inspector.hasTable('directus_collections');
208
- }
209
- exports.isInstalled = isInstalled;
210
- async function validateMigrations() {
211
- const database = getDatabase();
212
- try {
213
- let migrationFiles = await fs_extra_1.default.readdir(path_1.default.join(__dirname, 'migrations'));
214
- const customMigrationsPath = path_1.default.resolve(env_1.default['EXTENSIONS_PATH'], 'migrations');
215
- let customMigrationFiles = ((await fs_extra_1.default.pathExists(customMigrationsPath)) && (await fs_extra_1.default.readdir(customMigrationsPath))) || [];
216
- migrationFiles = migrationFiles.filter((file) => file.startsWith('run') === false && file.endsWith('.d.ts') === false);
217
- customMigrationFiles = customMigrationFiles.filter((file) => file.endsWith('.js'));
218
- migrationFiles.push(...customMigrationFiles);
219
- const requiredVersions = migrationFiles.map((filePath) => filePath.split('-')[0]);
220
- const completedVersions = (await database.select('version').from('directus_migrations')).map(({ version }) => version);
221
- return requiredVersions.every((version) => completedVersions.includes(version));
222
- }
223
- catch (error) {
224
- logger_1.default.error(`Database migrations cannot be found`);
225
- logger_1.default.error(error);
226
- throw process.exit(1);
227
- }
228
- }
229
- exports.validateMigrations = validateMigrations;
230
- /**
231
- * These database extensions should be optional, so we don't throw or return any problem states when they don't
232
- */
233
- async function validateDatabaseExtensions() {
234
- const database = getDatabase();
235
- const client = getDatabaseClient(database);
236
- const helpers = (0, helpers_1.getHelpers)(database);
237
- const geometrySupport = await helpers.st.supported();
238
- if (!geometrySupport) {
239
- switch (client) {
240
- case 'postgres':
241
- logger_1.default.warn(`PostGIS isn't installed. Geometry type support will be limited.`);
242
- break;
243
- case 'sqlite':
244
- logger_1.default.warn(`Spatialite isn't installed. Geometry type support will be limited.`);
245
- break;
246
- default:
247
- logger_1.default.warn(`Geometry type not supported on ${client}`);
248
- }
249
- }
250
- }
251
- exports.validateDatabaseExtensions = validateDatabaseExtensions;
252
- async function validateDatabaseCharset(database) {
253
- database = database ?? getDatabase();
254
- if (getDatabaseClient(database) === 'mysql') {
255
- const { collation } = await database.select(database.raw(`@@collation_database as collation`)).first();
256
- const tables = await database('information_schema.tables')
257
- .select({ name: 'TABLE_NAME', collation: 'TABLE_COLLATION' })
258
- .where({ TABLE_SCHEMA: env_1.default['DB_DATABASE'] });
259
- const columns = await database('information_schema.columns')
260
- .select({ table_name: 'TABLE_NAME', name: 'COLUMN_NAME', collation: 'COLLATION_NAME' })
261
- .where({ TABLE_SCHEMA: env_1.default['DB_DATABASE'] })
262
- .whereNot({ COLLATION_NAME: collation });
263
- let inconsistencies = '';
264
- for (const table of tables) {
265
- const tableColumns = columns.filter((column) => column.table_name === table.name);
266
- const tableHasInvalidCollation = table.collation !== collation;
267
- if (tableHasInvalidCollation || tableColumns.length > 0) {
268
- inconsistencies += `\t\t- Table "${table.name}": "${table.collation}"\n`;
269
- for (const column of tableColumns) {
270
- inconsistencies += `\t\t - Column "${column.name}": "${column.collation}"\n`;
271
- }
272
- }
273
- }
274
- if (inconsistencies) {
275
- logger_1.default.warn(`Some tables and columns do not match your database's default collation (${collation}):\n${inconsistencies}`);
276
- }
277
- }
278
- return;
279
- }
@@ -1,3 +0,0 @@
1
- import type { Knex } from 'knex';
2
- export declare function up(knex: Knex): Promise<void>;
3
- export declare function down(knex: Knex): Promise<void>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.down = exports.up = void 0;
4
- async function up(knex) {
5
- await knex.schema.alterTable('directus_fields', (table) => {
6
- table.dropForeign(['collection']);
7
- });
8
- await knex.schema.alterTable('directus_activity', (table) => {
9
- table.dropForeign(['collection']);
10
- });
11
- await knex.schema.alterTable('directus_permissions', (table) => {
12
- table.dropForeign(['collection']);
13
- });
14
- await knex.schema.alterTable('directus_presets', (table) => {
15
- table.dropForeign(['collection']);
16
- });
17
- await knex.schema.alterTable('directus_relations', (table) => {
18
- table.dropForeign(['one_collection']);
19
- table.dropForeign(['many_collection']);
20
- });
21
- await knex.schema.alterTable('directus_revisions', (table) => {
22
- table.dropForeign(['collection']);
23
- });
24
- }
25
- exports.up = up;
26
- async function down(knex) {
27
- await knex.schema.alterTable('directus_fields', (table) => {
28
- table.foreign('collection').references('directus_collections.collection');
29
- });
30
- await knex.schema.alterTable('directus_activity', (table) => {
31
- table.foreign('collection').references('directus_collections.collection');
32
- });
33
- await knex.schema.alterTable('directus_permissions', (table) => {
34
- table.foreign('collection').references('directus_collections.collection');
35
- });
36
- await knex.schema.alterTable('directus_presets', (table) => {
37
- table.foreign('collection').references('directus_collections.collection');
38
- });
39
- await knex.schema.alterTable('directus_relations', (table) => {
40
- table.foreign('one_collection').references('directus_collections.collection');
41
- table.foreign('many_collection').references('directus_collections.collection');
42
- });
43
- await knex.schema.alterTable('directus_revisions', (table) => {
44
- table.foreign('collection').references('directus_collections.collection');
45
- });
46
- }
47
- exports.down = down;