This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
* Move accountability type to shared
* Rely on shared for parse-filter
* Install date-fns
* Support dynamic variables in conditional fields
Closes#7157
* Add conditions field to directus_fields
* Add conditions configuration
* Apply conditional overrides
* Handle conditions in nested groups
* Fix reverse mutating conditions
* Start on filter setup interface
* Move field types/constants to shared
* [WIP] Updated client side filter validation
* Support logical operators in client validation step
* Use new validation util in conditions check
* Add nesting in filter seutp
* Add filter rule setup configurator
* Fixes that should've been done in the merge
* Strip out filter-settings interface
TBD in a new PR
* Move browser to index
* Allow custom transformations of assets
This exposes one query parameter `transforms`, which is a JSON array of
shard transformation operations.
It also updates the asset presets. The UX for this still needs some work
* Rename options to arguments for presets
More explicit
* options -> arguments in setting spec
* Better errors for invalid JSON in asset presets
* Add limit to transforms query parameter
* Use flattened option for extra transforms
* Fix placeholder color of code input
* Allow "simple mode" aliases
* Add documentation
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* 6113 add tfa generate endpoint
* 6113 implement tfa otp check in user settings
* 6113 add autfocus for otp field on login form
* update package-lock
* improve TFA uri with user email
* fix vue 3 compatibility
* reduce code duplication for enableTFA
* Remove unnecessary parameters
* Use project name in otp url when available
* Update docs/reference/api/system/users.md
Co-authored-by: Wendelin Peleska <wendu@pm.me>
* Bump knex-schema-inspector
* Fix cli role name attr
* Update relation type
* Restructure relations
* Restructure relations table
* Update api type for relation record
* Fetch relations in new structure
* Update schema-inspector
* Use new relations schema structure in api
* Update relations GETters
* Add default value to one deselect
* Add create relationship on existing field
* Add updating existing relationship
* Add delete relations
* Add relations query resolver
* Add graphql mutations for relations
* Fix reading from wrong name
* Fix wrong method name
* No idea why this flip flops every install
* Update relation type
* Accept null in use-collection composable
* Use new relations structure in translations
* Use new relations structure in new-collection
* Start updating field detail store
* Renames for new relations structure
* Silently ignore passed collection/field in relation update
* Fix setting pk field in m2o relational setup
* Small tweaks in o2m setup
* Fix m2m setup
* Tweak m2o setup
* Fix m2a setup
* Allow null for related collection (m2a)
* Fix languages code name
* Fix migration default value
* Fix relational cleanup in collections/fields
* Fix transaction problem in field delete
* Fix inserting relational o2m items
* Don't execute updateByQuery on empty item set
Fixes#5710, fixes#5070
* Show referential action input on m2o
* Finish language for m2o
* Show triggers config on o2m
* Delete items on one_deselect_item delete
* Fix naming, show relational trigger config on m2m
* Tweak language, add setup to m2a
* Fix linter warnings
* Add trigger setup for translations
* fix Edit non-schema relationship issue
* Sync existing on_delete triggers in o2m setup
* Add migration to setup foreign key constraints
* Update illegal FK values before setting constraint
* Fix MySQL unsigned vs not-unsigned in FK creation
* Use pretty names for labels in relational triggers
* Prefix auto-junction when system table
Fixes#5493
* Add system foreign key triggers
Fixes#5749
* Update docs
* api: pass user object to auth hooks
The motivation for this is the ability to migrate from
bcrypt passwords to argon2 seamlessly.
Fixes#4718Fixes#4335
* receive user from `auth.login.before` hook
* pass `otp` as well on `auth.login` hooks
* api: last registered hook should have priority
When registering multiple hooks for a single event,
the last hook should have priority on return value.
* Fix linter warning
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Declare return types on functions
And a very few other type related minor fixes
* Minor syntax fixes
* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
* Start the xOne/xMany work
* Update update/upsert
* Finish updating itemsservice
* Add comments, add nested revisions on update
* Use new internal api
* Update collectionService to one/many structure
* Move files to one/many structure
* Move permissions to one/many structure
* Move relations service to one/many structure
* Move roles to one/many structure
* Move users service over
* Move webhooks to updated structure
* Move deprecated methods to the bottom
* Replace deprecated uses
* Use new methods in controllers, add batch update/delete by query
* Use updated methods in API
* Fix email being required
* Remove unnecessary DB call
* Fix batch update/delete validation
* Rotate JPG image on upload #4206
* fixes#3949 width/height generated for gif and tif
* API hooks for event added for auth.login #4079
* updated doc for api hooks for new auth.login event
* Style tweaks
* Update docs
* Tweak docs some more
* Spelling error
* Allow non-required flags and pass to hook
* SDK - Persistent login refresh fixes#4113
* Fixed#4145 SDK, Token Expired error
* Spell check
* Docs Spell check
* Docs Spell check
* Docs Spell check
* update docs for sdk-js
* To delete all expired session from db on login
* corrected the condition for the delete
* changed the from Date.now to new date .
* Move it inline
* Fixes#4653
* added docs and cleaned up the hooks payload
* use req.accountability
* added req.params.provider to payload
* provide scope for login
* docs updated for oauth hook
* Update api/src/controllers/auth.ts
* updated provider to redirect and docs
* added payload
* Make schema available in redirect hook
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Rotate JPG image on upload #4206
* fixes#3949 width/height generated for gif and tif
* API hooks for event added for auth.login #4079
* updated doc for api hooks for new auth.login event
* Style tweaks
* Update docs
* Tweak docs some more
* Spelling error
* Allow non-required flags and pass to hook
* SDK - Persistent login refresh fixes#4113
* Fixed#4145 SDK, Token Expired error
* Spell check
* Docs Spell check
* Docs Spell check
* Docs Spell check
* update docs for sdk-js
* To delete all expired session from db on login
* corrected the condition for the delete
* changed the from Date.now to new date .
* Move it inline
* Fixes SSO redirect with Json error
* Remove dependency on qs
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Start on GraphQL "2.0", add methodnotallowed exceptoin
* Fix relative file pointer in peer dep
* [WIP] Add pre-filtered schema to SchemaOverview
* Use root schema as is, add reduce-schema util
* Use reduceSchema in the wild
* Base schema on local reduced schema
* Remove todo
* Use graphql-compose to build out schema
* Start restructuring resolvers
* Add create mutation
* Return boolean true for empty create mutation selections
* Add update mutation
* Add delete mutation
* Add system/items scoping
* Fix merge conflicts for real now
* Use system services, rename ids->keys
* Start on docs on mutations
* Updates to match main
* Add fetch-by-id
* Add one/many resolvers for mutations
* Check system collection rows for singleton
* Fix resolver extraction for single read
* Share delete return type
* Add comments
* Use collection root name for readable type
* Add specs endpoint for GraphQL SDL
* Update docs
* Add note on SDL spec
* Fix delete single example
* Remove package-lock
* Fix collection read scoping in non-read
* Rotate JPG image on upload #4206
* fixes#3949 width/height generated for gif and tif
* API hooks for event added for auth.login #4079
* updated doc for api hooks for new auth.login event
* Style tweaks
* Update docs
* Tweak docs some more
* Spelling error
* Allow non-required flags and pass to hook
* SDK - Persistent login refresh fixes#4113
* Fixed#4145 SDK, Token Expired error
* Spell check
* Docs Spell check
* Docs Spell check
* Docs Spell check
* update docs for sdk-js
* To delete all expired session from db on login
* corrected the condition for the delete
* changed the from Date.now to new date .
* Move it inline
* fixes issue 4557 for asset quality for thumbnail
* asset documentation is updated
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>