* Always include inner query sort fields in group by expression of inner query
* Add changeset
* Move DB vendor specific code into helper
* Include MariaDB in comments
* Prefix unused vars with underscore
---------
Co-authored-by: ian <licitdev@gmail.com>
* more differentiation between creation and update and some comments
* added db helper for nullable update
* integrated db helper
* comments
* changeset
* update comment, autoformat
* make new fields nullable by default
we dont transmit unchanged values in the advanced creation form which means
`is_nullable` will be undefined because thats the default
before this pr it worked because we fell back due to `... ?? true`
---------
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* reload npm extensions when watch is enabled
* accept eula
* fix contributors.yml format
* Add changeset
* watch all posible extensions managed
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Fix aggregate group when have more than one duplicated value
* Add new test
* Add more comments
* Fix import order
* Add changeset
* Optimise with map
* Move `!`
* Add back comment
---------
Co-authored-by: Hannes Küttner <kuettner.hannes@gmail.com>
Co-authored-by: ian <licitdev@gmail.com>
* Implement logs websocket
* Update docs
* Remove commented test code
* fixed controller shared logic
* fixed controller type
* Added shutdown callback
* Expose allowed log levels
* Use a different event
* Add log level filtering
* Return log_level when subscribed
* Remove unused import
* Limit logs websocket to `strict` auth mode (#23023)
* simplify logging handler
* enforce strict mode
* Update logs handler
* Update docs
---------
Co-authored-by: ian <licitdev@gmail.com>
* Add unique nodeId as uid
* Create logStream only when required
* Add admin requirement check
* Extract isValidLogLevel as util
* Remove authentication and path from server info
* Remove hostname and pid from logs if not raw
* Fix nodeId implementation
* Support custom log levels
* Fix build
* Fix test
* Remove unused constants and util
* Display websocket logs details in server info for admins only
* Expose log level value in server info
* Stream raw logs to websocket
* Retain hostname and pid field in raw logs
* Add separate env var for logs streaming
* Reset attempts after reconnection failure
* Remove obsolete accountability refreshing
* Run handler only when enabled
* Add changeset
* Allow wss protocol
* Rename to logs-stream
* Add unit tests
* Add explicit check for the remaining client
* Updated json stringification in log-streaming
* prettier
---------
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* API: Compute schema once and share among other nodes
From #23328
* Compute schema once and share among other nodes
* Add compress/decompress
* Remove weirdness
* Make timeout configurable
* Remove compression/decompression
This was putting back the issues again.
I guess it's because the transformation to async
It seems useBus is already doing compression
So I believe there's no need for double compression.
* Add changeset
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Fix formatting issue
---------
Co-authored-by: José Varela <varela@directus.io>
* feat(api): add index support
Co-Authored-By: Mahendra Kumar <22556323+mahendraHegde@users.noreply.github.com>
* fix(primary key): do not all mutating unique or index
* feat(app): add index selection
* refactor `dopIndex` to use array entry
* add docs
* add changeset
* add missing properties from field object spec
* simplify index checks
* formatting
* fix mssql index query
* fix additional fields being returned in schema
* fix oracle indexing
* only set nullable/not nullable if specifically requested
* Update app/src/lang/translations/en-US.yaml
Co-authored-by: Hannes Küttner <kuettner.hannes@gmail.com>
* Revert "only set nullable/not nullable if specifically requested"
This reverts commit 4726dbb8cf.
* make changeset more explicit
---------
Co-authored-by: Mahendra Kumar <22556323+mahendraHegde@users.noreply.github.com>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Hannes Küttner <kuettner.hannes@gmail.com>
* Don't cache dynamic values in permissions, but only the actual DB result
* Cache filter context based on the requested fields and the dynamic variable value in the "normal" cache
* Remove caching from `fetchAllowedCollections`
* Remove caching from `fetchAllowedFieldMap`
* Remove caching from `fetchAllowedFields`
* Remove caching from `fetchInconsistentFieldMap`
* Add `bypassMinimalAppPermissions` to `fetchRawPermissions` cache key
* Reduce keys in `fetchRawPermissions` accountability option
* Add changeset
* Add fields to filter context cache key again
---------
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
* Inject the correct cases into _some and _none filters
* Make sure that all arguments are passed to the relational count helper through types
* Unrelated
* `getCases` applies its own collection filtering
* Add changeset
* make variable more descriptive
* persist default value and nullable in field schema update
* add changeset
* add self to contributors
* extracted expressions out of the selection
* a bit more refactoring
* fix
* set nullable as default
* tiny refactoring
* handle null as default value correctly
---------
Co-authored-by: Jan Arends <jan.arends@mailbox.org>
* Fix drop foreign key if have a different name
* Improve memory usage
Variables are only defined within try block
* Add changeset
* Target "role" column
Since users can create custom fields in directus tables and since someone may have tried to create another field to directus_roles, let's specify which column
* Fix formatting
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Update server.ts | Issue 23142
Fix Problem on server.ts to only accept integer Values as port. Some hosters require the port to be a string forwarding to a specific file as socket.
* Update contributors.yml
* Update server.ts
* Update server.ts
* Add changset
* Resolve formatting error
* move unix socket to separate variable
* add docs
* update changeset
* do not add protocol to address
* add correct casing for `Unix`
* do not add protocol prefix if listening on socket
* add missing package bumps to changes
* Update server.ts
Changed listenOptions initialization
* formatting
* remove port override note
* update doc wording to be inline with host and add ignore
* add tests
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>