package domain import "time" // JobProvider represents different job board providers type JobProvider int type JobStatus int const ( LinkedIn JobProvider = iota Indeed Glassdoor Bayt TokyoDev JapanDev Google HiringCafe ) const ( JobStatusCreated JobStatus = iota JobStatusAnalyzed JobStatusError ) type Job struct { ID int64 Title string Company string CompanyLink string Location string JobLink string Provider JobProvider JobPostTime *time.Time Status JobStatus } type JobAnalysisResult struct { ID int64 JobID int64 AnalysisResult string MatchScore *int KeySkills []string MissingSkills []string Recommendations *string AnalyzedAt time.Time } type SearchQuery struct { Keywords string `json:"keywords"` Location string `json:"location"` NumPages int `json:"numPages"` FWT string `json:"f_WT"` // Work type filter (1=onsite, 2=remote, 3=hybrid) }