99ad2685a0
* Add optional mode argument to persist_uploaded_file This change adds an optional `mode` argument to the `persist_uploaded_file` function, allowing users to specify the Unix file permissions in octal notation when saving uploaded files. - Updated `sqlpage.persist_uploaded_file` signature to include `mode`. - Implemented permission setting logic using `std::os::unix::fs::PermissionsExt` (on Unix platforms). - Default permission is set to "600" (octal `0o600`). - Added documentation for the new parameter in `examples/official-site/sqlpage/migrations/39_persist_uploaded_file.sql`, including an explanation of octal notation and a link to Wikipedia. - Added a unit test `test_set_file_mode` to verify the permission setting logic. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Address PR feedback: Add integrated test for persist_uploaded_file mode - Removed unit test from `functions.rs` and added an integrated test in `tests/uploads/mod.rs`. - Created `tests/uploads/persist_with_mode.sql` for the integrated test. - Refactored `set_file_mode` to use `#[cfg(unix)]` and `#[cfg(not(unix))]` on the entire function. - Replied to PR comments. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Fix Windows CI: Normalize paths and improve tests - Normalized `persist_uploaded_file` return path to use forward slashes for URL compatibility. - Updated `test_persist_uploaded_file_mode` to handle platform-specific path separators. - Fixed clippy warning `expect_fun_call` in tests. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Address PR feedback: Assert file contents and ignore test uploads - Added assertion to verify persisted file contents in `test_persist_uploaded_file_mode`. - Removed accidental test file from git and added `tests_uploads/` to `.gitignore`. - Replied to PR comments. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Address PR feedback: Revert breaking change to return value - Reverted normalization of `persist_uploaded_file` return value to avoid a breaking change. - Reverted corresponding test changes that relied on normalized paths. - Replied to PR comments. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Address PR feedback: Query results as JSON in integrated test - Updated `test_persist_uploaded_file_mode` to directy request and verify JSON results. - Replied to PR comments. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Fix Windows CI: Robust path handling in tests - Improved integrated test to correctly request JSON results. - Added platform-specific path normalization when verifying files on disk. - Ensured `persist_uploaded_file` return value remains OS-specific to avoid breaking changes. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> * Address PR feedback: Delete leftover test file - Deleted accidental leftover test file `tests_uploads/2026-03-13_15h47m26s_6JaXODDK.txt`. - Replied to PR comments. Co-authored-by: lovasoa <552629+lovasoa@users.noreply.github.com> --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
3 lines
139 B
SQL
3 lines
139 B
SQL
set contents = sqlpage.persist_uploaded_file('my_file', 'tests_uploads', 'txt', $mode);
|
|
select 'text' as component, $contents as contents;
|