@directus/api 25.0.0 → 26.0.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 (123) hide show
  1. package/dist/app.js +3 -3
  2. package/dist/auth/drivers/oauth2.d.ts +2 -0
  3. package/dist/auth/drivers/oauth2.js +40 -2
  4. package/dist/auth/drivers/openid.js +8 -1
  5. package/dist/controllers/access.js +2 -2
  6. package/dist/controllers/comments.js +2 -2
  7. package/dist/controllers/dashboards.js +2 -2
  8. package/dist/controllers/files.js +2 -2
  9. package/dist/controllers/flows.js +2 -2
  10. package/dist/controllers/folders.js +2 -2
  11. package/dist/controllers/items.js +2 -2
  12. package/dist/controllers/notifications.js +2 -2
  13. package/dist/controllers/operations.js +2 -2
  14. package/dist/controllers/panels.js +2 -2
  15. package/dist/controllers/permissions.js +2 -2
  16. package/dist/controllers/policies.js +2 -2
  17. package/dist/controllers/presets.js +2 -2
  18. package/dist/controllers/roles.js +2 -2
  19. package/dist/controllers/shares.js +2 -2
  20. package/dist/controllers/translations.js +2 -2
  21. package/dist/controllers/users.js +2 -2
  22. package/dist/controllers/utils.js +8 -3
  23. package/dist/controllers/versions.js +2 -2
  24. package/dist/controllers/webhooks.js +1 -1
  25. package/dist/database/helpers/capabilities/dialects/default.d.ts +3 -0
  26. package/dist/database/helpers/capabilities/dialects/default.js +3 -0
  27. package/dist/database/helpers/capabilities/dialects/mysql.d.ts +4 -0
  28. package/dist/database/helpers/capabilities/dialects/mysql.js +9 -0
  29. package/dist/database/helpers/capabilities/dialects/postgres.d.ts +5 -0
  30. package/dist/database/helpers/capabilities/dialects/postgres.js +14 -0
  31. package/dist/database/helpers/capabilities/index.d.ts +7 -0
  32. package/dist/database/helpers/capabilities/index.js +7 -0
  33. package/dist/database/helpers/capabilities/types.d.ts +11 -0
  34. package/dist/database/helpers/capabilities/types.js +15 -0
  35. package/dist/database/helpers/index.d.ts +2 -0
  36. package/dist/database/helpers/index.js +2 -0
  37. package/dist/database/helpers/schema/dialects/cockroachdb.d.ts +1 -2
  38. package/dist/database/helpers/schema/dialects/cockroachdb.js +0 -4
  39. package/dist/database/helpers/schema/dialects/postgres.d.ts +1 -2
  40. package/dist/database/helpers/schema/dialects/postgres.js +0 -4
  41. package/dist/database/index.js +1 -1
  42. package/dist/database/migrations/20250224A-visual-editor.d.ts +3 -0
  43. package/dist/database/migrations/20250224A-visual-editor.js +35 -0
  44. package/dist/database/run-ast/lib/get-db-query.js +16 -4
  45. package/dist/logger/index.js +3 -3
  46. package/dist/middleware/sanitize-query.js +17 -7
  47. package/dist/middleware/validate-batch.js +1 -1
  48. package/dist/operations/item-delete/index.js +1 -1
  49. package/dist/operations/item-read/index.js +1 -1
  50. package/dist/operations/item-update/index.js +1 -1
  51. package/dist/permissions/lib/fetch-permissions.js +6 -4
  52. package/dist/permissions/modules/process-ast/utils/context-has-dynamic-variables.d.ts +2 -0
  53. package/dist/permissions/modules/process-ast/utils/context-has-dynamic-variables.js +3 -0
  54. package/dist/permissions/modules/process-payload/process-payload.d.ts +1 -0
  55. package/dist/permissions/modules/process-payload/process-payload.js +13 -4
  56. package/dist/permissions/types.d.ts +2 -1
  57. package/dist/permissions/utils/extract-required-dynamic-variable-context.d.ts +3 -2
  58. package/dist/permissions/utils/extract-required-dynamic-variable-context.js +24 -5
  59. package/dist/permissions/utils/fetch-dynamic-variable-data.d.ts +9 -0
  60. package/dist/permissions/utils/{fetch-dynamic-variable-context.js → fetch-dynamic-variable-data.js} +11 -12
  61. package/dist/rate-limiter.js +1 -1
  62. package/dist/services/assets.js +12 -2
  63. package/dist/services/authentication.js +2 -2
  64. package/dist/services/collections.js +39 -3
  65. package/dist/services/fields/build-collection-and-field-relations.d.ts +21 -0
  66. package/dist/services/fields/build-collection-and-field-relations.js +55 -0
  67. package/dist/services/fields/get-collection-meta-updates.d.ts +11 -0
  68. package/dist/services/fields/get-collection-meta-updates.js +72 -0
  69. package/dist/services/fields/get-collection-relation-list.d.ts +5 -0
  70. package/dist/services/fields/get-collection-relation-list.js +28 -0
  71. package/dist/services/fields.js +17 -12
  72. package/dist/services/graphql/resolvers/get-collection-type.d.ts +3 -0
  73. package/dist/services/graphql/resolvers/get-collection-type.js +34 -0
  74. package/dist/services/graphql/resolvers/get-field-type.d.ts +3 -0
  75. package/dist/services/graphql/resolvers/get-field-type.js +51 -0
  76. package/dist/services/graphql/resolvers/get-relation-type.d.ts +3 -0
  77. package/dist/services/graphql/resolvers/get-relation-type.js +39 -0
  78. package/dist/services/graphql/resolvers/mutation.js +1 -1
  79. package/dist/services/graphql/resolvers/query.js +4 -4
  80. package/dist/services/graphql/resolvers/system-admin.d.ts +2 -2
  81. package/dist/services/graphql/resolvers/system-admin.js +207 -199
  82. package/dist/services/graphql/resolvers/system.d.ts +1 -7
  83. package/dist/services/graphql/resolvers/system.js +12 -113
  84. package/dist/services/graphql/schema/index.js +1 -1
  85. package/dist/services/graphql/schema/parse-query.d.ts +2 -2
  86. package/dist/services/graphql/schema/parse-query.js +6 -6
  87. package/dist/services/graphql/schema/read.d.ts +2 -2
  88. package/dist/services/graphql/schema/read.js +86 -2
  89. package/dist/services/graphql/schema-cache.d.ts +2 -2
  90. package/dist/services/graphql/schema-cache.js +1 -3
  91. package/dist/services/graphql/subscription.d.ts +3 -3
  92. package/dist/services/graphql/subscription.js +3 -3
  93. package/dist/services/graphql/utils/{aggrgate-query.d.ts → aggregate-query.d.ts} +2 -2
  94. package/dist/services/graphql/utils/{aggrgate-query.js → aggregate-query.js} +3 -3
  95. package/dist/services/items.d.ts +1 -0
  96. package/dist/services/items.js +30 -16
  97. package/dist/services/meta.js +4 -2
  98. package/dist/services/payload.d.ts +1 -0
  99. package/dist/services/payload.js +32 -17
  100. package/dist/services/shares.js +1 -1
  101. package/dist/services/specifications.js +10 -5
  102. package/dist/services/tus/lockers.d.ts +1 -1
  103. package/dist/services/tus/lockers.js +6 -5
  104. package/dist/services/tus/server.js +24 -0
  105. package/dist/services/users.js +1 -0
  106. package/dist/types/services.d.ts +2 -0
  107. package/dist/utils/apply-query.d.ts +1 -0
  108. package/dist/utils/apply-query.js +42 -31
  109. package/dist/utils/generate-hash.js +1 -1
  110. package/dist/utils/get-config-from-env.d.ts +6 -1
  111. package/dist/utils/get-config-from-env.js +16 -11
  112. package/dist/utils/get-graphql-type.js +3 -1
  113. package/dist/utils/is-login-redirect-allowed.js +2 -0
  114. package/dist/utils/redact-object.js +5 -1
  115. package/dist/utils/sanitize-query.d.ts +5 -2
  116. package/dist/utils/sanitize-query.js +34 -9
  117. package/dist/websocket/controllers/base.d.ts +2 -2
  118. package/dist/websocket/handlers/items.js +4 -4
  119. package/dist/websocket/handlers/subscribe.js +2 -2
  120. package/dist/websocket/messages.d.ts +7 -7
  121. package/dist/websocket/messages.js +1 -1
  122. package/package.json +58 -58
  123. package/dist/permissions/utils/fetch-dynamic-variable-context.d.ts +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@directus/api",
