* Moved refactoring from LDAP branch
* Moved Auth into packages
* Updated frontend to support custom auth providers and make implementation more flexible
* Fixed exception handling and numerous bugs. Also added provider support to graphql
* Updated frontend to be able to set provider and identifier
* Fixed issue with setting the auth provider in app
* Updated package-lock.json
* Updated package-lock.json
* Cleanup, adding type handling and disabled changing provider
* Added title formatting to SSO links
* Fixed incorrect type export
* Fixed incorrect rc
* Update api/src/services/authentication.ts
* Updated sub-dependencies to rc87
* Fixed linting errors
* Prefer sending provider name as config var
* Pass clone of user info to auth provider instead of reference
* Moved auth from packages into core
* Removed generic login handler
* Fixed graphql complaint
* Moved exception back to api and cleaned up URLs
* Minor tweak
* Pulled across improvements from openid branch
* Fixed fix that wasn't a fix
* Update auth.ts
* Update auth.ts
* Update authentication.ts
* Update login-form.vue
* Regression fixes and cleanup
* Minor flow improvements
* Flipped if and fixed linting warning
* Un-expanded object that didn't need to be expanded!
* Trimmed auth interface for consistency when verifying passwords
* Removed auth-manager, changed login endpoint, broke out SSO links, removed username support, disabled updating external_identifier, generate provider options as part of field generation
* Cleaned up some code comments
* Use named exports in local driver
* Use async defaults for auth abstract class
* Use JSON for auth_data field
* Move session data blob to directus_sessions
* Remove unused export, rename auth->authDriver
* Opinionated changes
* Move login route registration to driver file
* Revert app changes in favor of PR #8277
* Send session token to auth provider and opinionated changes
* Added missing translation
* Fixed empty elements for users without email
* Update api/src/auth/drivers/local.ts
* Move pw verify to local driver, remove CRUD
* Opinions > logical reasoning
* Use session data, cleanup login method on auth serv
* Remove useless null
* Fixed breaking changes from refactor, and fixed build
* Fixed lint warning
* Ignore typescript nonsense
* Update api/src/services/authentication.ts
* Fix provider name passthrough
Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Rijk van Zanten <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)
* Check auth password policy on user modifications
* Show validation errors in drawer-batch
* Allow custom password policy, add placeholder
* Add UserSuspended exception
* Add user suspended error translation
* Move rate limiter creation into root helper
* Add login attempts support to authentication service
* Don't authenticate into settings service when checking password policy
* 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
* 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
* Start on database-error abstraction layer
* Add SQLite error abstraction
* Enable SQLite foreign key support
* Cleanup sqlite dialect slightly
Does it matter? Not really!
* Add MySQL error abstraction
* WIP Almost done with MSSQL
* Add correct error handling for MS SQL
* Fix mysql errors by not relying on value order
* Don't rely on sql in postgres exception translation
* Fix sqlite error parsing
* Remove foreign key constraint from activity to collections
A collection can be DB-only, but we still want to track activity for non-meta collections
* Translate error on update as well