* Update date fields on directus_files
* Add changeset
* Use knex update instead of raw
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* updated relational fields to use the complete schema
* prettier
* Create few-horses-join.md
* Revert "updated relational fields to use the complete schema"
This reverts commit ac839c0ec8.
* Added type test for the core collection fallback
* fixed core collection fallback
* QoL set default schema for core collections
* prettier
* removed docs reference
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* WIP initial TUS tests
* WIP further tus integration
* WIP authenticate uploads
* boilerplate stuff
* Migrated handlers
* resolving type errors
* tackle some build errors
* WIP moving resumable uploads to its own package
* added migration and integrated local file storage into directus files
* cleaned up local store
* cleaned up failed experiments
* prettier
* Add tus_data and tus_id to system data
* Improve file upload progress estimation for multiple files
* bypass creating a revision per uploaded chunk
* fixed accidental commit
* Fix pause/resume for multiple uploads
* Null coalesce all the way
* Added directus locking logic
* prettier
* Small tweak (added resume uploads dialog)
* authentication
* Add remove to resumable uploads
* added delete endpoint and cleaned old service setup
* WIP s3 storage adapter
* Less breaking of interfaces, more breaking of text
* Moved local adapter to its own package
* Prettying some things up
* Sort resumable uploads by creation time
* Fix resumable uploads dialog popping up on second file upload
* Move buttons around & properly handle error
* s3
* A few changes
- Make S3 driver work more reliable
- Move common logic to tus driver class
- Respect `folder` when uploading from a different folder
- Implement cleanup for both local and S3
* synced dependencies
* accept presets
* Remove extra code for folder, as this is handled in presets now
* Rename migration to most recent date
* updated lcokfile
* prettier
* dont fully rely on the sudo service
* removed unused import
* Hide partial file uploads from the API
* satisfy linter
* Refactor tus into storage driver
* Fix merge conflicts
* Update pnpm-lock
* Fix typing issue
* nuked tus driver packages
* updated environment vars
* prettier
* Change type import style
* Fix S3 cleanup
* Use `modified_on` instead of tus creation date
* Pass chunk size to storage drivers
* Add sudo service to scheduled job
* Make cleanup work even if no upload was done before
* Remove "Resume Uploads" interface
* Update packages/env/src/constants/defaults.ts
Co-authored-by: ian <licitdev@gmail.com>
* Add config docs
* Add resumable to dictionary
* moved chunk filter to service
* simplify middleware
* use lodash
* Update api/src/services/tus/data-store.ts
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* move to devDeps
* package lock
* fixed import
* updated test mocking
* Create a new TUS server handler for every request instead of one global one
* Allow for tree-shaking tus-client
* Rename resumable-uploads.ts to tus.ts
* Extract meta data from uploaded file
* Only consider full parts or the final part for bytesUploaded in S3
* Add additional sanity check to S3 driver
* Remove pause/resume functionality
* fixed file replacement
* Remove unused expose
* Reintroduce defineExpose and expose abort
* Broken file replace
* fixed replacement
* prettier
* added filesize in replace
* update metadata extraction
* Remove unused import
* updated package-lock
* extra validation check
* oops
---------
Co-authored-by: Hannes Küttner <kuettner.hannes@gmail.com>
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Limit users
* Add defaults
* Allow specifying of reason for limit exceeded error
* Update config options doc
* Make existing tests pass
* Update extensions limit error
* Update usage of regular expression
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Rename typo
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Rename files
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Use first() and remove redundant +=
* Fix incorrect api access count
* Rework to account for passing of unchanged access values
* Fix increased counts in updateMany
* Consistent error message
* Simplify unnecessary find
* Add tests
* Rename UserCount to AccessTypeCount
* renamed env var
* prettier
* Add changeset
* fix limit checking for batch and status updates
* test and prettier
* removed obsolete check
* updated error
* fixed error usage in extenions service
* Use randomUUID from '@directus/random'
* Fix payload check in updateMany
* implemented RolesService.updateBatch from its parent
* resolved unit test error
* updated type
* fixed existing role query
* Temporary activation of blackbox tests
* Move to separate fn, to make skippable for non-existent role
* Revert "Temporary activation of blackbox tests"
This reverts commit 4c4ac846d6.
* Revert "Move to separate fn, to make skippable for non-existent role"
This reverts commit 1d90a82e39.
* Add user limits - extension (#22642)
* adressing existing users issue
* migrated changes from pascal
* only check the role for active users
* only count active users
* updated incorrect if
* default to count zero
* Undid abstraction to separate function
* fixed updating through user counting error
* prettier
* simplified fallback query
* prettier
* Added try catch to be safee
* updated db mocking for tests
* removed extra check to satisfy implementation tests
---------
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* WIP: add new register dummy-route
* fix notice on register route
* WIP register form
* WIP: registering ui and controller for testing
* fix lint ordering problem
* wip: users service
* add migration, initial style for fields in settings
* redo how emails will be filtered
* WIP add filter in the register handler
* conditionally render register link depending on settings
* WIP: add email validation
* wip add email sending
* make clicking the email link work
* rm console log
* update controller
* dont send emails for existing emails
* add translation
* only show register link when unauthenticated
* add different redirects
* only allow selecting non-admin roles
* redirect to users page
* update translation
* move logic from controller to usersservice
* rm remnant of logic from controller
* add stall time to registration
* update translation
* rm comments
* rm unused var
* add changeset
* update translation for success
* remove sso related stuff from registration
* also allow setting first and last name
* update error check
* add @directus/errors to app
* replace error strings with enum
* rename to public_registration
* rename to public_registration_verify_email
* add notes to fields
* add types package to changeset
* dont stall if no work is being done
* allow null-role and resending of reg. email
* add public registration env vars, rm RATE_LIMITER_GLOBAL_STORE
RATE_LIMITER_GLOBAL_STORE wasnt being used. Lets just stick to RATE_LIMITER_STORE for all rate limiters. TODO: also remove from docs!
* use ratelimiter for registration, use stall time env var
* add registration limiter docs, rm global store variable from docs
* update changeset
* add ignore-notice
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
* use and document new `EMAIL_VERIFICATION_TOKEN_TTL`, also doc `REGISTER_STALL_TIME`
* change variable name
Co-authored-by: ian <licitdev@gmail.com>
* apply variable rename to usage
* change backticks to single quote
Co-authored-by: ian <licitdev@gmail.com>
* inline variables
* add fields to server info, update types
- The other ratelimiters also expose points and duration, done
- Add `public_registration_verify_email` so that we can render different success messages
* tiny wording tweak of registration mail
* add new user status 'unverified' and check for it
* add unverified status translation
* decouple email verification and validation
* enable register rate limiter by default and up its config
* add autocomplete=new-password on the registration form
* added sdk functions
* add gql query for new fields
* added register api reference
* updated verify sdk function name
* added reference block for email verify endpoint
* updated reference examples
* WIP: add gql resolvers
* add ratelimiter to mutation
* remove ratelimiter registration point+duration info
* rm points and duration from gql
* Update docs/reference/system/users.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
---------
Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>