즐겨찾기 검색 필터를 재귀적으로 동작하도록 변경

This commit is contained in:
static
2026-01-18 16:16:38 +09:00
parent 2f6d35c335
commit 3b0cfd5a92
5 changed files with 112 additions and 41 deletions

View File

@@ -8,6 +8,7 @@ const searchRouter = router({
.input(
z.object({
ancestor: DirectoryIdSchema.default("root"),
inFavorites: z.boolean().default(false),
includeCategories: z.number().positive().array().default([]),
excludeCategories: z.number().positive().array().default([]),
}),
@@ -15,10 +16,14 @@ const searchRouter = router({
.query(async ({ ctx, input }) => {
const [directories, files] = await Promise.all([
input.includeCategories.length === 0 && input.excludeCategories.length === 0
? DirectoryRepo.getAllRecursiveDirectoriesByParent(ctx.session.userId, input.ancestor)
? DirectoryRepo.searchDirectories(ctx.session.userId, {
parentId: input.ancestor,
inFavorites: input.inFavorites,
})
: [],
FileRepo.searchFiles(ctx.session.userId, {
parentId: input.ancestor,
inFavorites: input.inFavorites,
includeCategoryIds: input.includeCategories,
excludeCategoryIds: input.excludeCategories,
}),