Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Relay Blob Bundle Laravel Package

dbp/relay-blob-bundle

View on GitHub
Deep Wiki
Context7
v0.2.6
  • More efficient clearing of buckets
  • Add option for 'generate-file' command to generate multiple files
  • generate-file: convert some arguments to options
v0.2.5
  • Add new CLI commands:
    • dbp:relay:blob:buckets:clear to clear a bucket
v0.2.4
  • Add new CLI commands:
    • dbp:relay:blob:files:download to download files
    • dbp:relay:blob:files:info to get file information (size, hash, etc.)
    • dbp:relay:blob:files:list to list all files in a bucket
    • dbp:relay:blob:buckets:list to list all buckets
v0.2.3
  • Remove dependency on ramsey/uuid
v0.2.2
  • phpstan workarounds
v0.2.1
  • Fix DB datetime handling in case the global timezone is not UTC
  • Adjust datetime format to include milliseconds and end with "Z" instead of "+00:00" for consistency.
  • Drop support for Symfony 6
  • Fix unit tests with api-platform 4.3
  • Fix various Symfony 7 deprecation warnings
v0.2.0
  • Add support for metadata backups and restores
v0.1.92
  • Drop support for api-platform 3
  • Dependency cleanups
v0.1.91
  • Update dependencies
v0.1.90
  • only validate file in PATCH requests if the file is given in the request
v0.1.9
  • Change meaning of binary GET parameter
    • before it meant that a 302 redirect should be the answer
    • now it means that the base64 encoded data gets sent in the contentUrl
  • Add more documentation
v0.1.89
  • Fix inconsistencies in blob PATCH
  • allow file validation through verity for PATCH requests
v0.1.88
  • Update health-checks to match new config
v0.1.87
  • Update dbp/relay-verity-bundle and adapt to newest version
v0.1.86
  • Add dbp/relay-verity-bundle to check validity of documents
v0.1.85
  • Allow HEAD requests when a valid GET url is given
v0.1.84
  • Add proper tmpfile cleanup to GenerateFileCommand
v0.1.83
  • Make tests more reliable
v0.1.82
  • Add GenerateFileCommand to enable generating dummy files of a given filesize with given blob information directly on the server
v0.1.81
  • FileApi: Fix internal getFileData options (suspend validation); fix exceptions
  • Update the blob library and adapt
v0.1.8
  • Introduce new config options notify_when_quota_over and report_when_expiry_in
  • Rename config option public_key to key and remove config option path
  • Add first version of documentation, primarly endpoint documentation
  • Introduce better error handling and response codes
  • Add missing openapi_context for better api frontend usability
  • Add more testcases
v0.1.79
  • Update blob library and adapt FileApi to implement interface changes
  • Replace DatasystemProviderServiceInterface::getResponse by DatasystemProviderServiceInterface::getFileStream, returning a Psr\Http\Message\StreamInterface which always for a more flexible usage of the file contents (return it as a streamed response, write it to a file in the backend, etc.)
v0.1.77
  • Fix download url (missing base url) for file collection (via FileApi)
v0.1.76
  • rework SignatureUtils
  • adapt to blob library updates
  • do cleanup of temporary unit test files
v0.1.75
  • remove redundant "manual" rawurldecodes
  • have FileApi implement new Dbp\Relay\BlobLibrary\Api\BlobFileApiInterface from dbp/relay-blob-library v0.3.0 and adapt accordingly; make FileApi publicly accessible via alias dbp.relay.blob.file_api
  • add support for query filters for the get file collection endpoint
  • rework the file and metadata integrity check and reports
  • add check bucket size command
  • add find orphan storage files command
  • allow writing output of integrity commands to file
  • clear entity manager from time to time during health checks to avoid memory leaks
v0.1.71
  • add support for api-platform 4.1
v0.1.70
  • set contentUrl of file data also when getting a file/files via the FileApi
  • Add command that updates blob_bucket_sizes table of given id
  • Fix command naming schema
v0.1.7
  • Move reporting interval to bucket config
  • Remove unnecessary config options (config cleanup)
  • Add more requires and default values in the config
  • Code cleanup
v0.1.69
  • check-integrity: show a progress bar
  • Avoid reading/downloading files when calculating the content hash
v0.1.68
  • Various connector interface changes:
    • add getFileHash() method, for getting the hash of a file without downloading it
    • add hasFile() method, for checking if a file exists
    • add listFiles() method, for iterating over all files
    • add getFileSize() method, for getting the size of a file without downloading it
    • remove getSumOfFilesizesOfBucket() method, use getFileSize() instead
    • remove getNumberOfFilesInBucket() method, use listFiles() instead
v0.1.67
  • Always throw a 500 error, if retrieving or deleting a file fails (throws an exception) in the datasystem service
  • Trigger delete success event for autodeleted files too
  • Add optional expireIn parameter to all urls
  • Test with PHP 8.4
  • Port to phpstan 2
v0.1.66
  • throw 404 whenever the file content is requested but not found, except for GET collection, where the file is omitted
  • allow removal of files when the file is not found in the datasystem backend
  • update bucket size on autodeletion (cleanup) of files
  • resolve bucket ID confusion
  • add tests
