@directus/api 32.2.0 → 33.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.
- package/dist/ai/chat/lib/create-ui-stream.d.ts +1 -1
- package/dist/ai/tools/assets/index.js +1 -1
- package/dist/ai/tools/collections/index.js +2 -2
- package/dist/ai/tools/fields/index.js +2 -2
- package/dist/ai/tools/files/index.js +1 -1
- package/dist/ai/tools/flows/index.js +1 -1
- package/dist/ai/tools/folders/index.js +1 -1
- package/dist/ai/tools/items/index.js +2 -2
- package/dist/ai/tools/relations/index.js +1 -1
- package/dist/ai/tools/trigger-flow/index.js +1 -1
- package/dist/app.js +8 -8
- package/dist/auth/drivers/ldap.js +2 -2
- package/dist/auth/drivers/local.js +1 -1
- package/dist/auth/drivers/oauth2.d.ts +1 -2
- package/dist/auth/drivers/oauth2.js +22 -17
- package/dist/auth/drivers/openid.d.ts +1 -2
- package/dist/auth/drivers/openid.js +18 -13
- package/dist/auth/drivers/saml.js +3 -3
- package/dist/auth/utils/generate-callback-url.d.ts +11 -0
- package/dist/auth/utils/generate-callback-url.js +40 -0
- package/dist/auth/utils/is-login-redirect-allowed.d.ts +7 -0
- package/dist/{utils → auth/utils}/is-login-redirect-allowed.js +12 -9
- package/dist/cache.js +2 -2
- package/dist/cli/commands/bootstrap/index.js +2 -2
- package/dist/cli/commands/database/install.js +1 -1
- package/dist/cli/commands/database/migrate.js +1 -1
- package/dist/cli/commands/init/index.js +2 -2
- package/dist/cli/commands/roles/create.js +4 -4
- package/dist/cli/commands/schema/apply.js +3 -3
- package/dist/cli/commands/schema/snapshot.js +1 -1
- package/dist/cli/utils/create-db-connection.d.ts +1 -1
- package/dist/cli/utils/create-db-connection.js +1 -1
- package/dist/cli/utils/create-env/index.js +1 -1
- package/dist/constants.d.ts +7 -3
- package/dist/constants.js +7 -3
- package/dist/controllers/access.js +1 -1
- package/dist/controllers/assets.js +1 -1
- package/dist/controllers/extensions.js +1 -1
- package/dist/controllers/fields.js +2 -2
- package/dist/controllers/files.js +1 -1
- package/dist/controllers/items.js +1 -1
- package/dist/controllers/not-found.js +1 -1
- package/dist/controllers/relations.js +1 -1
- package/dist/database/errors/dialects/mysql.d.ts +1 -1
- package/dist/database/errors/dialects/postgres.d.ts +1 -1
- package/dist/database/errors/dialects/sqlite.d.ts +1 -1
- package/dist/database/errors/translate.d.ts +1 -1
- package/dist/database/errors/translate.js +1 -1
- package/dist/database/helpers/date/dialects/mssql.js +1 -1
- package/dist/database/helpers/date/dialects/mysql.js +1 -1
- package/dist/database/helpers/date/types.js +1 -1
- package/dist/database/helpers/schema/dialects/cockroachdb.d.ts +1 -0
- package/dist/database/helpers/schema/dialects/cockroachdb.js +24 -1
- package/dist/database/helpers/schema/dialects/mssql.d.ts +1 -1
- package/dist/database/helpers/schema/dialects/mysql.d.ts +2 -1
- package/dist/database/helpers/schema/dialects/mysql.js +16 -3
- package/dist/database/helpers/schema/dialects/postgres.d.ts +1 -1
- package/dist/database/helpers/schema/types.d.ts +13 -0
- package/dist/database/helpers/schema/types.js +24 -0
- package/dist/database/index.js +4 -4
- package/dist/database/migrations/20220429A-add-flows.js +1 -1
- package/dist/database/migrations/20230526A-migrate-translation-strings.js +1 -1
- package/dist/database/migrations/20231009A-update-csv-fields-to-text.js +1 -1
- package/dist/database/migrations/20240204A-marketplace.js +9 -7
- package/dist/database/migrations/20240311A-deprecate-webhooks.d.ts +15 -0
- package/dist/database/migrations/20240311A-deprecate-webhooks.js +1 -1
- package/dist/database/migrations/20240806A-permissions-policies.js +2 -2
- package/dist/database/migrations/20240924A-migrate-legacy-comments.js +1 -1
- package/dist/database/migrations/20251014A-add-project-owner.js +1 -1
- package/dist/database/migrations/20251224A-remove-webhooks.d.ts +3 -0
- package/dist/database/migrations/20251224A-remove-webhooks.js +19 -0
- package/dist/database/migrations/20260113A-add-revisions-index.d.ts +3 -0
- package/dist/database/migrations/20260113A-add-revisions-index.js +41 -0
- package/dist/database/migrations/run.js +3 -3
- package/dist/database/run-ast/lib/apply-query/filter/get-filter-type.d.ts +2 -2
- package/dist/database/run-ast/lib/apply-query/filter/get-filter-type.js +1 -1
- package/dist/database/run-ast/lib/apply-query/filter/operator.js +1 -1
- package/dist/database/run-ast/lib/apply-query/sort.js +1 -1
- package/dist/database/run-ast/utils/get-column-pre-processor.js +2 -2
- package/dist/database/run-ast/utils/get-column.js +1 -1
- package/dist/database/seeds/run.js +3 -3
- package/dist/extensions/lib/get-extensions-path.js +1 -1
- package/dist/extensions/lib/get-extensions-settings.js +1 -1
- package/dist/extensions/lib/get-extensions.js +1 -1
- package/dist/extensions/lib/get-shared-deps-mapping.js +3 -3
- package/dist/extensions/lib/installation/manager.js +3 -3
- package/dist/extensions/lib/sandbox/register/route.d.ts +1 -1
- package/dist/extensions/lib/sync/status.js +1 -1
- package/dist/extensions/lib/sync/sync.js +7 -7
- package/dist/extensions/lib/sync/utils.js +2 -2
- package/dist/extensions/manager.d.ts +1 -1
- package/dist/extensions/manager.js +8 -8
- package/dist/flows.d.ts +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/logs-stream.d.ts +1 -1
- package/dist/logger/logs-stream.js +1 -1
- package/dist/mailer.js +1 -1
- package/dist/metrics/lib/create-metrics.js +2 -2
- package/dist/middleware/authenticate.js +3 -3
- package/dist/middleware/collection-exists.js +1 -1
- package/dist/middleware/extract-token.js +1 -1
- package/dist/middleware/graphql.js +2 -2
- package/dist/middleware/validate-batch.js +1 -1
- package/dist/operations/exec/index.js +2 -1
- package/dist/operations/mail/index.js +1 -1
- package/dist/operations/mail/rate-limiter.js +2 -2
- package/dist/permissions/cache.js +5 -0
- package/dist/permissions/modules/fetch-allowed-collections/fetch-allowed-collections.js +1 -1
- package/dist/permissions/modules/fetch-allowed-field-map/fetch-allowed-field-map.js +1 -1
- package/dist/permissions/modules/fetch-inconsistent-field-map/fetch-inconsistent-field-map.js +2 -2
- package/dist/permissions/modules/process-ast/lib/inject-cases.js +1 -1
- package/dist/permissions/modules/process-ast/process-ast.js +1 -1
- package/dist/permissions/modules/process-payload/process-payload.js +1 -1
- package/dist/permissions/modules/validate-access/lib/validate-item-access.d.ts +13 -1
- package/dist/permissions/modules/validate-access/lib/validate-item-access.js +54 -6
- package/dist/permissions/modules/validate-access/validate-access.js +3 -2
- package/dist/rate-limiter.js +1 -1
- package/dist/request/is-denied-ip.js +1 -1
- package/dist/schedules/project.js +1 -1
- package/dist/schedules/telemetry.js +1 -1
- package/dist/schedules/tus.js +1 -1
- package/dist/server.js +4 -4
- package/dist/services/assets.d.ts +2 -1
- package/dist/services/assets.js +35 -8
- package/dist/services/authentication.js +2 -2
- package/dist/services/collections.js +1 -1
- package/dist/services/extensions.d.ts +1 -1
- package/dist/services/files/utils/get-metadata.d.ts +1 -1
- package/dist/services/files/utils/get-metadata.js +1 -1
- package/dist/services/files.d.ts +1 -1
- package/dist/services/files.js +4 -4
- package/dist/services/graphql/index.d.ts +1 -1
- package/dist/services/graphql/index.js +1 -1
- package/dist/services/graphql/resolvers/mutation.js +1 -1
- package/dist/services/graphql/schema/get-types.d.ts +1 -1
- package/dist/services/graphql/schema/read.js +1 -1
- package/dist/services/graphql/subscription.d.ts +1 -1
- package/dist/services/graphql/types/date.js +1 -1
- package/dist/services/graphql/types/hash.js +1 -1
- package/dist/services/graphql/utils/add-path-to-validation-error.js +1 -1
- package/dist/services/import-export.d.ts +1 -1
- package/dist/services/import-export.js +2 -2
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.js +0 -1
- package/dist/services/mail/index.js +2 -2
- package/dist/services/mail/rate-limiter.js +2 -2
- package/dist/services/payload.js +2 -2
- package/dist/services/schema.js +1 -1
- package/dist/services/server.js +12 -4
- package/dist/services/settings.js +2 -2
- package/dist/services/tfa.js +1 -1
- package/dist/services/translations.js +1 -1
- package/dist/services/tus/data-store.d.ts +1 -3
- package/dist/services/tus/data-store.js +2 -5
- package/dist/services/tus/server.js +6 -6
- package/dist/services/users.js +4 -4
- package/dist/services/versions.js +1 -1
- package/dist/telemetry/lib/send-report.d.ts +1 -1
- package/dist/telemetry/lib/send-report.js +1 -1
- package/dist/telemetry/lib/track.js +1 -1
- package/dist/test-utils/knex.js +1 -1
- package/dist/types/collection.d.ts +1 -1
- package/dist/utils/async-handler.d.ts +1 -1
- package/dist/utils/calculate-field-depth.js +1 -1
- package/dist/utils/compress.js +1 -1
- package/dist/utils/deep-map-response.js +2 -2
- package/dist/utils/get-cache-key.js +1 -1
- package/dist/utils/get-field-system-rows.js +1 -1
- package/dist/utils/get-ip-from-req.d.ts +1 -1
- package/dist/utils/get-ip-from-req.js +1 -1
- package/dist/utils/get-local-type.js +7 -3
- package/dist/utils/get-service.js +1 -3
- package/dist/utils/get-snapshot-diff.js +1 -1
- package/dist/utils/is-url-allowed.js +1 -1
- package/dist/utils/jwt.js +1 -1
- package/dist/utils/sanitize-schema.d.ts +1 -1
- package/dist/utils/should-clear-cache.d.ts +1 -1
- package/dist/utils/should-skip-cache.js +2 -2
- package/dist/utils/validate-diff.js +1 -1
- package/dist/utils/validate-snapshot.js +3 -3
- package/dist/utils/validate-storage.js +2 -2
- package/dist/utils/verify-session-jwt.js +1 -1
- package/dist/utils/versioning/deep-map-with-schema.js +2 -2
- package/dist/websocket/controllers/base.d.ts +2 -2
- package/dist/websocket/controllers/base.js +3 -3
- package/dist/websocket/controllers/graphql.d.ts +1 -1
- package/dist/websocket/controllers/graphql.js +1 -1
- package/dist/websocket/controllers/logs.d.ts +1 -1
- package/dist/websocket/controllers/rest.d.ts +1 -1
- package/dist/websocket/controllers/rest.js +2 -2
- package/dist/websocket/handlers/heartbeat.js +1 -1
- package/dist/websocket/handlers/items.js +2 -2
- package/dist/websocket/handlers/subscribe.js +1 -1
- package/dist/websocket/types.d.ts +1 -1
- package/dist/websocket/utils/wait-for-message.js +1 -1
- package/package.json +24 -24
- package/dist/controllers/webhooks.d.ts +0 -2
- package/dist/controllers/webhooks.js +0 -74
- package/dist/services/webhooks.d.ts +0 -14
- package/dist/services/webhooks.js +0 -32
- package/dist/utils/is-login-redirect-allowed.d.ts +0 -4
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ErrorCode, createError } from '@directus/errors';
|
|
2
|
-
import express from 'express';
|
|
3
|
-
import { respond } from '../middleware/respond.js';
|
|
4
|
-
import useCollection from '../middleware/use-collection.js';
|
|
5
|
-
import { validateBatch } from '../middleware/validate-batch.js';
|
|
6
|
-
import { MetaService } from '../services/meta.js';
|
|
7
|
-
import { WebhooksService } from '../services/webhooks.js';
|
|
8
|
-
import asyncHandler from '../utils/async-handler.js';
|
|
9
|
-
import { sanitizeQuery } from '../utils/sanitize-query.js';
|
|
10
|
-
const router = express.Router();
|
|
11
|
-
router.use(useCollection('directus_webhooks'));
|
|
12
|
-
router.post('/', asyncHandler(async (_req, _res, _next) => {
|
|
13
|
-
// Disallow creation of new Webhooks as part of the deprecation, see https://github.com/directus/directus/issues/15553
|
|
14
|
-
throw new (createError(ErrorCode.MethodNotAllowed, 'Webhooks are deprecated, use Flows instead', 405))();
|
|
15
|
-
}), respond);
|
|
16
|
-
const readHandler = asyncHandler(async (req, res, next) => {
|
|
17
|
-
const service = new WebhooksService({
|
|
18
|
-
accountability: req.accountability,
|
|
19
|
-
schema: req.schema,
|
|
20
|
-
});
|
|
21
|
-
const metaService = new MetaService({
|
|
22
|
-
accountability: req.accountability,
|
|
23
|
-
schema: req.schema,
|
|
24
|
-
});
|
|
25
|
-
const records = await service.readByQuery(req.sanitizedQuery);
|
|
26
|
-
const meta = await metaService.getMetaForQuery(req.collection, req.sanitizedQuery);
|
|
27
|
-
res.locals['payload'] = { data: records || null, meta };
|
|
28
|
-
return next();
|
|
29
|
-
});
|
|
30
|
-
router.get('/', validateBatch('read'), readHandler, respond);
|
|
31
|
-
router.search('/', validateBatch('read'), readHandler, respond);
|
|
32
|
-
router.get('/:pk', asyncHandler(async (req, res, next) => {
|
|
33
|
-
const service = new WebhooksService({
|
|
34
|
-
accountability: req.accountability,
|
|
35
|
-
schema: req.schema,
|
|
36
|
-
});
|
|
37
|
-
const record = await service.readOne(req.params['pk'], req.sanitizedQuery);
|
|
38
|
-
res.locals['payload'] = { data: record || null };
|
|
39
|
-
return next();
|
|
40
|
-
}), respond);
|
|
41
|
-
router.patch('/', validateBatch('update'), asyncHandler(async (_req, _res, _next) => {
|
|
42
|
-
// Disallow patching of Webhooks as part of the deprecation, see https://github.com/directus/directus/issues/15553
|
|
43
|
-
throw new (createError(ErrorCode.MethodNotAllowed, 'Webhooks are deprecated, use Flows instead', 405))();
|
|
44
|
-
}), respond);
|
|
45
|
-
router.patch('/:pk', asyncHandler(async (_req, _res, _next) => {
|
|
46
|
-
// Disallow patching of Webhooks as part of the deprecation, see https://github.com/directus/directus/issues/15553
|
|
47
|
-
throw new (createError(ErrorCode.MethodNotAllowed, 'Webhooks are deprecated, use Flows instead', 405))();
|
|
48
|
-
}), respond);
|
|
49
|
-
router.delete('/', asyncHandler(async (req, _res, next) => {
|
|
50
|
-
const service = new WebhooksService({
|
|
51
|
-
accountability: req.accountability,
|
|
52
|
-
schema: req.schema,
|
|
53
|
-
});
|
|
54
|
-
if (Array.isArray(req.body)) {
|
|
55
|
-
await service.deleteMany(req.body);
|
|
56
|
-
}
|
|
57
|
-
else if (req.body.keys) {
|
|
58
|
-
await service.deleteMany(req.body.keys);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const sanitizedQuery = await sanitizeQuery(req.body.query, req.schema, req.accountability);
|
|
62
|
-
await service.deleteByQuery(sanitizedQuery);
|
|
63
|
-
}
|
|
64
|
-
return next();
|
|
65
|
-
}), respond);
|
|
66
|
-
router.delete('/:pk', asyncHandler(async (req, _res, next) => {
|
|
67
|
-
const service = new WebhooksService({
|
|
68
|
-
accountability: req.accountability,
|
|
69
|
-
schema: req.schema,
|
|
70
|
-
});
|
|
71
|
-
await service.deleteOne(req.params['pk']);
|
|
72
|
-
return next();
|
|
73
|
-
}), respond);
|
|
74
|
-
export default router;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type DirectusError } from '@directus/errors';
|
|
2
|
-
import type { Bus } from '@directus/memory';
|
|
3
|
-
import type { AbstractServiceOptions, MutationOptions, PrimaryKey, Webhook } from '@directus/types';
|
|
4
|
-
import { ItemsService } from './items.js';
|
|
5
|
-
export declare class WebhooksService extends ItemsService<Webhook> {
|
|
6
|
-
messenger: Bus;
|
|
7
|
-
errorDeprecation: DirectusError;
|
|
8
|
-
constructor(options: AbstractServiceOptions);
|
|
9
|
-
createOne(): Promise<PrimaryKey>;
|
|
10
|
-
createMany(): Promise<PrimaryKey[]>;
|
|
11
|
-
updateBatch(): Promise<PrimaryKey[]>;
|
|
12
|
-
updateMany(): Promise<PrimaryKey[]>;
|
|
13
|
-
deleteMany(keys: PrimaryKey[], opts?: MutationOptions): Promise<PrimaryKey[]>;
|
|
14
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ErrorCode, createError } from '@directus/errors';
|
|
2
|
-
import { useBus } from '../bus/index.js';
|
|
3
|
-
import { useLogger } from '../logger/index.js';
|
|
4
|
-
import { ItemsService } from './items.js';
|
|
5
|
-
const logger = useLogger();
|
|
6
|
-
export class WebhooksService extends ItemsService {
|
|
7
|
-
messenger;
|
|
8
|
-
errorDeprecation;
|
|
9
|
-
constructor(options) {
|
|
10
|
-
super('directus_webhooks', options);
|
|
11
|
-
this.messenger = useBus();
|
|
12
|
-
this.errorDeprecation = new (createError(ErrorCode.MethodNotAllowed, 'Webhooks are deprecated, use Flows instead', 405))();
|
|
13
|
-
logger.warn('Webhooks are deprecated and the WebhooksService will be removed in an upcoming release. Creating/Updating Webhooks is disabled, use Flows instead');
|
|
14
|
-
}
|
|
15
|
-
async createOne() {
|
|
16
|
-
throw this.errorDeprecation;
|
|
17
|
-
}
|
|
18
|
-
async createMany() {
|
|
19
|
-
throw this.errorDeprecation;
|
|
20
|
-
}
|
|
21
|
-
async updateBatch() {
|
|
22
|
-
throw this.errorDeprecation;
|
|
23
|
-
}
|
|
24
|
-
async updateMany() {
|
|
25
|
-
throw this.errorDeprecation;
|
|
26
|
-
}
|
|
27
|
-
async deleteMany(keys, opts) {
|
|
28
|
-
const result = await super.deleteMany(keys, opts);
|
|
29
|
-
this.messenger.publish('webhooks', { type: 'reload' });
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
}
|