add upload document request / response zod schema

This commit is contained in:
thierryverse 2025-11-20 09:41:47 +02:00 committed by CREDO23
parent 02ea730ab8
commit e237caf91a

View file

@ -43,6 +43,9 @@ export const extensionDocumentContent = z.object({
pageContent: z.string(),
});
/**
* Get documents
*/
export const getDocumentsRequest = z.object({
queryParams: paginationQueryParams
.extend({
@ -57,6 +60,9 @@ export const getDocumentResponse = z.object({
total: z.number(),
});
/**
* Create documents
*/
export const createDocumentRequest = document
.pick({ document_type: true, search_space_id: true })
.extend({
@ -67,7 +73,52 @@ export const createDocumentResponse = z.object({
message: z.literal("Document created successfully"),
});
/**
* Upload documents
*/
export const uploadDocumentRequest = z.object({
files: z.array(z.instanceof(File)),
search_space_id: z.number(),
});
export const uploadDocumentResponse = z.object({
message: z.literal("Files uploaded for processing"),
});
/**
* Search documents
*/
export const searchDocumentsRequest = z.object({
queryParams: paginationQueryParams
.extend({
search_space_id: z.number().or(z.string()).optional(),
document_type: z.array(documentTypeEnum).optional(),
title: z.string().optional(),
})
.nullish(),
});
export const searchDocumentsResponse = z.object({
items: z.array(document),
total: z.number(),
});
/**
* Get document type counts
*/
export const getDocumentTypeCountsRequest = z.object({
queryParams: z
.object({
search_space_id: z.number().or(z.string()).optional(),
})
.nullish(),
});
export const getDocumentTypeCountsResponse = z.record(z.string(), z.number());
export type GetDocumentsRequest = z.infer<typeof getDocumentsRequest>;
export type GetDocumentResponse = z.infer<typeof getDocumentResponse>;
export type CreateDocumentRequest = z.infer<typeof createDocumentRequest>;
export type CreateDocumentResponse = z.infer<typeof createDocumentResponse>;
export type UploadDocumentRequest = z.infer<typeof uploadDocumentRequest>;
export type UploadDocumentResponse = z.infer<typeof uploadDocumentResponse>;