Commit Graph

3371 Commits

Author SHA1 Message Date
Alex Gaillard
ccf2f3d38f Release v11.8.0 (#25252) 2025-05-28 13:29:21 -04:00
Brainslug
283e9ee9c2 Bump samlify to v2.10.0 (#25251)
* Bump samlify to v2.10.0

* Create early-fans-heal.md
2025-05-28 16:06:32 +00:00
Nitwel
ede208a0bd Add README to ast logic (#25135) 2025-05-28 15:45:03 +02:00
Nitwel
0d756701c3 add redirect to login page for OpenID SSO error (#25237) 2025-05-26 15:55:21 +02:00
Nitwel
856b95083b Fix cache skipping for getSchema (#25204)
* fix cache skipping for getSchema

* add last bypass

* fmt

* Refactor to bypassCache param in readAll

* consider collection param

* fmt

* Add blackbox test

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-05-23 09:20:06 +08:00
Nitwel
8c1f0a428d Fix coercion of values only for rest (#25207)
* fix cohersion of values only in rest

* fix tests

* Update late-pans-draw.md

* default back to keep old behavior

* fmt

* slight test cleanup

* test name
2025-05-22 16:32:33 +02:00
daedalus
376d279fd6 Add ip, userAgent and origin for ws activity (#25114)
* add `getIpFromReq` for `IncomingMessage`

* support `ip`,`userAgent` and `origin` for ws connection

* add changeset

* rename `getIPFromReq` to `getIPFromWSReq`

* utilize getIPFromReq

* improve `accountabilityOverrides` typing

* remove additional type defs

* simplify getIPFromReq to work with IncomingMessage always

* add tests

* update tests

* remove unnecessary ip property on req

* construct req in tests uniformly

* add express supported trust values

* improve testing to cover all `IP_PROXY_TRUST` values

* Update api/src/utils/get-ip-from-req.ts

* Enforce types instead of reassign to ensure type

* Update api/src/utils/get-ip-from-req.ts

* Add feature parity with express note

* Add more notes

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Remove accountability type change

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-21 13:48:06 +02:00
Nitwel
9b5d327fad Fix including aliases in wildcard selection (#25128)
* fix including aliases in wildcard selection

* fmt

* Added test for alias: null

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
2025-05-20 16:42:40 +02:00
amos
4bf1969358 feat: added essential events for extensions in ExtensionManager (#25181)
* feat: added and removed extensions in `extensions.reload` event

* chore: sign CLA and added name to contributors list

* fix: spacing typo

* feat: added loaded and unloaded event in ExtensionManager class

* chore: updated the docs to reflect changes for new events in ExtensionManager class

* fix: typos and docs

* fix: quick fix on triggers

* feat: emitting event for install and uninstall extensions

* chore: quick update in triggers.ts

* chore: format in manager.ts

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-19 18:03:58 +02:00
ian
097a3d6395 Fix seeding on blackbox tests for existing db (#25129)
* Fix seeding on blackbox tests for existing db

* add rimraf

* Run formatter

* Add changeset

* Try trigger workflow

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-14 16:00:57 +08:00
Nitwel
8c42cc6be8 Fix dates not being returned in valid ISO format (#25160)
* fix dates not being returned in valid ISO format

* Add unit test

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-05-13 18:42:19 +08:00
ian
10bab7eb93 Release 11.7.2 (#25146) 2025-04-29 17:29:18 -04:00
Alex Gaillard
374c01ae6d Release 11.7.1 (#25142) 2025-04-29 20:02:20 +00:00
Alex Gaillard
76d7c4f504 Release 11.7.0 (#25137) 2025-04-29 11:46:37 -04:00
Nitwel
273c45fb05 Set system field lengths based on database max limits for columns and tables (#24983)
* fix string length too short to store db column/table names

* clean up code

* rename

* fmt

* update helper usage to be consistent with others

* Update .changeset/gentle-horses-add.md

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

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
2025-04-25 15:01:14 -04:00
ian
7f69b51184 Update axios to 1.8.4 (#25110)
* Update axios to 1.8.4

* Add changeset
2025-04-23 11:21:32 -04:00
Nitwel
4d59d70897 Unify getRelation/getRelations usage across packages (#25053)
* restructure

* add changeset

* add schema builder for primary fields

* fmt

* add relational generation

* add more tests and clean schema.ts

* fmt

* add changeset

* add more tests and tidy up existing ones

* add more tests and clean code

* add standalone a2o relation

* add tests and clean up even more logic

* continue working on tests

* update more tests

* update tests and reorganize files

* more tests and take appart applyFilter

* update test for get-filter-type

* update export

* fmt

* unify get-relations

* fmt

* add changeset

* Update .changeset/dry-donuts-guess.md

* remove additional whitespace

* Update .changeset/dry-donuts-guess.md

* Update .changeset/dry-donuts-guess.md

* fix new test

* chore: organize import

* remove unnecessary type assertion

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
2025-04-22 16:59:20 -04:00
Nitwel
daa5777483 Fix error when functions are passed to the run-script operation (#25106)
* Fix passing functions into run-script

* fix tests

* remove wrong changes

* Update .changeset/three-states-heal.md

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

* clean up

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-04-22 12:29:21 -04:00
Nitwel
5b7bf2f0c4 Fix processing dates on aggregation (#25064)
* Fix processing dates on aggregation

* format

* move code into processAggregates

* fmt

* clean up aggregation

* fix date processing

* fmt

* fixed aggregateKeys

* add `processAggregates` tests

* add tests for aggregate dates in `processDates`

* first pass of fixing tests

* use correct expect ref

* remove invalid tests

* aggregate dates not processed

* update comments

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-22 16:59:19 +02:00
ian
68090b9728 Remove reverted changeset (#25102)
* Remove reverted changeset

* Fix linting issues
2025-04-22 09:42:44 -04:00
daedalus
afb0c24923 Ensure one_deselect_action updates bypass QUERY_LIMIT_DEFAULT restrictions (#25087)
* do not restrict `one_deselect_action` changes by `QUERY_LIMIT_DEFAULT`

* add changeset

* add bb test

* fix bb tests

* Fetch deep -1

* Same for GQL

* Try debug m2o

* Try increase to 10k

* second pass at fixing bb tests

* 3rd pass on attempt bb test fix

* check if any bb tests error due to `QUERY_LIMIT_DEFAULT`

* add missing comma in sequential tests

* bypass oracle in bb tests due to column limit

* final bb test pass

* simplify bb test

* Improve item name

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-04-22 20:09:06 +08:00
Nitwel
a39730d208 Improved testing for applyQuery (#25022)
* restructure

* add changeset

* add schema builder for primary fields

* fmt

* add relational generation

* add more tests and clean schema.ts

* fmt

* add changeset

* add more tests and tidy up existing ones

* add more tests and clean code

* add standalone a2o relation

* add tests and clean up even more logic

* continue working on tests

* update more tests

* update tests and reorganize files

* more tests and take appart applyFilter

* update test for get-filter-type

* update export

* fmt

* fmt

* fix import

* fmt

* fix middeware change

* remove leftover files

* Update api/src/database/run-ast/lib/apply-query/get-filter-path.ts

* fix pnpm lock

* remove unused imports

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-21 11:53:32 -04:00
daedalus
c02570c065 Fix auto PK injection not accounting for has_auto_increment being creating a PK (#25084)
* account for `has_auto_increment` for pk injection

* update blackbox tests to cover  when has_auto_increment true
2025-04-17 11:03:17 +08:00
Nitwel
c612440219 Added an Error on Reject option to webhook flows (#25080)
* Properly error out on webhook flow

* fmt

* make erroring optional

* cleanup

* group translations

* Update .changeset/evil-suns-talk.md

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

* shift `error_on_reject` after `async`

* simplify async condition for `error_on_reject`

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-16 17:05:02 -04:00
Nitwel
9ec345c83f Update tests to use SchemaBuilder (#25046)
* restructure

* add changeset

* add schema builder for primary fields

* fmt

* add relational generation

* add more tests and clean schema.ts

* fmt

* add changeset

* add standalone a2o relation

* update export

* update tests to use SchemaBuilder

* update tests

* update schema builder

* fix tests and spelling

* update more tests

* fmt

* add changeset

* fmt

* Update schema.ts

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-16 12:46:48 -04:00
daedalus
c0c12bf26e Ensure primary key field is auto-injected when absent from the fields array (#25077)
* auto add PK if not present in fields array

* add changeset

* Update api/src/services/collections.ts

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

* Add bb test

* Update test result

* Update test descriptions

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Add empty array test

* Add should not auto create check

* Update .changeset/famous-turtles-bow.md

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

* Update test result

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-04-16 11:40:49 -04:00
daedalus
b535d3a3a7 Fix filename_download not respected on upload (#25062)
* respect `filename_download` if provided on upload

* add changeset
2025-04-14 16:11:47 +02:00
daedalus
2f4a3c76ff Fix condition operation filters not properly parsed (#25015)
* correctly parse conditional filter

* add changeset

* add test

* fix test

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-04-14 13:40:40 +02:00
Brainslug
f39e30499c Update samlify to v2.9.1 (#25008)
* Updated samlify to v2.9.1

* Create hungry-sloths-act.md
2025-04-11 11:11:38 -04:00
daedalus
2fdcd0d790 Fix applyOptionsData errors not appearing in the flow log (#25025)
* dont skip logs for `applyOptionsData` errors

* add changeset

* Update api/src/flows.ts

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

* Update api/src/flows.ts

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

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-04-10 14:21:05 +08:00
daedalus
8588369ec6 Add Error on Reject option to manually triggered flows (#24965)
* throw error on rejected operation for manual trigger flows

* add changeset

* only error for sync flow

* reword changeset

* error on reject should be configurable

* update translation name and wording for manual trigger

* update changeset wording

* simplify run flow trigger success message

* fix incorrect translation key

* Update app/src/lang/translations/en-US.yaml

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

* Update app/src/views/private/components/flow-sidebar-detail.vue

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

* Update .changeset/great-chicken-fold.md

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

* Hide option when async

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
2025-04-09 11:50:50 -04:00
daedalus
2e525aeb1c Fix uncaught error in the health check process during storage cleanup (#24970)
* do not throw unhandled rejection in health when disk.delete fails

* dont wait for cleanup

* add changeset

* reword changeset

* improve blackbox tests to accept warn for status result

* Update .changeset/slimy-paths-peel.md

* log errors for metric failures
2025-04-09 21:39:20 +08:00
Nitwel
e539b6b11f Refactor applyQuery (#25004)
* restructure

* add changeset

* Update .changeset/petite-deer-bow.md

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-08 13:18:17 -04:00
ian
47a8596da2 Ignore DB_EXCLUDE_TABLES during charset validation for MySQL (#25005)
* Ignore DB_EXCLUDE_TABLES during charset validation for MySQL

* Add changeset
2025-04-08 18:09:13 +02:00
Brainslug
9b495e769f DeprecationWarning: Calling promisify on a function that returns a Promise is likely a mistake (#24850)
* remove async from afterCreate

* Create silent-feet-burn.md

* removed unused imports

* make blackbox and cli afterCreate synchronous

* fix mysql query results

* drop support for mysql 5.7

* Added changeset

* removed obsolete applyMultiRelationalSort

* Update .changeset/green-places-throw.md

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

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
2025-04-04 11:11:49 -04:00
Nitwel
a02fe12349 Fix date processing for aliases (#24819)
* Fix date processing for aliases

* cleanup and reorganize

* update tests

* fmt

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-04 11:07:02 -04:00
ian
713510aeab Add batch update for websockets (#25031)
* Add batch update for websockets

* Add changeset

* Add test
2025-04-04 17:06:08 +02:00
ian
b792144609 Release 11.6.1 (#25007) 2025-04-01 21:44:45 +08:00
daedalus
a09ad2f7d4 Fix requiring roles and/or policies for admin accountability (#24977)
* do not enforce roles or policies for admin accountability

* add changeset

* fix tests

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-04-01 01:02:54 +08:00
daedalus
6ed0e317bf Fix search applying minimum app permissions when full access is allowed (#24988)
* do not add when cases for full access read

* add changeset

* improve tests

* refactor tests
2025-04-01 00:57:18 +08:00
ian
04cb1c0917 Skip unnecessary fetching of dynamic variables (#24975)
* Skip unnecessary fetching of dynamic variables

* Add changeset
2025-04-01 00:29:57 +08:00
Nitwel
240e6ff57c Revert adding of implicit _some in #24725 due to regressions (#24996)
* Revert PR-24725

* fmt

* update changeset

* Update .changeset/loose-experts-own.md

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

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-03-31 11:58:23 -04:00
Alex Gaillard
9fed080c8a Release 11.6.0 (#24964) 2025-03-25 13:05:10 -04:00
Nitwel
2f477788b8 Improve validation for collections endpoint (#24960)
* Improve validation for collections endpoint

* Update .changeset/young-dragons-heal.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/young-dragons-heal.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
2025-03-25 12:01:08 -04:00
Florian C. Wachmann
975ec764e1 Add Visual Editor (#24758)
Co-authored-by: Alex Gaillard <alex@directus.io>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-03-25 14:20:44 +01:00
Nitwel
a56da3f110 Allow for dynamic variable paths in filters (#24635)
* fix dynamic variables not being parsed on field validation

* clean up

* allow for dynamic variable paths in filters

* fix deep query parsing

* fix error handling in sanitizeQueryMiddleware

* fmt and changeset

* add comment to sanitizeQuery

* fix problems

* fmt

* fix tests

* Filename typo

* Skip processing if no dynamic variable

* Add missing async

* Skip middleware sanitization and validation if query is empty

* Remove unneeded assertion

* Remove mocking of filter parsing

* Update test to include dynamic variable in filter

* Update .changeset/slimy-lions-call.md

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

* remove unessesary async

* fix cache order

* use proper accountability

* yudadoo

* fmt

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-03-24 16:01:41 -04:00
daanh432
00f4f491f7 Add OAuth role mapping support (#24558)
* Add OAuth role mapping

* update changeset

* remove docs

* formatting

* Update six-bees-grab.md

* Update six-bees-grab.md

* remove doc package bump

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-03-20 17:03:36 -04:00
Nitwel
47ada0b460 Add _some and _none support to GQL. (#24644)
* add _some, _none support to GQL

* cleanup and changeset
2025-03-19 20:33:32 +01:00
daedalus
fd5a22299f Fix filter hook altered payload not passed to action hook on create (#24812)
* hook modified payload should be passed to action hook

* add changeset

* Update good-colts-own.md

* move `items.create` back into the transaction

* add comment
2025-03-18 21:10:25 +01:00
Nitwel
1e9f42f58f Fix keys being optional on writes (#24555)
* Fix keys being optional on writes

* Update api/src/services/graphql/resolvers/system-admin.ts

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

* reduce type processing

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-03-18 21:07:55 +01:00