93 lines
1.8 KiB
TypeScript
93 lines
1.8 KiB
TypeScript
export interface Company {
|
|
id: number;
|
|
name: string;
|
|
location?: string;
|
|
source?: string;
|
|
recruiterName?: string;
|
|
recruiterEmail?: string;
|
|
recruiterLinkedIn?: string;
|
|
lastContactedAt?: string;
|
|
nextContactAt?: string;
|
|
pipelineStage?: string;
|
|
}
|
|
|
|
export interface JobApplication {
|
|
id: number;
|
|
jobTitle: string;
|
|
company: Company;
|
|
companyId?: number;
|
|
status: string;
|
|
dateApplied: string;
|
|
location?: string;
|
|
salary?: string;
|
|
nextAction?: string;
|
|
followUpAt?: string;
|
|
feedbackRequestedAt?: string;
|
|
responseReceived: boolean;
|
|
responseDate?: string;
|
|
description?: string;
|
|
translatedDescription?: string;
|
|
descriptionLanguage?: string;
|
|
tags?: string; // JSON array string
|
|
deadline?: string;
|
|
notes?: string;
|
|
coverLetterText?: string;
|
|
jobUrl?: string;
|
|
shortSummary?: string;
|
|
fullSummary?: string | null;
|
|
|
|
hasResume?: boolean;
|
|
hasCoverLetter?: boolean;
|
|
hasPortfolio?: boolean;
|
|
hasOtherAttachment?: boolean;
|
|
|
|
daysSince: number;
|
|
isDeleted?: boolean;
|
|
deletedAt?: string;
|
|
needsFollowUp?: boolean;
|
|
followUpReason?: string;
|
|
}
|
|
|
|
export interface CorrespondenceMessage {
|
|
id: number;
|
|
jobApplicationId: number;
|
|
from: string;
|
|
content: string;
|
|
subject?: string;
|
|
channel?: string;
|
|
date: string;
|
|
}
|
|
|
|
|
|
export interface GmailStatus {
|
|
connected: boolean;
|
|
gmailAddress?: string;
|
|
connectedAt?: string;
|
|
lastSyncedAt?: string;
|
|
}
|
|
|
|
export interface GmailMessageSummary {
|
|
id: string;
|
|
threadId: string;
|
|
subject: string;
|
|
from: string;
|
|
to: string;
|
|
date?: string;
|
|
snippet: string;
|
|
}
|
|
|
|
export interface JobImportResult {
|
|
title?: string;
|
|
company?: string;
|
|
location?: string;
|
|
description?: string;
|
|
translatedDescription?: string;
|
|
language?: string;
|
|
tags: string[];
|
|
sourceUrl: string;
|
|
deadline?: string;
|
|
success: boolean;
|
|
parser?: string;
|
|
error?: string;
|
|
}
|