mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-17 18:35:19 +02:00
feat: add connector deletion type and metadata schema to inbox types
This commit is contained in:
parent
bf08982029
commit
9e29265a61
1 changed files with 34 additions and 0 deletions
|
|
@ -7,6 +7,7 @@ import { documentTypeEnum } from "./document.types";
|
||||||
*/
|
*/
|
||||||
export const inboxItemTypeEnum = z.enum([
|
export const inboxItemTypeEnum = z.enum([
|
||||||
"connector_indexing",
|
"connector_indexing",
|
||||||
|
"connector_deletion",
|
||||||
"document_processing",
|
"document_processing",
|
||||||
"new_mention",
|
"new_mention",
|
||||||
"page_limit_exceeded",
|
"page_limit_exceeded",
|
||||||
|
|
@ -60,6 +61,17 @@ export const connectorIndexingMetadata = baseInboxItemMetadata.extend({
|
||||||
file_names: z.array(z.string()).optional(),
|
file_names: z.array(z.string()).optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Connector deletion metadata schema
|
||||||
|
*/
|
||||||
|
export const connectorDeletionMetadata = baseInboxItemMetadata.extend({
|
||||||
|
connector_id: z.number(),
|
||||||
|
connector_name: z.string(),
|
||||||
|
connector_type: z.string(),
|
||||||
|
documents_deleted: z.number(),
|
||||||
|
error: z.string().optional(),
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Document processing metadata schema
|
* Document processing metadata schema
|
||||||
*/
|
*/
|
||||||
|
|
@ -110,6 +122,7 @@ export const pageLimitExceededMetadata = baseInboxItemMetadata.extend({
|
||||||
*/
|
*/
|
||||||
export const inboxItemMetadata = z.union([
|
export const inboxItemMetadata = z.union([
|
||||||
connectorIndexingMetadata,
|
connectorIndexingMetadata,
|
||||||
|
connectorDeletionMetadata,
|
||||||
documentProcessingMetadata,
|
documentProcessingMetadata,
|
||||||
newMentionMetadata,
|
newMentionMetadata,
|
||||||
pageLimitExceededMetadata,
|
pageLimitExceededMetadata,
|
||||||
|
|
@ -140,6 +153,11 @@ export const connectorIndexingInboxItem = inboxItem.extend({
|
||||||
metadata: connectorIndexingMetadata,
|
metadata: connectorIndexingMetadata,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const connectorDeletionInboxItem = inboxItem.extend({
|
||||||
|
type: z.literal("connector_deletion"),
|
||||||
|
metadata: connectorDeletionMetadata,
|
||||||
|
});
|
||||||
|
|
||||||
export const documentProcessingInboxItem = inboxItem.extend({
|
export const documentProcessingInboxItem = inboxItem.extend({
|
||||||
type: z.literal("document_processing"),
|
type: z.literal("document_processing"),
|
||||||
metadata: documentProcessingMetadata,
|
metadata: documentProcessingMetadata,
|
||||||
|
|
@ -235,6 +253,15 @@ export function isConnectorIndexingMetadata(
|
||||||
return connectorIndexingMetadata.safeParse(metadata).success;
|
return connectorIndexingMetadata.safeParse(metadata).success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type guard for ConnectorDeletionMetadata
|
||||||
|
*/
|
||||||
|
export function isConnectorDeletionMetadata(
|
||||||
|
metadata: unknown
|
||||||
|
): metadata is ConnectorDeletionMetadata {
|
||||||
|
return connectorDeletionMetadata.safeParse(metadata).success;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type guard for DocumentProcessingMetadata
|
* Type guard for DocumentProcessingMetadata
|
||||||
*/
|
*/
|
||||||
|
|
@ -268,6 +295,7 @@ export function parseInboxItemMetadata(
|
||||||
metadata: unknown
|
metadata: unknown
|
||||||
):
|
):
|
||||||
| ConnectorIndexingMetadata
|
| ConnectorIndexingMetadata
|
||||||
|
| ConnectorDeletionMetadata
|
||||||
| DocumentProcessingMetadata
|
| DocumentProcessingMetadata
|
||||||
| NewMentionMetadata
|
| NewMentionMetadata
|
||||||
| PageLimitExceededMetadata
|
| PageLimitExceededMetadata
|
||||||
|
|
@ -277,6 +305,10 @@ export function parseInboxItemMetadata(
|
||||||
const result = connectorIndexingMetadata.safeParse(metadata);
|
const result = connectorIndexingMetadata.safeParse(metadata);
|
||||||
return result.success ? result.data : null;
|
return result.success ? result.data : null;
|
||||||
}
|
}
|
||||||
|
case "connector_deletion": {
|
||||||
|
const result = connectorDeletionMetadata.safeParse(metadata);
|
||||||
|
return result.success ? result.data : null;
|
||||||
|
}
|
||||||
case "document_processing": {
|
case "document_processing": {
|
||||||
const result = documentProcessingMetadata.safeParse(metadata);
|
const result = documentProcessingMetadata.safeParse(metadata);
|
||||||
return result.success ? result.data : null;
|
return result.success ? result.data : null;
|
||||||
|
|
@ -303,12 +335,14 @@ export type InboxItemStatusEnum = z.infer<typeof inboxItemStatusEnum>;
|
||||||
export type DocumentProcessingStageEnum = z.infer<typeof documentProcessingStageEnum>;
|
export type DocumentProcessingStageEnum = z.infer<typeof documentProcessingStageEnum>;
|
||||||
export type BaseInboxItemMetadata = z.infer<typeof baseInboxItemMetadata>;
|
export type BaseInboxItemMetadata = z.infer<typeof baseInboxItemMetadata>;
|
||||||
export type ConnectorIndexingMetadata = z.infer<typeof connectorIndexingMetadata>;
|
export type ConnectorIndexingMetadata = z.infer<typeof connectorIndexingMetadata>;
|
||||||
|
export type ConnectorDeletionMetadata = z.infer<typeof connectorDeletionMetadata>;
|
||||||
export type DocumentProcessingMetadata = z.infer<typeof documentProcessingMetadata>;
|
export type DocumentProcessingMetadata = z.infer<typeof documentProcessingMetadata>;
|
||||||
export type NewMentionMetadata = z.infer<typeof newMentionMetadata>;
|
export type NewMentionMetadata = z.infer<typeof newMentionMetadata>;
|
||||||
export type PageLimitExceededMetadata = z.infer<typeof pageLimitExceededMetadata>;
|
export type PageLimitExceededMetadata = z.infer<typeof pageLimitExceededMetadata>;
|
||||||
export type InboxItemMetadata = z.infer<typeof inboxItemMetadata>;
|
export type InboxItemMetadata = z.infer<typeof inboxItemMetadata>;
|
||||||
export type InboxItem = z.infer<typeof inboxItem>;
|
export type InboxItem = z.infer<typeof inboxItem>;
|
||||||
export type ConnectorIndexingInboxItem = z.infer<typeof connectorIndexingInboxItem>;
|
export type ConnectorIndexingInboxItem = z.infer<typeof connectorIndexingInboxItem>;
|
||||||
|
export type ConnectorDeletionInboxItem = z.infer<typeof connectorDeletionInboxItem>;
|
||||||
export type DocumentProcessingInboxItem = z.infer<typeof documentProcessingInboxItem>;
|
export type DocumentProcessingInboxItem = z.infer<typeof documentProcessingInboxItem>;
|
||||||
export type NewMentionInboxItem = z.infer<typeof newMentionInboxItem>;
|
export type NewMentionInboxItem = z.infer<typeof newMentionInboxItem>;
|
||||||
export type PageLimitExceededInboxItem = z.infer<typeof pageLimitExceededInboxItem>;
|
export type PageLimitExceededInboxItem = z.infer<typeof pageLimitExceededInboxItem>;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue