v0.11.0
-
@lowdefy/modules-mongodb-plugins: ### Minor Changes
-
#100
dd309b8Thanks @JohannMoller! - Log file downloads for parity with upload/delete auditing. TheFileManager
block now fires anonDownloadevent (payload{ fileDoc }) when a download is
initiated. Thefile-manager/file-cardcomponents expose a newon_download
var (action list, default[]) for consumer-supplied handlers, and — when
log_eventsis on — record adownload-fileevent via the events module,
matching how uploads and deletes are logged. -
@lowdefy/modules-mongodb-files: ### Minor Changes
-
#100
dd309b8Thanks @JohannMoller! - Log file downloads for parity with upload/delete auditing. TheFileManager
block now fires anonDownloadevent (payload{ fileDoc }) when a download is
initiated. Thefile-manager/file-cardcomponents expose a newon_download
var (action list, default[]) for consumer-supplied handlers, and — when
log_eventsis on — record adownload-fileevent via the events module,
matching how uploads and deletes are logged. -
#100
dd309b8Thanks @JohannMoller! - Export the files module's download-policy request as a named component so it can
be consumed outside thefile-manager/file-listcomponents. Consumers that
render downloadable files themselves — such as the events module's
EventsTimeline— can now_refit inside a page'srequests:list:requests: - _ref: { module: files, component: download-policy, vars: { block_id: <id> } }
This yields a presigned-GET request with id
download_policy_<block_id>on the
module'sfiles-bucketconnection, which the consumer passes as its
s3GetPolicyRequestId. Previously the only module-owned download policy lived
insidefile-manager/file-list, forcing consuming apps to keep their own
copies. -
#100
dd309b8Thanks @JohannMoller! - Expose the FileManager upload-modal form slot on thefile-managerand
file-cardcomponents. Consumers can now pass aform_fieldsblock list
(with field ids<block_id>.form.*) that renders in a post-upload modal;
the entered values are persisted to the file document'smetadata. Adds an
ok_textvar (modal confirm-button label) alongside the existing
modal_title. When the injected form includes a<block_id>.form.file_category
field, its value sets the saved document's top-levelfile_category; the
build-timefile_categoryvar is used as the fallback, so existing consumers
that pass no form are unaffected.