Leon Bösche
c7aab0b026
Fix file sharing: add backend routes for /orgs/files/{fileId}/share, update frontend ShareFileDialog to use correct paths and improve UI
2026-01-24 22:47:27 +01:00
Leon Bösche
228a5c9644
Implement user-specific share link management for files
2026-01-24 22:32:58 +01:00
Leon Bösche
acfd882bba
Refactor ShareFileDialog header to improve layout and ensure text overflow handling
2026-01-24 22:21:50 +01:00
Leon Bösche
1cf778366f
Enhance file sharing handlers to support user ownership checks and improve error handling
2026-01-24 22:13:23 +01:00
Leon Bösche
828b63c8c8
Refactor file download handling to simplify browser download process and ensure proper content disposition for file downloads
2026-01-24 21:11:25 +01:00
Leon Bösche
6bbdc157cb
Implement file sharing functionality with public share links and associated API endpoints
2026-01-24 21:06:18 +01:00
Leon Bösche
c3e3356574
Refactor user struct and user info handling for improved readability
2026-01-24 02:30:34 +01:00
Leon Bösche
c7e740e732
Fix Organization Management dialog type errors
...
- Fix JSON key mismatch in Flutter models: change 'User' to 'user' in Member and JoinRequest fromJson
- Update backend userInfo to send displayName as *string (null when empty)
- Add json tags to database User struct for consistent lowercase keys
- Handle displayName nullability in backend handlers
2026-01-24 02:30:15 +01:00
Leon Bösche
e10e499b6c
Backend: Fix organization API endpoints and RBAC
...
- Fix member list API response format to match frontend expectations
- Fix join requests API response format
- Add proper JSON tags to Invitation struct
- Grant OrgManage permission to admin role for proper RBAC
These changes ensure frontend-backend API contracts are aligned and admins can manage organizations.
2026-01-23 23:48:10 +01:00
Leon Bösche
26cbe83d66
Add JoinPage feature with invite token handling and update routing
2026-01-23 23:39:59 +01:00
Leon Bösche
98e7bbdb9e
Refactor code for improved readability and consistency in multiple files
2026-01-23 23:21:46 +01:00
Leon Bösche
20bc0ac757
Implement complete Organizations feature with RBAC
...
- Add owner/admin/member roles with proper permissions
- Implement invite links and join requests system
- Add organization settings dialog with member management
- Create database migrations for invitations and invite links
- Update backend API with org management endpoints
- Fix compilation errors and audit logging
- Update frontend models and API integration
2026-01-23 23:21:23 +01:00
Leon Bösche
d9a651b375
Enhance audio file handling with improved error logging and UI adjustments for audio player bar positioning
2026-01-17 02:31:33 +01:00
Leon Bösche
9614c0e950
Refactor moveUserFileHandler to simplify source and target file retrieval; improve error handling for missing files.
2026-01-15 13:39:47 +01:00
Leon Bösche
453b60032c
Implement folder move restrictions in file explorer and backend; prevent moving a folder into itself or its own subfolder.
2026-01-14 18:26:02 +01:00
Leon Bösche
70b5b1a4f3
Refactor file download handlers to utilize getMimeType function for content type determination, enhancing support for various file formats.
2026-01-14 17:47:28 +01:00
Leon Bösche
a5dd8d8f39
Refactor video viewer to use HTML5 video element and remove legacy web implementation; enhance content type handling for various video formats in download handlers.
2026-01-14 12:41:56 +01:00
Leon Bösche
fc06f5e36a
Enhance editor logging for file sessions in routes and update video URL handling in file explorer
2026-01-14 12:23:31 +01:00
Leon Bösche
40f7eeee09
Ensure folderPath ends with / for proper relative path calculation in ZIP downloads
2026-01-14 12:11:25 +01:00
Leon Bösche
de720cbdcb
Add user file editor endpoint and enhance WOPI handlers with logging
2026-01-14 12:09:25 +01:00
Leon Bösche
aea5ba9e58
Add functionality to download folders as ZIP archives for both org and user files
2026-01-14 12:02:20 +01:00
Leon Bösche
847a8de414
Refactor moveUserFileHandler to store user files directly in WebDAV root, removing unnecessary path prefix
2026-01-13 22:31:58 +01:00
Leon Bösche
47e94995b5
Refactor viewmodels and enhance security documentation; remove unused viewmodels, add path sanitization, and implement rate limiting
2026-01-13 22:11:02 +01:00
Leon Bösche
6ce43a3c9b
Add last modified tracking: show 'Last modified: date by username' in document viewer
...
- Added modified_by column to files table
- Updated WOPI PutFile to track who modified the file
- Updated view handlers to return file metadata (name, size, lastModified, modifiedByName)
- Updated Flutter models and UI to display last modified info
2026-01-13 16:45:57 +01:00
Leon Bösche
8d9db29db2
Fix WOPI: Use config for Nextcloud URL instead of hardcoded nc.b0esche.cloud
2026-01-13 15:25:04 +01:00
Leon Bösche
350eb27e30
Clarify Collabora proxy token handling for iframe cross-origin requests
2026-01-12 16:08:35 +01:00
Leon Bösche
1b20fe8b7f
Implement WOPI integration for Collabora Online
...
- Add WOPI models (CheckFileInfoResponse, PutFileResponse, LockInfo)
- Implement WOPI handlers: CheckFileInfo, GetFile, PutFile, Lock operations
- Add file locking mechanism to prevent concurrent editing conflicts
- Add WOPI session endpoint for generating access tokens
- Add UpdateFileSize method to database
- Add WOPI routes (/wopi/files/* endpoints)
- Update Flutter document viewer to load Collabora via WOPI WOPISrc URL
- Implement WebView integration for Collabora Online viewer
- Add comprehensive logging for WOPI operations [WOPI-TOKEN], [WOPI-REQUEST], [WOPI-STORAGE], [WOPI-LOCK]
2026-01-12 01:08:22 +01:00
Leon Bösche
d9c8c1e1f3
STYLE: Refactor code for improved readability and consistency
2026-01-12 00:39:36 +01:00
Leon Bösche
923b0ede86
Multi-format document viewer: add image/text/office file type support
2026-01-12 00:22:12 +01:00
Leon Bösche
80411d9231
FIX: Properly detect if target path is a folder when moving files
2026-01-12 00:09:39 +01:00
Leon Bösche
675c2bf95d
FEATURE: Add user file move endpoint and support both personal and org workspace moves
2026-01-12 00:01:47 +01:00
Leon Bösche
6ffe9aa4df
FIX: Create new file record at destination when moving file
2026-01-11 23:47:14 +01:00
Leon Bösche
1680914017
FIX: Simplify move handler and fix API call
2026-01-11 23:39:15 +01:00
Leon Bösche
60df1a38ff
FIX: Remove unused variables in move handler
2026-01-11 23:32:26 +01:00
Leon Bösche
af5c8f0e72
FIX: Implement WebDAV Move and simplified move file handler
2026-01-11 23:14:45 +01:00
Leon Bösche
0378a0748a
FEATURE: Implement file drag-and-drop move functionality
2026-01-11 23:10:14 +01:00
Leon Bösche
17d10e5815
Remove invalid custom HTTP client - use query parameter token for SfPdfViewer
2026-01-11 17:54:01 +01:00
Leon Bösche
ef737429d6
FIX: Use Authorization header for PDF viewer instead of query parameter token
2026-01-11 17:52:08 +01:00
Leon Bösche
2129d72a1f
FIX: Extend JWT token expiration to 24 hours for document viewer sessions
...
- Add GenerateWithDuration method to JWT manager to support custom expiration times
- Update viewerHandler and userViewerHandler to generate viewer-specific tokens with 24-hour expiration
- This fixes the issue where PDF viewer fails due to token expiration within 15 minutes
- Add [VIEWER-SESSION] logging to track viewer session creation
- Tokens now remain valid long enough for users to view, navigate, and interact with PDFs
2026-01-11 17:39:12 +01:00
Leon Bösche
5ef5623c8d
feat: update WebDAV download handler to support range requests and improve response handling
2026-01-11 14:38:03 +01:00
Leon Bösche
619b2fe23c
fix: enforce workspace isolation logging
2026-01-11 05:01:52 +01:00
Leon Bösche
a3a9360110
Enhance JWT token retrieval in viewer and auth middleware for improved security and flexibility
2026-01-11 04:34:14 +01:00
Leon Bösche
bd6dd68f0b
Fix file browser state persistence and PDF viewer loading
...
- Clear file lists in ResetFileBrowser to prevent org files showing in personal workspace
- Include JWT token as query parameter in PDF download URL for viewer compatibility
- Remove Authorization header from SfPdfViewer (browser security restrictions)
- Fix mock repository EditorSession to include required token parameter
2026-01-11 03:40:44 +01:00
Leon Bösche
e9517a5a4d
Fix context key type mismatch causing org files 500 error
...
- Export ContextKey type and context keys from middleware package
- Use exported keys (UserKey, SessionKey, TokenKey, OrgKey) in handlers
- Fixes panic: interface conversion: interface {} is nil, not uuid.UUID
- The middleware was setting context with contextKey type but handlers
were retrieving with string type, causing nil value lookup failure
2026-01-11 03:30:31 +01:00
Leon Bösche
d3ed7fd4f3
Add comprehensive debug logging for password flow and org creation diagnostics
2026-01-11 01:45:59 +01:00
Leon Bösche
4a4e03e041
Fix getUserWebDAVClient to use actual username and COALESCE for NULL handling
2026-01-10 23:16:02 +01:00
Leon Bösche
18600a6bc1
Implement user provisioning for Nextcloud accounts and enhance WebDAV client handling
2026-01-10 22:58:35 +01:00
Leon Bösche
185cbc83b9
Remove unused os import and enforce exclusive use of Nextcloud WebDAV storage in file handlers
2026-01-10 21:46:16 +01:00
Leon Bösche
e64925b438
Refactor file handling to exclusively use Nextcloud WebDAV storage, removing local fallback logic
2026-01-10 21:46:12 +01:00
Leon Bösche
6c864612db
Add comprehensive upload/download debugging to fix file storage issues
2026-01-10 21:11:53 +01:00