v0.1.65
  • add unit tests and test utils for further blob unit/API tests, as well as blob integration tests in other bundles
  • fix download link (contentUrl attribute, when 'includeData' is not requested)
  • make attribute 'metadata' nullable
v0.1.64
  • Allow null as value for deleteIn to PATCH the deleteAt date
v0.1.63
  • remove FileData from the connector interface
v0.1.62
  • Rename retentionDuration to deleteIn
  • Remove deleteAt as PATCH parameter
  • Add deleteIn to PATCH parameters, patches the deleteAt date from the time of the request
v0.1.61
  • Minor cleanup of the connector interface
v0.1.60
  • Fix reading old files in the DB without a type set
  • Fix reading empty files
v0.1.6
  • Add "binary" option to GETALL action, which returns 302 redirect links to the binary
  • Introduce new config options for email reporting
v0.1.59
  • Cleanup of the public PHP API
v0.1.58
  • More pagination fixes
v0.1.57
  • FileApi: fix pagination for real
  • Remove unused connector interface methods
v0.1.56
  • FileApi: fix pagination
  • Add getters for the external bucket ID to FileData
v0.1.55
  • Throw 403 if the given 'bucketIdentifer' parameter and the bucket identifier of file in the DB do not match for item operations.
  • Allow File instead of UploadedFile in the internal API
  • Add a health check for the DB connection
  • Fix schema validation in case the CWD was not default server dir
  • Fix contentUrl return value when data is not base64 encoded
v0.1.54
  • Centralize set up of FileData from request for POST and PATCH in BlobService
  • Centralize validation of FileData for POST and PATCH in BlobService
  • Add PHP backend FileApi
  • Refactor/restructure/modernize code; remove duplicate code; enhance performance
  • Fix 404 error when deleting/patching a file with retention duration set (includeDeleteAt param missing)
v0.1.52
  • Optimize file cleanUp to prevent the returning of theoretically infinite entries
v0.1.51
  • Adapt latest migration description
v0.1.50
  • Fix bug that lead to 500 in GET requests
v0.1.5
  • Add concrete implementation for /files/{identifier} endpoint
    • A request to /files/{identifier} returns metadata of the file
    • A request to /files/{identifier} with an parameter binary=1 returns a 302 redirect to the file binary download
  • Code cleanup
v0.1.49
  • Remove max_retention_duration from the bucket config
v0.1.48
  • Throw 404 if item identifier is in an invalid format
  • Drop support for Symfony 5 and api-platform 2
  • Rename exists_until to delete_at
  • If delete_at is NULL, the file will be kept indefinitely
  • Introduce new parameter includeDeleteAt for GET requests. If =1, all files where delete_at is not NULL will be returned. If not set, files where delete_at is not NULL will be ignored.
  • Optimize SQL queries
  • Fix bulk GET to always return the set page size
v0.1.47
  • Provide propertyName in errorDetail for error type mismatch
  • Make retrieval of expired but not deleted data impossible
v0.1.46
  • Fix bug that made referencing of json schemas without the extension .jschema impossible
v0.1.45
  • Add additional information about what went wrong in json schema validation in case of a type mismatch error
v0.1.44
  • Remove config key project_dir again
v0.1.43
  • Enable cross-referencing of json schemas in the same directory
  • Add new config key project_dir, which should point to the root of the project
v0.1.42
  • Disable integrity check cronjob since its inefficient sql uses a lot of memory
