You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(folders): scope every folder query to its resource type
Review + cleanup pass over the cutover.
- id-keyed lookups were left unfiltered on the theory that UUIDs cannot
collide across resource types. That rules out accidental collision but
not a caller passing a file/kb/table folder id as a workflow folderId —
isFolderInWorkspace and the folder PUT/DELETE/parent checks would have
accepted one. Every folder query now carries the resourceType filter
- the soft-delete cleanup job pointed at the shared folder table with no
resource scope, so it would have hard-deleted file/kb/table rows the
workflow cleanup does not own; batchDeleteByWorkspaceAndTimestamp gains
an additionalPredicate and the folder target uses it
- drop lib/folders/cascade.ts and config.ts: unreferenced, and a second
recursive cascade engine over the same table that duplicates
folder-lifecycle's. They belong with their first consumer
- narrow listFoldersQuerySchema.resourceType to the servable set instead
of accepting the full enum and silently answering "you have none",
matching the create and reorder bodies
- de-alias `folder as workflowFolder` to `folderTable`; collapse six
doubled resourceType predicates; drop the orphaned CreateFolderInput
and restore TSDoc lost to the dead-code delete
0 commit comments