Commit Graph

2982 Commits

Author SHA1 Message Date
Rijk van Zanten
0d6c6b90b0 v10.11.0 2024-05-07 18:01:38 -04:00
Daniel Biegler
c893b9fa65 Add public registration (#22125)
* WIP: add new register dummy-route

* fix notice on register route

* WIP register form

* WIP: registering ui and controller for testing

* fix lint ordering problem

* wip: users service

* add migration, initial style for fields in settings

* redo how emails will be filtered

* WIP add filter in the register handler

* conditionally render register link depending on settings

* WIP: add email validation

* wip add email sending

* make clicking the email link work

* rm console log

* update controller

* dont send emails for existing emails

* add translation

* only show register link when unauthenticated

* add different redirects

* only allow selecting non-admin roles

* redirect to users page

* update translation

* move logic from controller to usersservice

* rm remnant of logic from controller

* add stall time to registration

* update translation

* rm comments

* rm unused var

* add changeset

* update translation for success

* remove sso related stuff from registration

* also allow setting first and last name

* update error check

* add @directus/errors to app

* replace error strings with enum

* rename to public_registration

* rename to public_registration_verify_email

* add notes to fields

* add types package to changeset

* dont stall if no work is being done

* allow null-role and resending of reg. email

* add public registration env vars, rm RATE_LIMITER_GLOBAL_STORE

RATE_LIMITER_GLOBAL_STORE wasnt being used. Lets just stick to RATE_LIMITER_STORE for all rate limiters. TODO: also remove from docs!

* use ratelimiter for registration, use stall time env var

* add registration limiter docs, rm global store variable from docs

* update changeset

* add ignore-notice

Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>

* use and document new `EMAIL_VERIFICATION_TOKEN_TTL`, also doc `REGISTER_STALL_TIME`

* change variable name

Co-authored-by: ian <licitdev@gmail.com>

* apply variable rename to usage

* change backticks to single quote

Co-authored-by: ian <licitdev@gmail.com>

* inline variables

* add fields to server info, update types

- The other ratelimiters also expose points and duration, done
- Add `public_registration_verify_email` so that we can render different success messages

* tiny wording tweak of registration mail

* add new user status 'unverified' and check for it

* add unverified status translation

* decouple email verification and validation

* enable register rate limiter by default and up its config

* add autocomplete=new-password on the registration form

* added sdk functions

* add gql query for new fields

* added register api reference

* updated verify sdk function name

* added reference block for email verify endpoint

* updated reference examples

* WIP: add gql resolvers

* add ratelimiter to mutation

* remove ratelimiter registration point+duration info

* rm points and duration from gql

* Update docs/reference/system/users.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

---------

Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-05-07 23:20:24 +02:00
Hannes Küttner
1d7e0b7160 Fix bundle (re-)loading (#22013)
* Fix bundle (re-)loading (fixes #21942 and #21946)

* Add changeset

* Use .some instead of .find for checking existance

* Fix names

* Cleanup

* Add comments

* Update changeset

* moved out type check

* Clearer params, fix bundle check

* Use enabled state from parent

* Clarify changeset

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>
2024-05-07 14:42:23 +00:00
Pascal Jufer
b7135fdf64 Fix handling of invalid and empty filter queries (#22048)
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
2024-05-07 15:47:58 +02:00
dependabot[bot]
78546678d0 Bump tsx from 4.9.0 to 4.9.3 (#22407)
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.9.0 to 4.9.3.
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.9.0...v4.9.3)

---
updated-dependencies:
- dependency-name: tsx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-07 13:20:05 +02:00
Pascal Jufer
537d7f1e36 Revert "Consolidate content versioning (#22227)" (#22412)
This reverts commit 5a258dd406.
2024-05-07 17:25:19 +08:00
ian
5a258dd406 Consolidate content versioning (#22227)
* Add migration

* Use the new delta field

* Add cast-json flag

* Fix typing

* Fetch existing deltas if version created during migration

* Add changeset

* Add version delta field into sdk schema
2024-05-06 21:02:23 +02:00
Rijk van Zanten
ec2604f913 Don't require KEY or SECRET to be set on startup (#22320)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-05-06 13:00:10 +00:00
Pascal Jufer
cf83f33939 Patch Tuesday 🐸 (Light Edition) (#22376) 2024-05-03 11:19:23 +02:00
dependabot[bot]
a50460c005 Bump @types/nodemailer from 6.4.14 to 6.4.15 (#22368)
Bumps [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer) from 6.4.14 to 6.4.15.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer)

---
updated-dependencies:
- dependency-name: "@types/nodemailer"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-03 02:31:50 +02:00
Brainslug
e70a90c267 Improved values redacting (#22332)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-05-02 14:54:16 +02:00
Brainslug
a6172f8a6a Improved session token validation (#22353)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-05-02 14:53:41 +02:00
Hannes Küttner
d10385d303 Fix large and real numbers in search query (#22345)
* Add db search helper

* Use raw query for redshift

* Fix SQL injection possibility

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* WIP fix for MS SQL

* Improved big int support and value limit checking

* prettier

* updated for failing test

* Added missing lower bound

* Add missing lower bound at another place

* Rewrite helpers for postgres

* updated constants

* extracted utils

* updated types

* prettier

* renamed searchhelper to numberhelper and extracted parseNumericString util

* moved constants up the tree

* moved constants and types to packages

* prettier

* Add type guard for numeric field

* Fix import - so much for auto imports...

* Use isIn helper

* Drop implementation specific test

* Remove temporary vite file

* Move parseNumericString to its own file

* Rename orWhere

* Fix wrong type

* Fix test after merge

* Change constants import location

* updated postgres valid condition

* Added same stringify logic for oracle

* Add helper for sqlite and catch big int parsing error

* Add curly brackets and redundant catch argument

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
2024-04-30 17:22:53 +02:00
ian
df254cc093 Add falsy fallback condition to search query (#22342)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
2024-04-30 11:02:57 +02:00
Pascal Jufer
160b982928 Patch Tuesday 🐸 (#22063)
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
2024-04-30 10:49:20 +02:00
Pascal Jufer
a3051b3de4 Downgrade samlify to fix issue with allowCreate attribute (#22340) 2024-04-30 09:39:17 +02:00
Pascal Jufer
4b75c375df Client-side restart of failed transactions on CockroachDB (#22240) 2024-04-25 14:19:17 +02:00
Pascal Jufer
4fe4c6e988 Fix filter validation for field functions (#22060)
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
2024-04-24 16:10:04 +00:00
Hannes Küttner
bc3f698851 Fix count helper function for self-referencing relations (#22297)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-24 14:07:18 +02:00
Hannes Küttner
7c08452305 Fix ambiguous column SQL error for M2A relations (#22262) 2024-04-19 23:05:48 +02:00
Hannes Küttner
c5fe153c62 Fix caching for marketplace account / type extension listing (#22254)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-19 12:20:46 +00:00
Rijk van Zanten
98589cca6d v10.10.7 2024-04-17 17:09:17 -04:00
José Varela
476a2482ad Api: Clear system cache only if specified on /utils/cache/clear (#22234)
* Clear system cache only if specified

* Add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2024-04-17 17:07:10 -04:00
Rijk van Zanten
be895926ef Revert "Don't influence Cache-Control through CACHE_AUTO_PURGE" (#22235)
* Revert "Don't influence Cache-Control through `CACHE_AUTO_PURGE` (#22203)"

This reverts commit 12fb7719fe.

* Add changeset
2024-04-17 17:01:09 -04:00
José Varela
4bb03df6da Api: Bubble up the error to prevent unhandledRejection (#22231)
* Bubble up the error to prevent `unhandledRejection`

* Add changeset

* Remove unused async context

* Catch callback errors

Just in the off chance the bus.publish will throw an error

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2024-04-17 16:00:20 -04:00
José Varela
bf47a19428 API: Prevent endless loop on get-schema (#22230)
* Prevent endless loop on `get-schema`

* Make magic value configurable

* Fix linter warning

* Add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2024-04-17 15:50:27 -04:00
Brainslug
9aa4e703b2 v10.10.6 2024-04-17 17:37:11 +02:00
dependabot[bot]
549bfb641e Bump openapi3-ts from 4.2.2 to 4.3.1 (#22217)
Bumps [openapi3-ts](https://github.com/metadevpro/openapi3-ts) from 4.2.2 to 4.3.1.
- [Release notes](https://github.com/metadevpro/openapi3-ts/releases)
- [Changelog](https://github.com/metadevpro/openapi3-ts/blob/master/Changelog.md)
- [Commits](https://github.com/metadevpro/openapi3-ts/commits)

---
updated-dependencies:
- dependency-name: openapi3-ts
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 08:10:44 +02:00
Hannes Küttner
12fb7719fe Don't influence Cache-Control through CACHE_AUTO_PURGE (#22203)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-16 09:55:41 +00:00
Rijk van Zanten
577f08e5f5 Remove nested transactions (#22023)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2024-04-16 10:13:33 +02:00
Pascal Jufer
6c35f43460 Fix nested queries with unlimited default limit (#22049)
* Fix nested queries with unlimited default limit

* Add changeset
2024-04-15 11:52:41 +02:00
José Varela
dfe6cca40b Api / Assets: Prevent backpressure on sending big files (#22175)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-15 08:29:57 +00:00
José Varela
75c03bdd99 Api / Graphql : Allow version as singleton argument on singleton (#22184)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-12 10:50:32 +00:00
Rijk van Zanten
58c1e308fc Tweak default email in init cli command email_from config (#22162)
* Change default email from in init .env to example.com

Directus's domain has a strict dmarc quarantine, so this will never work. Changing it to example should make it super obvious it's just an example.

* Add changeset
2024-04-10 11:45:17 -04:00
dependabot[bot]
91a029e893 Bump @aws-sdk/client-ses from 3.533.0 to 3.552.0 (#22150)
Bumps [@aws-sdk/client-ses](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ses) from 3.533.0 to 3.552.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ses/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.552.0/clients/client-ses)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ses"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 01:13:26 +00:00
dependabot[bot]
2581718f7b Bump nanoid from 5.0.6 to 5.0.7 (#22147)
Bumps [nanoid](https://github.com/ai/nanoid) from 5.0.6 to 5.0.7.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/5.0.6...5.0.7)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 03:07:23 +02:00
dependabot[bot]
107ae55a4d Bump axios from 1.6.7 to 1.6.8 (#22128)
Bumps [axios](https://github.com/axios/axios) from 1.6.7 to 1.6.8.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.7...v1.6.8)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-09 08:54:03 +02:00
Pascal Jufer
c9105eaead Use Item/PrimaryKey from and move Alterations to @directus/types (#22027)
Co-authored-by: ian <licitdev@gmail.com>
2024-04-08 10:12:26 +02:00
Rijk van Zanten
bd4b8b5949 v10.10.5 2024-04-03 15:47:12 -04:00
Rijk van Zanten
1ff4bf3330 Improve schema retrieval by caching the schema cache creation (#21824)
* Don't await non-async function

* Add process lock to system schema cache generation

* Add changeset

* Publish message on failure as well to release waiting process

* Update api/src/utils/get-schema.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update api/src/utils/get-schema.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Unsubscribe on callback

* Optimize db init

* Add timeout and infinite loop protection

* Reduce max attempts

* Clear timeout on callback

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-04-03 14:51:22 -04:00
dependabot[bot]
682afa0068 Bump nodemailer from 6.9.12 to 6.9.13 (#22057)
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.12 to 6.9.13.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.9.12...v6.9.13)

---
updated-dependencies:
- dependency-name: nodemailer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 08:11:51 +02:00
dependabot[bot]
1925393a69 Bump pg from 8.11.3 to 8.11.4 (#22044)
Bumps [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) from 8.11.3 to 8.11.4.
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.11.4/packages/pg)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 08:15:55 +02:00
Pascal Jufer
1120568b45 Fix migration for module bundle extensions (#21857)
* Fix migration/settings for module bundle extensions

* Revert settings lookup

* Add changeset
2024-04-01 14:34:48 +02:00
Pascal Jufer
b4dc3bcd28 Fix randomUUID import in Webhooks deprecation migration (#22029) 2024-03-31 23:27:32 -04:00
Pascal Jufer
081cd5a35f Update copyright year in remaining licenses (#22030) 2024-03-31 19:58:03 -04:00
Brainslug
59bb45bd38 Remove or re-install missing extensions (#21969)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-03-30 15:47:42 +01:00
Rijk van Zanten
43cf048d21 Update migrations to fix initialization on MS SQL and CockroachDB (#22019)
* Alter migration to succeed in Crdb 23

* Add changeset
2024-03-29 15:07:45 -04:00
Daniel Biegler
7f14e387ed Fix 15553 remove webhooks (1/2) (#21808)
* add deprecation notice to webhooks

I dont like how the "Flows"-Link is not a real router-link so it reloads the page but we could sort this out later in the PR

* add feature flag store

* make links reactive

* add depreaction to webhook item route too

* better progressive deprecation, update translation

* fix batch deletion of webhooks

* remove batch editing (it doesnt work), remove irrelevant now code

* add changeset

* add up migration

* improve upon migration

* disallow creation of new webhooks

* remove create action

* remove isvisible field

no longer used

* remove feature flags store

no longer needed

* rm featureflag store remnants

* hide webhook fields from migration

* update comment

* change width of notice

* rm button for creating webhooks

* add changeset

* Update api/src/database/migrations/20240311A-deprecate-webhooks.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update api/src/controllers/webhooks.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* prettier

* add changeset for system data

* update changesets

* remove top padding

* update deprecation notice

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* remove ability to patch webhooks and relevant snippets from its item route

* rm bottom padding since v-form has its own

* remove Flows created by the up-migration

* only add run-script if needed

* filter whitespace values out

* deprecate webhooks on service level

* fix tests for webhooksservice

* reuse deprecation error

* add deprecation and update test for updateBatch

* update changeset

* remove webhook initialization and handling

* remove check for POST

people could use raw values for PATCH, SEARCH, etc.

* Filter empty collections in migration

* skip run script for GET requests

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>
2024-03-28 17:10:06 +01:00
dependabot[bot]
475dc8d5d9 Bump sanitize-html from 2.12.1 to 2.13.0 (#22004)
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.12.1 to 2.13.0.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.12.1...2.13.0)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-28 11:04:42 +01:00
dependabot[bot]
d457a0cc62 Bump @types/qs from 6.9.12 to 6.9.14 (#22006)
Bumps [@types/qs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/qs) from 6.9.12 to 6.9.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/qs)

---
updated-dependencies:
- dependency-name: "@types/qs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-28 11:03:54 +01:00