Files
directus/packages/system-data/src/fields
Brainslug 266e043c0e Add support for the TUS protocol (#22673)
* 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>
2024-07-02 17:00:59 +02:00
..
2024-05-07 23:20:24 +02:00
2024-05-07 23:20:24 +02:00