- Added new job analysis result repository and database migration system - Expanded job creation to support Glassdoor as a new provider alongside LinkedIn - Added CV analysis service launch configuration in VS Code - Updated Makefile with new commands for scraper service and migrations - Improved environment loading in cron analyzer to support local development - Added error handling for unsupported job providers - Integrated job analysis results
53 lines
953 B
Go
53 lines
953 B
Go
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
|
|
)
|
|
|
|
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)
|
|
}
|