* Add depth limit to filtering
* Add depth limit to GraphQL
* Add docs
* Rename environment variable
* Add simple deep filter depth calculation
* Update error message
* Shift fields depth check to base function
* Remove unused var
* Implement GraphQL filter depth
* Add check for _and & _or filters in GraphQL
* Add check for _and & _or filters in REST
* Remove commented code
* Add check for REST filter query
* Add REST tests
* Setup m2m using directus fields
* Add GraphQL tests
* Fix linter error
* Cleanup calculateDepth + add docs/tests
* Remove validator in GraphQL
* Add depth checking for nested sort
* Enable source map to display correct error lines
* Set max relational depth to be at least 2
* Update tests
* Add unit test for deep _sort
* Add minimum value in docs
* Refactor depth validation to be in validateQuery
* Add boolean parameter for calculation of _sort in deep query
* Use array of keys to parse dot notation
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* quick fix ignoring fields wrapped in $FOLLOW when checking permissions
* checking related permissions for $FOLLOW filter
* moved $FOLLOW logic to extractRequiredFieldPermissions
* initial attempt at making e2e test for this issue
* moved test to many-to-many.test.ts
* added permissions for the test
* created new user and role for these tests
* broadened the expected matching object
* only expecting name as the id field UUID was giving inconsistent uppercased results with mssql
* 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
* Revert changes from #11737 to applyFilter
* Add case insensitive operators
* Improve ordering of operators
* Make filters test values more generic and improve structure
* mock-knex
* test on the migrations run started.
* test passing for run.up()
* reorganize /tests/ to allow integration tests
* e2e setup changes
* e2e jest.config moved
* e2e paths fixed, integration config
* add nonadmin role and user seed+migration
* auth/login w/ documentation (docs will be moved)
* update user seed
* add postgres10 to the ci?
* argon2 saves the day
* items tests passing with postgres10 support
* removed comments
* move generateHash out of directus_users
Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>
* reorganized for sanity
* filter tests for _eq/_neq
* logical operators
* update one one to many
* /:collection PATCH one to many
* base tables.id => uuids to minimize collisions
* tests pass
* added python to dockerfile
* tests passing
* ci?
* ci...
* hanging async