3
- "version": "25.0.0",
3
+ "version": "26.0.0",
4
4
  "description": "Directus is a real-time API and App dashboard for managing SQL database content",
5
5
  "keywords": [
6
6
  "directus",
@@ -59,17 +59,17 @@
59
59
  ],
60
60
  "dependencies": {
61
61
  "@authenio/samlify-node-xmllint": "2.0.0",
62
- "@aws-sdk/client-ses": "3.723.0",
62
+ "@aws-sdk/client-ses": "3.758.0",
63
63
  "@godaddy/terminus": "4.12.1",
64
64
  "@rollup/plugin-alias": "5.1.1",
65
65
  "@rollup/plugin-node-resolve": "15.3.1",
66
66
  "@rollup/plugin-virtual": "3.0.2",
67
- "@tus/server": "1.10.0",
68
- "@tus/utils": "0.5.0",
67
+ "@tus/server": "1.10.2",
68
+ "@tus/utils": "0.5.1",
69
69
  "argon2": "0.41.1",
70
70
  "async": "3.2.6",
71
71
  "async-mutex": "0.5.0",
72
- "axios": "1.7.9",
72
+ "axios": "1.8.1",
73
73
  "busboy": "1.6.0",
74
74
  "bytes": "3.1.2",
75
75
  "camelcase": "8.0.0",
@@ -88,18 +88,18 @@
88
88
  "encodeurl": "2.0.0",
89
89
  "eventemitter2": "6.4.9",
90
90
  "execa": "8.0.1",
91
- "exif-reader": "2.0.1",
91
+ "exif-reader": "2.0.2",
92
92
  "express": "4.21.2",
93
93
  "flat": "6.0.1",
94
- "fs-extra": "11.2.0",
94
+ "fs-extra": "11.3.0",
95
95
  "glob-to-regexp": "0.4.1",
96
96
  "graphql": "16.10.0",
97
- "graphql-compose": "9.0.11",
98
- "graphql-ws": "5.16.1",
97
+ "graphql-compose": "9.1.0",
98
+ "graphql-ws": "5.16.2",
99
99
  "helmet": "8.0.0",
100
100
  "icc": "3.0.0",
101
- "inquirer": "12.3.0",
102
- "ioredis": "5.4.2",
101
+ "inquirer": "12.4.2",
102
+ "ioredis": "5.5.0",
103
103
  "ip-matching": "2.1.2",
104
104
  "isolated-vm": "5.0.3",
105
105
  "joi": "17.13.3",
@@ -107,72 +107,72 @@
107
107
  "js2xmlparser": "5.0.0",
108
108
  "json2csv": "5.0.7",
109
109
  "jsonwebtoken": "9.0.2",
110
- "keyv": "5.2.3",
110
+ "keyv": "5.3.0",
111
111
  "knex": "3.1.0",
112
112
  "ldapjs": "2.3.3",
113
- "liquidjs": "10.20.1",
113
+ "liquidjs": "10.21.0",
114
114
  "lodash-es": "4.17.21",
115
- "marked": "15.0.6",
115
+ "marked": "15.0.7",
116
116
  "micromustache": "8.0.3",
117
117
  "mime-types": "2.1.35",
118
118
  "minimatch": "10.0.1",
119
- "mnemonist": "0.39.8",
119
+ "mnemonist": "0.40.3",
120
120
  "ms": "2.1.3",
121
- "nanoid": "5.0.9",
121
+ "nanoid": "5.1.2",
122
122
  "node-machine-id": "1.1.12",
123
123
  "node-schedule": "2.1.1",
124
- "nodemailer": "6.9.16",
124
+ "nodemailer": "6.10.0",
125
125
  "object-hash": "3.0.0",
126
126
  "openapi3-ts": "4.4.0",
127
127
  "openid-client": "5.7.1",
128
- "ora": "8.1.1",
128
+ "ora": "8.2.0",
129
129
  "otplib": "12.0.1",
130
130
  "p-limit": "6.2.0",
131
- "p-queue": "8.0.1",
132
- "papaparse": "5.4.1",
131
+ "p-queue": "8.1.0",
132
+ "papaparse": "5.5.2",
133
133
  "pino": "9.6.0",
134
- "pino-http": "10.3.0",
134
+ "pino-http": "10.4.0",
135
135
  "pino-http-print": "3.1.0",
136
136
  "pino-pretty": "13.0.0",
137
137
  "pm2": "5.4.3",
138
138
  "prom-client": "15.1.3",
139
- "qs": "6.13.1",
140
- "rate-limiter-flexible": "5.0.4",
141
- "rollup": "4.30.1",
139
+ "qs": "6.14.0",
140
+ "rate-limiter-flexible": "5.0.5",
141
+ "rollup": "4.34.9",
142
142
  "samlify": "2.8.10",
143
143
  "sanitize-html": "2.14.0",
144
144
  "sharp": "0.33.5",
145
145
  "snappy": "7.2.2",
146
146
  "stream-json": "1.9.1",
147
147
  "tar": "7.4.3",
148
- "tsx": "4.19.2",
148
+ "tsx": "4.19.3",
149
149
  "wellknown": "0.5.0",
150
- "ws": "8.18.0",
151
- "zod": "3.24.1",
150
+ "ws": "8.18.1",
151
+ "zod": "3.24.2",
152
152
  "zod-validation-error": "3.4.0",
153
- "@directus/constants": "13.0.0",
154
- "@directus/app": "13.7.0",
155
- "@directus/env": "5.0.1",
156
- "@directus/errors": "2.0.0",
157
- "@directus/extensions": "3.0.2",
158
- "@directus/extensions-sdk": "13.0.2",
159
- "@directus/format-title": "12.0.0",
160
- "@directus/memory": "3.0.1",
161
- "@directus/pressure": "3.0.1",
162
- "@directus/extensions-registry": "3.0.2",
153
+ "@directus/app": "13.8.0",
154
+ "@directus/constants": "13.0.1",
155
+ "@directus/errors": "2.0.1",
156
+ "@directus/env": "5.0.3",
157
+ "@directus/extensions": "3.0.4",
158
+ "@directus/extensions-sdk": "13.0.4",
159
+ "@directus/format-title": "12.0.1",
160
+ "@directus/memory": "3.0.3",
161
+ "@directus/pressure": "3.0.3",
162
+ "@directus/extensions-registry": "3.0.4",
163
163
  "@directus/storage": "12.0.0",
164
- "@directus/schema": "13.0.0",
164
+ "@directus/storage-driver-azure": "12.0.3",
165
+ "@directus/schema": "13.0.1",
165
166
  "@directus/specs": "11.1.0",
166
- "@directus/storage-driver-azure": "12.0.1",
167
- "@directus/storage-driver-gcs": "12.0.1",
168
- "@directus/storage-driver-cloudinary": "12.0.1",
167
+ "@directus/storage-driver-cloudinary": "12.0.3",
169
168
  "@directus/storage-driver-local": "12.0.0",
170
- "@directus/storage-driver-supabase": "3.0.1",
171
- "@directus/storage-driver-s3": "12.0.1",
172
- "@directus/system-data": "3.0.0",
173
- "@directus/utils": "13.0.1",
174
- "@directus/validation": "2.0.1",
175
- "directus": "11.5.0"
169
+ "@directus/storage-driver-s3": "12.0.3",
170
+ "@directus/storage-driver-gcs": "12.0.3",
171
+ "@directus/storage-driver-supabase": "3.0.3",
172
+ "@directus/utils": "13.0.3",
173
+ "@directus/system-data": "3.1.0",
174
+ "@directus/validation": "2.0.3",
175
+ "directus": "11.6.0"
176
176
  },
