Skip to main content

createInboxThreadSchema()

function createInboxThreadSchema(linkBaseUrl?: string): ZodPipe<ZodObject<{
actions: ZodOptional<ZodNullable<ZodArray<ZodUnknown>>>;
attachments: ZodOptional<ZodNullable<ZodArray<ZodObject<{
attachmentId: ZodString;
description: ZodOptional<ZodNullable<ZodString>>;
duration: ZodOptional<ZodNullable<ZodString>>;
fileName: ZodOptional<ZodNullable<ZodString>>;
fileSize: ZodOptional<ZodNullable<ZodNumber>>;
image: ZodOptional<ZodNullable<ZodString>>;
imageHeight: ZodOptional<ZodNullable<ZodNumber>>;
imageWidth: ZodOptional<ZodNullable<ZodNumber>>;
title: ZodOptional<ZodNullable<ZodString>>;
underlyingType: ZodOptional<ZodNullable<ZodString>>;
uploadState: ZodOptional<ZodNullable<ZodString>>;
url: ZodOptional<ZodNullable<ZodString>>;
urlType: ZodString;
video: ZodOptional<ZodNullable<ZodString>>;
videoAutoPlay: ZodOptional<ZodNullable<ZodBoolean>>;
videoType: ZodOptional<ZodNullable<ZodString>>;
}, $loose>>>>;
channelId: ZodString;
closed: ZodBoolean;
commentCount: ZodNumber;
content: ZodString;
creator: ZodNumber;
creatorName: ZodOptional<ZodNullable<ZodString>>;
directGroupMentions: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
directMentions: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>;
groups: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
id: ZodString;
inInbox: ZodBoolean;
isArchived: ZodBoolean;
isSaved: ZodOptional<ZodNullable<ZodBoolean>>;
lastComment: ZodOptional<ZodNullable<ZodPipe<ZodObject<{
actions: ZodOptional<ZodNullable<ZodArray<...>>>;
attachments: ZodOptional<ZodNullable<ZodArray<...>>>;
channelId: ZodString;
content: ZodString;
conversationId: ZodOptional<ZodNullable<ZodString>>;
creator: ZodNumber;
creatorName: ZodOptional<ZodNullable<ZodString>>;
deleted: ZodOptional<ZodNullable<ZodBoolean>>;
deletedBy: ZodOptional<ZodNullable<ZodNumber>>;
directGroupMentions: ZodOptional<ZodNullable<ZodArray<...>>>;
directMentions: ZodOptional<ZodNullable<ZodArray<...>>>;
groups: ZodOptional<ZodNullable<ZodArray<...>>>;
id: ZodString;
lastEdited: ZodOptional<ZodNullable<ZodDate>>;
objIndex: ZodOptional<ZodNullable<ZodNumber>>;
posted: ZodDate;
reactions: ZodOptional<ZodNullable<ZodRecord<..., ...>>>;
recipients: ZodOptional<ZodNullable<ZodArray<...>>>;
systemMessage: ZodOptional<ZodNullable<ZodUnion<...>>>;
threadId: ZodString;
toEmails: ZodOptional<ZodNullable<ZodArray<...>>>;
version: ZodOptional<ZodNullable<ZodNumber>>;
workspaceId: ZodNumber;
}, $strip>, ZodTransform<{
actions?: unknown[] | null;
attachments?: | {
[key: ...]: ...;
attachmentId: ...;
description?: ...;
duration?: ...;
fileName?: ...;
fileSize?: ...;
image?: ...;
imageHeight?: ...;
imageWidth?: ...;
title?: ...;
underlyingType?: ...;
uploadState?: ...;
url?: ...;
urlType: ...;
video?: ...;
videoAutoPlay?: ...;
videoType?: ...;
}[]
| null;
channelId: string;
content: string;
conversationId?: string | null;
creator: number;
creatorName?: string | null;
deleted?: boolean | null;
deletedBy?: number | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
lastEdited?: Date | null;
objIndex?: number | null;
posted: Date;
reactions?: Record<string, unknown> | null;
recipients?: number[] | null;
systemMessage?: unknown;
threadId: string;
toEmails?: string[] | null;
url: string;
version?: number | null;
workspaceId: number;
}, {
actions?: unknown[] | null;
attachments?: | {
[key: ...]: ...;
attachmentId: ...;
description?: ...;
duration?: ...;
fileName?: ...;
fileSize?: ...;
image?: ...;
imageHeight?: ...;
imageWidth?: ...;
title?: ...;
underlyingType?: ...;
uploadState?: ...;
url?: ...;
urlType: ...;
video?: ...;
videoAutoPlay?: ...;
videoType?: ...;
}[]
| null;
channelId: string;
content: string;
conversationId?: string | null;
creator: number;
creatorName?: string | null;
deleted?: boolean | null;
deletedBy?: number | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
lastEdited?: Date | null;
objIndex?: number | null;
posted: Date;
reactions?: Record<string, unknown> | null;
recipients?: number[] | null;
systemMessage?: unknown;
threadId: string;
toEmails?: string[] | null;
version?: number | null;
workspaceId: number;
}>>>>;
lastEdited: ZodOptional<ZodNullable<ZodDate>>;
lastObjIndex: ZodOptional<ZodNullable<ZodNumber>>;
lastUpdated: ZodDate;
mutedUntil: ZodOptional<ZodNullable<ZodDate>>;
participants: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>;
pinned: ZodOptional<ZodBoolean>;
pinnedTs: ZodOptional<ZodNullable<ZodNumber>>;
posted: ZodDate;
reactions: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodArray<ZodNumber>>>>;
recipients: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>;
responders: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>;
snippet: ZodString;
snippetCreator: ZodNumber;
snippetMaskAvatarUrl: ZodOptional<ZodNullable<ZodString>>;
snippetMaskPoster: ZodOptional<ZodNullable<ZodString>>;
systemMessage: ZodOptional<ZodNullable<ZodUnion<readonly [ZodString, ZodUnknown]>>>;
title: ZodString;
toEmails: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
version: ZodOptional<ZodNullable<ZodNumber>>;
workspaceId: ZodNumber;
}, $strip>, ZodTransform<{
actions?: unknown[] | null;
attachments?: | {
[key: string]: unknown;
attachmentId: string;
description?: string | null;
duration?: string | null;
fileName?: string | null;
fileSize?: number | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
title?: string | null;
underlyingType?: string | null;
uploadState?: string | null;
url?: string | null;
urlType: string;
video?: string | null;
videoAutoPlay?: boolean | null;
videoType?: string | null;
}[]
| null;
channelId: string;
closed: boolean;
commentCount: number;
content: string;
creator: number;
creatorName?: string | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
inInbox: boolean;
isArchived: boolean;
isSaved?: boolean | null;
lastComment?: | {
actions?: unknown[] | null;
attachments?: | {
[key: string]: unknown;
attachmentId: string;
description?: string | null;
duration?: string | null;
fileName?: string | null;
fileSize?: number | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
title?: string | null;
underlyingType?: string | null;
uploadState?: string | null;
url?: string | null;
urlType: string;
video?: string | null;
videoAutoPlay?: boolean | null;
videoType?: string | null;
}[]
| null;
channelId: string;
content: string;
conversationId?: string | null;
creator: number;
creatorName?: string | null;
deleted?: boolean | null;
deletedBy?: number | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
lastEdited?: Date | null;
objIndex?: number | null;
posted: Date;
reactions?: Record<string, unknown> | null;
recipients?: number[] | null;
systemMessage?: unknown;
threadId: string;
toEmails?: string[] | null;
url: string;
version?: number | null;
workspaceId: number;
}
| null;
lastEdited?: Date | null;
lastObjIndex?: number | null;
lastUpdated: Date;
mutedUntil?: Date | null;
participants?: number[] | null;
pinned?: boolean;
pinnedTs?: number | null;
posted: Date;
reactions?: Record<string, number[]> | null;
recipients?: number[] | null;
responders?: number[] | null;
snippet: string;
snippetCreator: number;
snippetMaskAvatarUrl?: string | null;
snippetMaskPoster?: string | null;
systemMessage?: unknown;
title: string;
toEmails?: string[] | null;
url: string;
version?: number | null;
workspaceId: number;
}, {
actions?: unknown[] | null;
attachments?: | {
[key: string]: unknown;
attachmentId: string;
description?: string | null;
duration?: string | null;
fileName?: string | null;
fileSize?: number | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
title?: string | null;
underlyingType?: string | null;
uploadState?: string | null;
url?: string | null;
urlType: string;
video?: string | null;
videoAutoPlay?: boolean | null;
videoType?: string | null;
}[]
| null;
channelId: string;
closed: boolean;
commentCount: number;
content: string;
creator: number;
creatorName?: string | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
inInbox: boolean;
isArchived: boolean;
isSaved?: boolean | null;
lastComment?: | {
actions?: unknown[] | null;
attachments?: | {
[key: string]: unknown;
attachmentId: string;
description?: string | null;
duration?: string | null;
fileName?: string | null;
fileSize?: number | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
title?: string | null;
underlyingType?: string | null;
uploadState?: string | null;
url?: string | null;
urlType: string;
video?: string | null;
videoAutoPlay?: boolean | null;
videoType?: string | null;
}[]
| null;
channelId: string;
content: string;
conversationId?: string | null;
creator: number;
creatorName?: string | null;
deleted?: boolean | null;
deletedBy?: number | null;
directGroupMentions?: string[] | null;
directMentions?: number[] | null;
groups?: string[] | null;
id: string;
lastEdited?: Date | null;
objIndex?: number | null;
posted: Date;
reactions?: Record<string, unknown> | null;
recipients?: number[] | null;
systemMessage?: unknown;
threadId: string;
toEmails?: string[] | null;
url: string;
version?: number | null;
workspaceId: number;
}
| null;
lastEdited?: Date | null;
lastObjIndex?: number | null;
lastUpdated: Date;
mutedUntil?: Date | null;
participants?: number[] | null;
pinned?: boolean;
pinnedTs?: number | null;
posted: Date;
reactions?: Record<string, number[]> | null;
recipients?: number[] | null;
responders?: number[] | null;
snippet: string;
snippetCreator: number;
snippetMaskAvatarUrl?: string | null;
snippetMaskPoster?: string | null;
systemMessage?: unknown;
title: string;
toEmails?: string[] | null;
version?: number | null;
workspaceId: number;
}>>;

