-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add files deletion when destroying attachment, workspace or workspaceMember #10222
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
This PR implements a comprehensive file cleanup system for handling file deletions when attachments, workspace members, or workspaces are destroyed.
- Added
FileAttachmentListener
andFileWorkspaceMemberListener
in/packages/twenty-server/src/engine/core-modules/file/listeners/
to handle file cleanup on entity deletion - Implemented
FileDeletionJob
andFileWorkspaceFolderDeletionJob
in/packages/twenty-server/src/engine/core-modules/file/jobs/
for queued file deletion operations - Enhanced
FileService
withdeleteFile
anddeleteWorkspaceFolder
methods for safe file system operations - Updated attachment handling in
/packages/twenty-front/src/modules/activities/files/components/AttachmentRow.tsx
to useuseDestroyOneRecord
instead of soft deletion - Modified
WorkspaceService
to include file cleanup when deleting workspaces
Note: Consider adding error handling for file system operations and handling null/undefined avatar URLs in the workspace member listener.
8 file(s) reviewed, 10 comment(s)
Edit PR Review Bot Settings | Greptile
packages/twenty-server/src/engine/core-modules/file/listeners/file-attachment.listener.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/listeners/file-attachment.listener.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/jobs/file-workspace-folder-deletion.job.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/listeners/file-workspace-member.listener.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/listeners/file-workspace-member.listener.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/services/file.service.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/services/file.service.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/jobs/file-deletion.job.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/core-modules/file/services/file.service.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! You can merge and ignore the queue comment if you want, not sure if it's a must
Thanks @etiennejouan for your contribution! |
Solution
closes twentyhq/core-team-issues#147
To go further