fix(folder): cover soft deleted flows on delete

This commit is contained in:
Ali BARIN
2025-05-19 08:19:06 +00:00
parent 6d8713422c
commit 176eb7b35d
2 changed files with 18 additions and 1 deletions

View File

@@ -38,7 +38,10 @@ class Folder extends Base {
}); });
async delete() { async delete() {
await this.$relatedQuery('flows').patch({ folderId: null }); await this.$relatedQuery('flows')
.withSoftDeleted()
.patch({ folderId: null });
await this.$query().delete(); await this.$query().delete();
} }
} }

View File

@@ -54,6 +54,20 @@ describe('Folder model', () => {
expect(refetchedFlow.folderId).toBe(null); expect(refetchedFlow.folderId).toBe(null);
}); });
it('should set folderId to null for all related soft-deleted flows before deleting the folder', async () => {
const user = await createUser();
const folder = await createFolder({ userId: user.id });
const flow = await createFlow({ folderId: folder.id, userId: user.id });
await flow.$query().delete();
await folder.delete();
const refetchedFlow = await flow.$query().withSoftDeleted();
expect(refetchedFlow.folderId).toBe(null);
});
it('should delete the folder', async () => { it('should delete the folder', async () => {
const user = await createUser(); const user = await createUser();
const folder = await createFolder({ userId: user.id }); const folder = await createFolder({ userId: user.id });