v0.1.41
  • Optimize dbp:relay-blob:check-integrity` command to either print only the number of affected files or also the ids of the affected files
v0.1.40
  • Optimize dbp:relay-blob:check-storage command since it could happen that the doctrine em loses connection to the SQL database
v0.1.39
  • Disable reporting emails for now due to potential to run out of memory if database is big
v0.1.38
  • Update core and adapt signatures of FileDataProvider and FileDataProcessor
v0.1.37
  • Fix bug that made it impossible to change the type in some cases in a PATCH request
v0.1.36
  • Disable sending the reporting email to the given notifyEmail for now since a bug would leak information about the amount of other files getting deleted
v0.1.35
  • Fix bug which prevented the sending of the reporting emails
  • Add separate config option for when a quota warning email should be sent
  • Minimize the contents of the reporting email to prevent it from getting too big (before it had every file that will soon expire in it)
  • Implement the flag disableValidation that disables output validation for GET requests if set to =1
  • exists_until is now set to NULL if should be the max retention duration, to reflect changes in the config immediately
  • Rename additionalMetadata to metadata and additionalType to type
  • Remove bcs from signature to decouple body from url
  • Update documentation
  • Code cleanup
v0.1.34
  • Fix bug which set the value of an entry in the blob_bucket_sizes to 0
v0.1.33
  • Fix missing fileHash check for file upload in PATCH
  • Remove email when the bucket quota is reached
  • Json schema validator now expects path to json schema instead of the json schema itself
  • Change some GET error codes that didnt match for the case
  • Implement output validation for GET requests to /download
v0.1.32
  • Add support for api-platform 3.3
v0.1.31
  • Port to PHPUnit 10
  • Port from doctrine annotations to PHP attributes
  • Improve error handling for file post, patch and delete. The database and the actual files should be consistent now.
  • Take delete-bucket operation into consideration when updating the blob_bucket_sizes table
  • Better error handling if post_max_size is exceeded. This is now a separate error case.
  • Add metadata output validation for GET requests
v0.1.30
v0.1.3
  • Retrieve link expire time from config
  • GET requests are now validated by signature in url, and validUntil date
  • remove signature from header
  • signature now signs a sha2 checksum over the url (to shorten the signature)
v0.1.29
  • Add support for api-platform 3.2
v0.1.28
  • The content type for the patch operation is now application/merge-patch+json instead of application/json
v0.1.27
  • Add new blob_bucket_sizes table that keeps track of the blob bucket sizes. This should improve performance massively for big tables.
  • Add cronjob that regularly checks and updates the blob_bucket_sizes table.
v0.1.26
  • Support newer symfony/psr-http-message-bridge
v0.1.25
  • Update to ramsey/uuid-doctrine v2.0
v0.1.24
  • Add index on date_created for better GET request efficiency
v0.1.23
  • Temporary hotfix: Disable bucket size check with SUM() until a better solution is implemented
v0.1.22
  • Migrate db fields prefix, file_name, date_accessed, file_size and additional_type to more fitting, efficient types
  • Add indexes on prefix and internal_bucket_id
  • Remove unused PoliciesStruct and adapt code accordingly
  • Enhance some PATCH error messages
v0.1.21
  • Registering the uuid_binary type in the doctrine config is no longer required, the bundle will now handle it automatically.
v0.1.20
  • Breaking change: Change creationTime to ISO8601 Date instead of unix timestamp
  • Breaking change: Remove exists_until endpoint
  • Breaking change: Change PUT to PATCH
  • Breaking change: Move all POST url parameters but creationTime, method and bucketID to body
  • Breaking change: Migrate db to save the uuid as BINARY instead of as VARCHAR
  • Breaking change: Use UUIDv7 instead of UUIDv4
  • Breaking change: Extend DatasystemProviderServiceInterface by one function that allows upload of base64 encoded files
  • Add additional changeable parameters to body of PATCH
  • Drop support for PHP 7.3
  • Drop support for PHP 7.4/8.0
  • Add support for Symfony 6
v0.1.2
  • remove phpunit functions (assertNotNull)
v0.1.19
  • Improve error handling for file not found cases
  • Add validation of json schema to POST and PUT endpoints
  • Add more and better tests
  • Remove the need for urlencoding the additionalMetadata since it was moved to the body
  • Update dbp/relay-blob-library to v0.2.0
v0.1.18
  • Breaking change: rework checksum cs to an url checksum ucs and a body checksum bcs. ucs is required in every request and works like cs did, and bcs builds a checksum over the json body of a request.
  • fix missing fileName bug in 'PUT' request
  • move cleanup interval to config, s.t. it is more easily configurable
  • database: rename last_access column to date_accessed
  • database: rework extension column to mime_type to store mime types instead extensions
  • database: add date_modified, additional_type columns
  • Add justinrainbow/json-schema to composer.json
v0.1.17
  • Implement parameter startsWith, which enables operations on all prefixes in one bucket starting with prefix.
v0.1.16
  • Refactor whole blob codebase
  • Improve error handling by merging similar error cases into one method
  • Fix wrong http status code was provided in /{id}/download endpoint
v0.1.15
  • Enforce RFC 3986 by using rawurldecode on all url parameters. Before checksum calculation all non-alphanumeric characters have to be converted according to RFC 3986, otherwise the checksum check will fail.
  • Increase file_name column size of blob_files to 1000 characters
v0.1.14
  • Breaking change: /blob/files/{identifier}/download action implemented which returns a binary response of the file with the given identifier
  • Breaking change: Rename parameter binary to includeData, since it returns base64 encoded data not binary data
  • Breaking change: Rename parameter action to method and only include the used method now. CREATONE, GETONE, GETALL, DELETEALL, DELETEONE, PUTONE are removed and replaced by POST, GET, DELETE, PUT.
  • Add docs and new errorIDS for /blob/files/{identifier}/download action
v0.1.13
  • Refactor all errorIDs to kebapcase and adapt documentation
  • Update relay-blob-library to v0.1.5
  • Add an email warning when the used bucket memory reaches a defined percentage of the quota
  • Add on-purpose failing testcases for missing parameters, wrong signatures, ...
  • Enhance docs
v0.1.12
  • Use \Dbp\Relay\BlobLibrary\Helpers\SignatureTools::verify
v0.1.11
  • Use dbp/relay-blob-library and move some code from \Dbp\Relay\BlobBundle\Helper\DenyAccessUnlessCheckSignature to \Dbp\Relay\BlobLibrary\Helpers\SignatureTools
v0.1.10
v0.1.1
  • add signature to url, temporarily also allow signature in header
  • remove echos, remove dumps
  • update to api-platform 2.7
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui