* 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>
* naive fix for enumeration
* re-added explicit provider check
* Remove user suspended error as well
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Fix primary key unique constraint error extraction for MySQL
* Add changeset
* Add changeset
* Add comment about MariaDB
* Drop 5.7 special case
---------
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>
* Filter by active users
* Allow simple where clause
* Update tests
* Add field counts
* Add database size
* Fix test
* Add changeset
* Remove comment
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Fix user counts for edge cases
* Update test
* Add db size unit and jsdoc
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* Return null if database size undetermined
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Fix extensions bundle count
* Update tests
* Account for partially enabled bundles
* Update tests
* Remove inner await
* Account for bundle enabled with all nested extensions disabled
* Update test
* Prefix with users instead
* Fix invalid activeTotal value
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
* redo extension counting and fix test
* shorten get field count
* change to test the subtraction instead of implementation
* use new name for key
* Revert users naming convention change
Tricky to map fields from older versions into the updated field names
* Get extensions count from ExtensionManager
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Update extension count test
* Mock EMAIL_TEMPLATES_PATH
* Fix formatting
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* Fix#22572 Invalid query for random string
* Add changeset
* Run prettier
* Fix unit tests warnings
* redo validation with Joi
* make validation on object level
documents itself and is cleaner to expand on
* Update changeset
* Allow integer only
* Require min value of 1
* Report as query error, ignore unknown queries
---------
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>