177
177
  "devDependencies": {
178
178
  "@directus/tsconfig": "3.0.0",
@@ -193,37 +193,37 @@
193
193
  "@types/inquirer": "9.0.7",
194
194
  "@types/js-yaml": "4.0.9",
195
195
  "@types/json2csv": "5.0.7",
196
- "@types/jsonwebtoken": "9.0.7",
196
+ "@types/jsonwebtoken": "9.0.9",
197
197
  "@types/ldapjs": "2.2.5",
198
198
  "@types/lodash-es": "4.17.12",
199
199
  "@types/mime-types": "2.1.4",
200
200
  "@types/ms": "2.1.0",
201
- "@types/node": "22.10.5",
201
+ "@types/node": "22.13.8",
202
202
  "@types/node-schedule": "2.1.7",
203
203
  "@types/nodemailer": "6.4.17",
204
204
  "@types/object-hash": "3.0.6",
205
205
  "@types/papaparse": "5.3.15",
206
- "@types/qs": "6.9.17",
206
+ "@types/qs": "6.9.18",
207
207
  "@types/sanitize-html": "2.13.0",
208
208
  "@types/stream-json": "1.7.8",
209
209
  "@types/wellknown": "0.5.8",
210
- "@types/ws": "8.5.13",
211
- "@vitest/coverage-v8": "2.1.8",
210
+ "@types/ws": "8.5.14",
211
+ "@vitest/coverage-v8": "2.1.9",
212
212
  "copyfiles": "2.4.1",
213
- "form-data": "4.0.1",
213
+ "form-data": "4.0.2",
214
214
  "get-port": "7.1.0",
215
215
  "knex-mock-client": "3.0.2",
216
- "typescript": "5.7.3",
216
+ "typescript": "5.8.2",
217
217
  "vitest": "2.1.9",
218
- "@directus/random": "2.0.0",
219
- "@directus/types": "13.0.0"
218
+ "@directus/random": "2.0.1",
219
+ "@directus/types": "13.1.0"
220
220
  },
221
221
  "optionalDependencies": {
222
222
  "@keyv/redis": "3.0.1",
223
223
  "mysql2": "3.12.0",
224
224
  "nodemailer-mailgun-transport": "2.1.5",
225
- "oracledb": "6.7.1",
226
- "pg": "8.13.1",
225
+ "oracledb": "6.8.0",
226
+ "pg": "8.13.3",
227
227
  "sqlite3": "5.1.7",
228
228
  "tedious": "18.6.1"
229
229
  },
@@ -1,8 +0,0 @@
1
- import type { Accountability, Permission } from '@directus/types';
2
- import type { Context } from '../types.js';
3
- export interface FetchDynamicVariableContext {
4
- accountability: Pick<Accountability, 'user' | 'role' | 'roles'>;
5
- policies: string[];
6
- permissions: Permission[];
7
- }
8
- export declare function fetchDynamicVariableContext(options: FetchDynamicVariableContext, context: Context): Promise<Record<string, any>>;