Files
outline/server/routes/api/searches/schema.ts
Tom Moor 551f569896 feat: Allow filtering searches by 'source'
fix: Do not show API searches in recent list in app
2023-12-27 16:56:27 -05:00

34 lines
876 B
TypeScript

import isEmpty from "lodash/isEmpty";
import { z } from "zod";
import BaseSchema from "../BaseSchema";
export const SearchesDeleteSchema = BaseSchema.extend({
body: z.object({
id: z.string().uuid().optional(),
query: z.string().optional(),
}),
}).refine((req) => !(isEmpty(req.body.id) && isEmpty(req.body.query)), {
message: "id or query is required",
});
export type SearchesDeleteReq = z.infer<typeof SearchesDeleteSchema>;
export const SearchesUpdateSchema = BaseSchema.extend({
body: z.object({
id: z.string().uuid(),
score: z.number().min(-1).max(1),
}),
});
export type SearchesUpdateReq = z.infer<typeof SearchesUpdateSchema>;
export const SearchesListSchema = BaseSchema.extend({
body: z
.object({
source: z.string().optional(),
})
.optional(),
});
export type SearchesListReq = z.infer<typeof SearchesListSchema>;