jobs-monorepo/internal/pkg/domain/job.go
2025-12-18 12:25:07 +05:00

57 lines
978 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
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)
}