feat(file): simplify search type param
parent
3c11eda350
commit
52ae62d4cc
|
|
@ -542,10 +542,10 @@ export namespace File {
|
|||
})
|
||||
}
|
||||
|
||||
export async function search(input: { query: string; limit?: number; dirs?: boolean; type?: "file" | "directory" }) {
|
||||
export async function search(input: { query: string; limit?: number; type?: "file" | "directory" | "all" }) {
|
||||
const query = input.query.trim()
|
||||
const limit = input.limit ?? 100
|
||||
const kind = input.type ?? (input.dirs === false ? "file" : "all")
|
||||
const kind = input.type ?? "all"
|
||||
log.info("search", { query, kind })
|
||||
|
||||
if (!query) {
|
||||
|
|
|
|||
|
|
@ -63,20 +63,17 @@ export const FileRoutes = lazy(() =>
|
|||
"query",
|
||||
z.object({
|
||||
query: z.string(),
|
||||
dirs: z.enum(["true", "false"]).optional(),
|
||||
type: z.enum(["file", "directory"]).optional(),
|
||||
type: z.enum(["file", "directory", "all"]).optional(),
|
||||
limit: z.coerce.number().int().min(1).max(200).optional(),
|
||||
}),
|
||||
),
|
||||
async (c) => {
|
||||
const query = c.req.valid("query").query
|
||||
const dirs = c.req.valid("query").dirs
|
||||
const type = c.req.valid("query").type
|
||||
const limit = c.req.valid("query").limit
|
||||
const results = await File.search({
|
||||
query,
|
||||
limit: limit ?? 10,
|
||||
dirs: dirs !== "false",
|
||||
type,
|
||||
})
|
||||
return c.json(results)
|
||||
|
|
|
|||
Loading…
Reference in New Issue