Complete Gmail correspondence workflow

This commit is contained in:
2026-04-02 12:29:24 +02:00
parent 1f34eb42d2
commit 5cd34f17bb
10 changed files with 1390 additions and 145 deletions
+56
View File
@@ -315,6 +315,7 @@ export interface GmailReviewThread {
messageCount: number;
routing: string;
hasImportedMessages: boolean;
decisionNote?: string | null;
matchedQueries: string[];
jobCandidates: GmailReviewJobCandidate[];
messages: GmailJobMatchedMessage[];
@@ -342,6 +343,61 @@ export interface GmailStatus {
lastSyncError?: string | null;
}
export interface GmailManualSyncResult {
queriesRun: number;
candidateThreadCount: number;
autoLinkedThreadCount: number;
reviewThreadCount: number;
unmatchedThreadCount: number;
importedMessages: number;
importedThreads: number;
skippedMessages: number;
lookbackDays: number;
includeSpamTrash: boolean;
syncedAt: string;
}
export interface GmailSuggestedJobCandidate {
threadId: string;
subject: string;
latestDate?: string | null;
companyName?: string | null;
recruiterName?: string | null;
recruiterEmail?: string | null;
suggestedJobTitle?: string | null;
routing: string;
matchedQueries: string[];
preview: string;
}
export interface GmailSuggestedJobsResponse {
count: number;
items: GmailSuggestedJobCandidate[];
}
export interface CreatedSuggestedGmailJobResult {
jobApplicationId: number;
companyId: number;
threadId: string;
imported: number;
skipped: number;
}
export interface GmailRelinkResult {
threadId: string;
jobApplicationId: number;
imported: number;
skipped: number;
unlinkedMessages: number;
}
export interface GmailUnlinkResult {
threadId: string;
jobApplicationId: number;
removedMessages: number;
decision: string;
}
export interface GmailMessageSummary {
id: string;
threadId: string;