* Validate type of items' primary keys
* Update tests
* Update validations
* Remove DB specific check for statusCode in existing e2e test
* Extract as util function
* Add unit test
* Refactor to generic validateKeys
* Sort keys to ensure order
* Set query limit as the number of keys
* Add query limit only when reading by keys
* Update test
* Check if keys is of array type
* first attempt at nested sorting
* pull out addJoin so it can be reused
* Move get-relation-info to file, add tests
* Extract get-column-path, add tests
* Little cleanup
* Prevent the regex from blowing up with malicious input
* Allow sorting on m2o fields in the tabular layout
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Remove UTC conversion from date, time and datetime fields
* Fix mysql / maria timestamps when not in UTC timezone
* Add sequential tests with node timezone change
* Increase connection attempt check
* Add error catching in tests flow setup
* Check for server connectivity
* Fix promises
* Fix timestamp inconsistencies
* Revert to previously used parseISO
* Ensure database and directus connection
* Add another timezone to test positive and negative GMT
* Set local server hostname to localhost
* Add tests for SQLite
* Use notNullable primary key
* Revert connection testing sleep duration
* Fix nested transactions on SQLite
* Increase MSSQL request timeout
* Add type override flag for SQLite
* Remove commented code
* Add type override flags for Oracle
* Updated test file path
* Increase test servers launch timeout
* Increase test servers launch timeout
* Update format of tests
* Fix typo
* Increase test timeout for CockroachDB
* Add type overrides when creating fields through collections service
* Remove time field type conversion for Oracle
* Update collections list in test
* Remove check for time field in Oracle
* Add missing continue...
* Remove database override
* Add note for SQLite
* Rename flags and extract shared util
* Abstract remaining DB specific checks
* Revert flags renaming except renaming of test files
* Use date helper to add field flag
* Move field date typecasting upstream
* Use timestamp helper for date-created and date-updated
* Fix tests
* Remove unused vars
* Add tests for date-created
* Increase connection attempt count
* Fix test for mariadb
* Increase allowable difference to account for delays
* Add tests for date-updated
* Fix tests again for mariadb
* Add date helpers post merge
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add permissions check for relational field only if child has filter
* Allow id field for actions such as update and delete
* Use primary key instead of id
* Add test
* [Related to #11292] Safe Metadata Upload
- Created FILE_METADATA_ALLOWLIST
- Added test library for `FilesService`
* Rename ALLOWLIST->ALLOW_LIST to be consistent with other env vars
* Make sure it still works for files without Exif
* Prevent breaking changes in metadata formatting
* Allow * for all
* Fix md sup
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Fix filter permissions for relational fields
* Add tests for filtering of top level relational field with and without permissions on relational table
* Find read permission only
* Update test with more permissions
* Add field validation column
* Add frontend config for validation
* Make it work
* Add regex to filter configuration
* Fix const/let
* Add custom validation message support
* Add custom validation message tooltip inline
* Fix custom names in validation errors up top
* Fix type error
* Nog eentje om het af te leren
* resolve unused import warnings
* Prefix typecasting field flags
* Fix payload test
* Update flags for system tables and for field creation in app
* Revert cast-hash and cast-uuid
* Rename migrations file to current date
* Add query filter validation with permissions
* Allow all fields in test
* Revert test and add check for permissions with empty fields
* Add check for deep filters
* Add tests
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Add "authenticate" filter hook that allows custom auth check
* Start on test
* Update Jest, restructure API tests, start implementing authenticate test
* Move access token verify to util function
* Ensure jest can show inline warnings on correct lines
* Update is-directus-jwt to use jsonwebtoken decode + add tests
* Remove unused package
* Tweak and finish + test authenticate
* Tweak test
* Add authenticate filter to docs
* Don't scan tests for codeql
* No seriously, ignore tests
* tsconfig loosened to match api
* integration test folder and script
* .env mock isn't needed
* mock-env, locations of tests
* I was wrong.
* Updated progress
* schemas => getSchema(), exported getColumnPreprocessor()
* change imports to allow build
* add MockClient as DB Client (should mock getDBClient())
* move authservice into. not used elsewhere
* test passing
* remove unneeded test for this PR
* removed unneded fields from rawItem
* formatting
* createOne test passing
* typo
* removed int specific jest.config
* use systemSchema over getSchema()
* this.knex over getDatabase()
* mock getDatabaseClient
* removed unused mock-env
* formatting
* removed unused collections from schema
* response => responseOnce
* more direct
* unused var
* more tests please!
* test for: createOne no permissions
* removed broken test for now
* clean up
* readOne tests what does into db and returned
* added bindings check
* added into db sql check
* moved tests outside src
* changed ts config
* cli test location changed
* removed looking for tests in src
* readding it for e2e tests? Seems fishy
* Integration tests for ItemsService user tables (#11208)
* renamed ItemsService test to match src file name
* add user table schema
* system/user tables use .each, formatting needed
* format system and user better in title
* tables/table=> schemas/schema
* filter _eq test passing
* comment for later and formatting
* everything in it's right place
* future proofing as more fields are added
* removed duplicate test
* formatting
* readMany() filter: _or
Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>
* added knex check before getDatabase()
* Move util test to tests folder
Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>