* 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>
* Fix date resolution in share info endpoint
* Add note on leaving fields blank
* Tweak example to use proper db client
* Treat mysql 0000-00-00 00:00:00 as null
* Fix migration for mysql 5
* Add missing defaults to system fields
* Separate caching of dynamic user vars from permissions
* Cache filterContext only when permissions are cached
* Reset merge
* Reapply changes
* Reduce nesting
* Add missing assignment
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Refactor parseFilter to only flatten filter entries that need it
* Fixed typescript check
* Use custom get function instead of lodash's.
* Improved get function readability
* Allow null result from shared parseFilter
* Add missing defaultValue in get function
* Change parseFilter argument type from Record<string, any> to Filter | null
Co-authored-by: ian <licitdev@gmail.com>
* [API] m2a filtering fix
MySQL does not support CAST to VARCHAR type.
* Use CHAR(255) instead of CHAR
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
* Update geometric types and patch new field flow.
* Add migration
* Fixed migrations
* Also fixed migrations
* Update migration ID
* Cleanup type selector a bit
* Add missing fallback interface/display for new types
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Move union query application to applyQuery, fix where clause
Fixes#9228
* Handle case where union IDs length = 0
* Return modified db query
* Apply union last
* [Fix]: Use hash instead of random for default index name
* Move hash function to separate util file
* Reduce max size of index name to 60 from 64
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Fix generated columns being required. Also prevent schema changes on generated columns.
* Fix type errors
* Disable `unique` and `nullable` instead of not showing them.
* Fix other type error
* Nullable check small refactor
* Fixed MSSQL query
* Fixed oracle query
* Use default filter operator for type in filter input. Also fix error on geometry operator update.
* Fixed tests.
* Only reset geometry filter value when necessary
* Support `null` for boolean operators.
* Moved over oauth impl to new interface
* Fixed most build issues and started addind schema to auth drivers
* Finished up OAuth2 and OpenID drivers
* Removed unused migration and utils
* Fixed minor todos
* Removed old oauth flow
* Changed oauth flow to re-use refresh token
* Added new oauth frontend
* Added font awesome social icons
* Updated authentication documentation
* Update api/src/auth/drivers/oauth2.ts
* Tested implementation and fixed incorrect validation
* Updated docs
* Improved OAuth error handling and re-enabled creating users with provider/identifier
* Removed Session config from docs
* Update app/src/components/v-icon/v-icon.vue
* Removed oauth need to define default roleID
* Added FormatTitle to SSO links
* Prevent local auth without password
* Store OAuth access token in session data
* Update docs/guides/api-config.md
* Fixed copy and removed fontawesome-vue dependency
* More docs fixes
* Crucialy importend type fiks
* Update package-lock
* Remove is-email-allowed check
In favor of more advanced version based on filtering coming later
* Fix JSON type casting
* Delete unused util
* Update type signature to include name
* Add warning when code isn't found in oauth url
and remove obsolete imports
* Auto-continue on successful SSO login
* Tweak type signature
* More type casting shenanigans
* Please the TS gods
* Check for missing token before crashing
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Remove advanced filter sidebar detail
So long, and thanks for all the fish.
* Remove filter conversion logic
* Start replacing/removing old skool filters
* Add inline mode for usages in search bar
* Make filter work in header bar
* Emit empty string as null in filter
* Move shared filter types to shared
* Upgrade use-items
* Fix manual sort on tabular
* Cleanup styling in search bar usage
* Tweak styling
* Fix filtering issues
* Update cards
* Remove activeFilterCount from tabular
* Update maps to work with new filters
* Update calendar to new filter/sort structure
* Fix activity module nav/search
* Fix no-results message
* Update file library filtering
* Finalize user search
* Allow filtering in drawer-collection
* Handle cancelled responses semi-gracefully
* Add loading start state timeout
* Replace sort type in api
* Last commit before redoing a bunch
* Finish new visual style
* Remove unused rounded prop from v-menu
* Tweak sizing
* Enough size tweaking for now
* Count all filter operators instead of top
* Fix archive casting
* Fix api build
* Add merge filters util
* Split filter in user vs system
* Fix export sidebar detail
* Show field label on permissions configuration
* Add migration for filter/sort
* Use filters in insights
* 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>