Parameters

ParameterType
linkBaseUrl?string

Returns

ZodPipe<ZodObject<{ actions: ZodOptional<ZodNullable<ZodArray<ZodUnknown>>>; attachments: ZodOptional<ZodNullable<ZodArray<ZodObject<{ attachmentId: ZodString; description: ZodOptional<ZodNullable<ZodString>>; duration: ZodOptional<ZodNullable<ZodString>>; fileName: ZodOptional<ZodNullable<ZodString>>; fileSize: ZodOptional<ZodNullable<ZodNumber>>; image: ZodOptional<ZodNullable<ZodString>>; imageHeight: ZodOptional<ZodNullable<ZodNumber>>; imageWidth: ZodOptional<ZodNullable<ZodNumber>>; title: ZodOptional<ZodNullable<ZodString>>; underlyingType: ZodOptional<ZodNullable<ZodString>>; uploadState: ZodOptional<ZodNullable<ZodString>>; url: ZodOptional<ZodNullable<ZodString>>; urlType: ZodString; video: ZodOptional<ZodNullable<ZodString>>; videoAutoPlay: ZodOptional<ZodNullable<ZodBoolean>>; videoType: ZodOptional<ZodNullable<ZodString>>; }, $loose>>>>; channelId: ZodString; closed: ZodBoolean; commentCount: ZodNumber; content: ZodString; creator: ZodNumber; creatorName: ZodOptional<ZodNullable<ZodString>>; directGroupMentions: ZodOptional<ZodNullable<ZodArray<ZodString>>>; directMentions: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>; groups: ZodOptional<ZodNullable<ZodArray<ZodString>>>; id: ZodString; inInbox: ZodBoolean; isArchived: ZodBoolean; isSaved: ZodOptional<ZodNullable<ZodBoolean>>; lastComment: ZodOptional<ZodNullable<ZodPipe<ZodObject<{ actions: ZodOptional<ZodNullable<ZodArray<...>>>; attachments: ZodOptional<ZodNullable<ZodArray<...>>>; channelId: ZodString; content: ZodString; conversationId: ZodOptional<ZodNullable<ZodString>>; creator: ZodNumber; creatorName: ZodOptional<ZodNullable<ZodString>>; deleted: ZodOptional<ZodNullable<ZodBoolean>>; deletedBy: ZodOptional<ZodNullable<ZodNumber>>; directGroupMentions: ZodOptional<ZodNullable<ZodArray<...>>>; directMentions: ZodOptional<ZodNullable<ZodArray<...>>>; groups: ZodOptional<ZodNullable<ZodArray<...>>>; id: ZodString; lastEdited: ZodOptional<ZodNullable<ZodDate>>; objIndex: ZodOptional<ZodNullable<ZodNumber>>; posted: ZodDate; reactions: ZodOptional<ZodNullable<ZodRecord<..., ...>>>; recipients: ZodOptional<ZodNullable<ZodArray<...>>>; systemMessage: ZodOptional<ZodNullable<ZodUnion<...>>>; threadId: ZodString; toEmails: ZodOptional<ZodNullable<ZodArray<...>>>; version: ZodOptional<ZodNullable<ZodNumber>>; workspaceId: ZodNumber; }, $strip>, ZodTransform<{ actions?: unknown[] | null; attachments?: | { [key: ...]: ...; attachmentId: ...; description?: ...; duration?: ...; fileName?: ...; fileSize?: ...; image?: ...; imageHeight?: ...; imageWidth?: ...; title?: ...; underlyingType?: ...; uploadState?: ...; url?: ...; urlType: ...; video?: ...; videoAutoPlay?: ...; videoType?: ...; }[] | null; channelId: string; content: string; conversationId?: string | null; creator: number; creatorName?: string | null; deleted?: boolean | null; deletedBy?: number | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; lastEdited?: Date | null; objIndex?: number | null; posted: Date; reactions?: Record<string, unknown> | null; recipients?: number[] | null; systemMessage?: unknown; threadId: string; toEmails?: string[] | null; url: string; version?: number | null; workspaceId: number; }, { actions?: unknown[] | null; attachments?: | { [key: ...]: ...; attachmentId: ...; description?: ...; duration?: ...; fileName?: ...; fileSize?: ...; image?: ...; imageHeight?: ...; imageWidth?: ...; title?: ...; underlyingType?: ...; uploadState?: ...; url?: ...; urlType: ...; video?: ...; videoAutoPlay?: ...; videoType?: ...; }[] | null; channelId: string; content: string; conversationId?: string | null; creator: number; creatorName?: string | null; deleted?: boolean | null; deletedBy?: number | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; lastEdited?: Date | null; objIndex?: number | null; posted: Date; reactions?: Record<string, unknown> | null; recipients?: number[] | null; systemMessage?: unknown; threadId: string; toEmails?: string[] | null; version?: number | null; workspaceId: number; }>>>>; lastEdited: ZodOptional<ZodNullable<ZodDate>>; lastObjIndex: ZodOptional<ZodNullable<ZodNumber>>; lastUpdated: ZodDate; mutedUntil: ZodOptional<ZodNullable<ZodDate>>; participants: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>; pinned: ZodOptional<ZodBoolean>; pinnedTs: ZodOptional<ZodNullable<ZodNumber>>; posted: ZodDate; reactions: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodArray<ZodNumber>>>>; recipients: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>; responders: ZodOptional<ZodNullable<ZodArray<ZodNumber>>>; snippet: ZodString; snippetCreator: ZodNumber; snippetMaskAvatarUrl: ZodOptional<ZodNullable<ZodString>>; snippetMaskPoster: ZodOptional<ZodNullable<ZodString>>; systemMessage: ZodOptional<ZodNullable<ZodUnion<readonly [ZodString, ZodUnknown]>>>; title: ZodString; toEmails: ZodOptional<ZodNullable<ZodArray<ZodString>>>; version: ZodOptional<ZodNullable<ZodNumber>>; workspaceId: ZodNumber; }, $strip>, ZodTransform<{ actions?: unknown[] | null; attachments?: | { [key: string]: unknown; attachmentId: string; description?: string | null; duration?: string | null; fileName?: string | null; fileSize?: number | null; image?: string | null; imageHeight?: number | null; imageWidth?: number | null; title?: string | null; underlyingType?: string | null; uploadState?: string | null; url?: string | null; urlType: string; video?: string | null; videoAutoPlay?: boolean | null; videoType?: string | null; }[] | null; channelId: string; closed: boolean; commentCount: number; content: string; creator: number; creatorName?: string | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; inInbox: boolean; isArchived: boolean; isSaved?: boolean | null; lastComment?: | { actions?: unknown[] | null; attachments?: | { [key: string]: unknown; attachmentId: string; description?: string | null; duration?: string | null; fileName?: string | null; fileSize?: number | null; image?: string | null; imageHeight?: number | null; imageWidth?: number | null; title?: string | null; underlyingType?: string | null; uploadState?: string | null; url?: string | null; urlType: string; video?: string | null; videoAutoPlay?: boolean | null; videoType?: string | null; }[] | null; channelId: string; content: string; conversationId?: string | null; creator: number; creatorName?: string | null; deleted?: boolean | null; deletedBy?: number | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; lastEdited?: Date | null; objIndex?: number | null; posted: Date; reactions?: Record<string, unknown> | null; recipients?: number[] | null; systemMessage?: unknown; threadId: string; toEmails?: string[] | null; url: string; version?: number | null; workspaceId: number; } | null; lastEdited?: Date | null; lastObjIndex?: number | null; lastUpdated: Date; mutedUntil?: Date | null; participants?: number[] | null; pinned?: boolean; pinnedTs?: number | null; posted: Date; reactions?: Record<string, number[]> | null; recipients?: number[] | null; responders?: number[] | null; snippet: string; snippetCreator: number; snippetMaskAvatarUrl?: string | null; snippetMaskPoster?: string | null; systemMessage?: unknown; title: string; toEmails?: string[] | null; url: string; version?: number | null; workspaceId: number; }, { actions?: unknown[] | null; attachments?: | { [key: string]: unknown; attachmentId: string; description?: string | null; duration?: string | null; fileName?: string | null; fileSize?: number | null; image?: string | null; imageHeight?: number | null; imageWidth?: number | null; title?: string | null; underlyingType?: string | null; uploadState?: string | null; url?: string | null; urlType: string; video?: string | null; videoAutoPlay?: boolean | null; videoType?: string | null; }[] | null; channelId: string; closed: boolean; commentCount: number; content: string; creator: number; creatorName?: string | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; inInbox: boolean; isArchived: boolean; isSaved?: boolean | null; lastComment?: | { actions?: unknown[] | null; attachments?: | { [key: string]: unknown; attachmentId: string; description?: string | null; duration?: string | null; fileName?: string | null; fileSize?: number | null; image?: string | null; imageHeight?: number | null; imageWidth?: number | null; title?: string | null; underlyingType?: string | null; uploadState?: string | null; url?: string | null; urlType: string; video?: string | null; videoAutoPlay?: boolean | null; videoType?: string | null; }[] | null; channelId: string; content: string; conversationId?: string | null; creator: number; creatorName?: string | null; deleted?: boolean | null; deletedBy?: number | null; directGroupMentions?: string[] | null; directMentions?: number[] | null; groups?: string[] | null; id: string; lastEdited?: Date | null; objIndex?: number | null; posted: Date; reactions?: Record<string, unknown> | null; recipients?: number[] | null; systemMessage?: unknown; threadId: string; toEmails?: string[] | null; url: string; version?: number | null; workspaceId: number; } | null; lastEdited?: Date | null; lastObjIndex?: number | null; lastUpdated: Date; mutedUntil?: Date | null; participants?: number[] | null; pinned?: boolean; pinnedTs?: number | null; posted: Date; reactions?: Record<string, number[]> | null; recipients?: number[] | null; responders?: number[] | null; snippet: string; snippetCreator: number; snippetMaskAvatarUrl?: string | null; snippetMaskPoster?: string | null; systemMessage?: unknown; title: string; toEmails?: string[] | null; version?: number | null; workspaceId: number; }>>