@directus/api 25.0.1 → 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 (115) 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 +8 -2
  65. package/dist/services/graphql/resolvers/get-collection-type.d.ts +3 -0
  66. package/dist/services/graphql/resolvers/get-collection-type.js +34 -0
  67. package/dist/services/graphql/resolvers/get-field-type.d.ts +3 -0
  68. package/dist/services/graphql/resolvers/get-field-type.js +51 -0
  69. package/dist/services/graphql/resolvers/get-relation-type.d.ts +3 -0
  70. package/dist/services/graphql/resolvers/get-relation-type.js +39 -0
  71. package/dist/services/graphql/resolvers/mutation.js +1 -1
  72. package/dist/services/graphql/resolvers/query.js +4 -4
  73. package/dist/services/graphql/resolvers/system-admin.d.ts +2 -2
  74. package/dist/services/graphql/resolvers/system-admin.js +207 -199
  75. package/dist/services/graphql/resolvers/system.d.ts +1 -7
  76. package/dist/services/graphql/resolvers/system.js +12 -113
  77. package/dist/services/graphql/schema/index.js +1 -1
  78. package/dist/services/graphql/schema/parse-query.d.ts +2 -2
  79. package/dist/services/graphql/schema/parse-query.js +6 -6
  80. package/dist/services/graphql/schema/read.d.ts +2 -2
  81. package/dist/services/graphql/schema/read.js +86 -2
  82. package/dist/services/graphql/schema-cache.d.ts +2 -2
  83. package/dist/services/graphql/schema-cache.js +1 -3
  84. package/dist/services/graphql/subscription.d.ts +3 -3
  85. package/dist/services/graphql/subscription.js +3 -3
  86. package/dist/services/graphql/utils/{aggrgate-query.d.ts → aggregate-query.d.ts} +2 -2
  87. package/dist/services/graphql/utils/{aggrgate-query.js → aggregate-query.js} +3 -3
  88. package/dist/services/items.d.ts +1 -0
  89. package/dist/services/items.js +30 -16
  90. package/dist/services/payload.d.ts +1 -0
  91. package/dist/services/payload.js +32 -17
  92. package/dist/services/shares.js +1 -1
  93. package/dist/services/specifications.js +10 -5
  94. package/dist/services/tus/lockers.d.ts +1 -1
  95. package/dist/services/tus/lockers.js +6 -5
  96. package/dist/services/tus/server.js +24 -0
  97. package/dist/services/users.js +1 -0
  98. package/dist/types/services.d.ts +2 -0
  99. package/dist/utils/apply-query.d.ts +1 -0
  100. package/dist/utils/apply-query.js +42 -31
  101. package/dist/utils/generate-hash.js +1 -1
  102. package/dist/utils/get-config-from-env.d.ts +6 -1
  103. package/dist/utils/get-config-from-env.js +16 -11
  104. package/dist/utils/get-graphql-type.js +3 -1
  105. package/dist/utils/is-login-redirect-allowed.js +2 -0
  106. package/dist/utils/redact-object.js +5 -1
  107. package/dist/utils/sanitize-query.d.ts +5 -2
  108. package/dist/utils/sanitize-query.js +34 -9
  109. package/dist/websocket/controllers/base.d.ts +2 -2
  110. package/dist/websocket/handlers/items.js +4 -4
  111. package/dist/websocket/handlers/subscribe.js +2 -2
  112. package/dist/websocket/messages.d.ts +7 -7
  113. package/dist/websocket/messages.js +1 -1
  114. package/package.json +60 -60
  115. package/dist/permissions/utils/fetch-dynamic-variable-context.d.ts +0 -8
@@ -35,7 +35,7 @@ export class ItemsHandler {
35
35
  const metaService = new MetaService({ schema, accountability });
36
36
  let result, meta;
37
37
  if (message.action === 'create') {
38
- const query = sanitizeQuery(message?.query ?? {}, accountability);
38
+ const query = await sanitizeQuery(message?.query ?? {}, schema, accountability);
39
39
  if (Array.isArray(message.data)) {
40
40
  const keys = await service.createMany(message.data);
41
41
  result = await service.readMany(keys, query);
@@ -46,7 +46,7 @@ export class ItemsHandler {
46
46
  }
47
47
  }
48
48
  if (message.action === 'read') {
49
- const query = sanitizeQuery(message.query ?? {}, accountability);
49
+ const query = await sanitizeQuery(message.query ?? {}, schema, accountability);
50
50
  if (message.id) {
51
51
  result = await service.readOne(message.id, query);
52
52
  }
@@ -62,7 +62,7 @@ export class ItemsHandler {
62
62
  meta = await metaService.getMetaForQuery(message.collection, query);
63
63
  }
64
64
  if (message.action === 'update') {
65
- const query = sanitizeQuery(message.query ?? {}, accountability);
65
+ const query = await sanitizeQuery(message.query ?? {}, schema, accountability);
66
66
  if (message.id) {
67
67
  const key = await service.updateOne(message.id, message.data);
68
68
  result = await service.readOne(key);
@@ -92,7 +92,7 @@ export class ItemsHandler {
92
92
  result = message.ids;
93
93
  }
94
94
  else if (message.query) {
95
- const query = sanitizeQuery(message.query, accountability);
95
+ const query = await sanitizeQuery(message.query, schema, accountability);
96
96
  result = await service.deleteByQuery(query);
97
97
  }
98
98
  else {
@@ -140,8 +140,8 @@ export class SubscribeHandler {
140
140
  if ('event' in message) {
141
141
  subscription.event = message.event;
142
142
  }
143
- if ('query' in message) {
144
- subscription.query = sanitizeQuery(message.query, accountability);
143
+ if (message.query) {
144
+ subscription.query = await sanitizeQuery(message.query, schema, accountability);
145
145
  }
146
146
  if ('item' in message)
147
147
  subscription.item = String(message.item);
@@ -150,7 +150,7 @@ export declare const WebSocketSubscribeMessage: z.ZodDiscriminatedUnion<"type",
150
150
  collection: z.ZodString;
151
151
  event: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"create">, z.ZodLiteral<"update">, z.ZodLiteral<"delete">]>>;
152
152
  item: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
153
- query: z.ZodOptional<z.ZodType<Query, z.ZodTypeDef, Query>>;
153
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
154
154
  }>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{
155
155
  type: z.ZodString;
156
156
  uid: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
@@ -159,7 +159,7 @@ export declare const WebSocketSubscribeMessage: z.ZodDiscriminatedUnion<"type",
159
159
  collection: z.ZodString;
160
160
  event: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"create">, z.ZodLiteral<"update">, z.ZodLiteral<"delete">]>>;
161
161
  item: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
162
- query: z.ZodOptional<z.ZodType<Query, z.ZodTypeDef, Query>>;
162
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
163
163
  }>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{
164
164
  type: z.ZodString;
165
165
  uid: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
@@ -168,7 +168,7 @@ export declare const WebSocketSubscribeMessage: z.ZodDiscriminatedUnion<"type",
168
168
  collection: z.ZodString;
169
169
  event: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"create">, z.ZodLiteral<"update">, z.ZodLiteral<"delete">]>>;
170
170
  item: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
171
- query: z.ZodOptional<z.ZodType<Query, z.ZodTypeDef, Query>>;
171
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
172
172
  }>, z.ZodTypeAny, "passthrough">>, z.ZodObject<z.objectUtil.extendShape<{
173
173
  type: z.ZodString;
174
174
  uid: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
@@ -336,13 +336,13 @@ export declare const WebSocketEvent: z.ZodDiscriminatedUnion<"action", [z.ZodObj
336
336
  keys: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">;
337
337
  }, "strip", z.ZodTypeAny, {
338
338
  collection: string;
339
- action: "update";
340
339
  keys: (string | number)[];
340
+ action: "update";
341
341
  payload?: Record<string, any> | undefined;
342
342
  }, {
343
343
  collection: string;
344
- action: "update";
345
344
  keys: (string | number)[];
345
+ action: "update";
346
346
  payload?: Record<string, any> | undefined;
347
347
  }>, z.ZodObject<{
348
348
  action: z.ZodLiteral<"delete">;
@@ -351,13 +351,13 @@ export declare const WebSocketEvent: z.ZodDiscriminatedUnion<"action", [z.ZodObj
351
351
  keys: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">;
352
352
  }, "strip", z.ZodTypeAny, {
353
353
  collection: string;
354
- action: "delete";
355
354
  keys: (string | number)[];
355
+ action: "delete";
356
356
  payload?: Record<string, any> | undefined;
357
357
  }, {
358
358
  collection: string;
359
- action: "delete";
360
359
  keys: (string | number)[];
360
+ action: "delete";
361
361
  payload?: Record<string, any> | undefined;
362
362
  }>]>;
363
363
  export type WebSocketEvent = z.infer<typeof WebSocketEvent>;
@@ -35,7 +35,7 @@ export const WebSocketSubscribeMessage = z.discriminatedUnion('type', [
35
35
  collection: z.string(),
36
36
  event: z.union([z.literal('create'), z.literal('update'), z.literal('delete')]).optional(),
37
37
  item: zodStringOrNumber.optional(),
38
- query: z.custom().optional(),
38
+ query: z.record(z.any()).optional(),
39
39
  }),
40
40
  WebSocketMessage.extend({
41
41
  type: z.literal('unsubscribe'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@directus/api",
3
- "version": "25.0.1",
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/env": "5.0.2",
154
- "@directus/constants": "13.0.0",
155
- "@directus/errors": "2.0.0",
156
- "@directus/app": "13.7.1",
157
- "@directus/extensions-sdk": "13.0.3",
158
- "@directus/extensions": "3.0.3",
159
- "@directus/format-title": "12.0.0",
160
- "@directus/extensions-registry": "3.0.3",
161
- "@directus/pressure": "3.0.2",
162
- "@directus/memory": "3.0.2",
163
- "@directus/schema": "13.0.0",
164
- "@directus/specs": "11.1.0",
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",
165
163
  "@directus/storage": "12.0.0",
166
- "@directus/storage-driver-azure": "12.0.2",
167
- "@directus/storage-driver-cloudinary": "12.0.2",
168
- "@directus/storage-driver-gcs": "12.0.2",
169
- "@directus/storage-driver-s3": "12.0.2",
170
- "@directus/storage-driver-supabase": "3.0.2",
171
- "@directus/system-data": "3.0.1",
172
- "@directus/utils": "13.0.2",
173
- "@directus/validation": "2.0.2",
174
- "directus": "11.5.1",
175
- "@directus/storage-driver-local": "12.0.0"
164
+ "@directus/storage-driver-azure": "12.0.3",
165
+ "@directus/schema": "13.0.1",
166
+ "@directus/specs": "11.1.0",
167
+ "@directus/storage-driver-cloudinary": "12.0.3",
168
+ "@directus/storage-driver-local": "12.0.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>>;