jobs-monorepo/internal/openai/interface.go
2026-01-26 17:33:48 +05:00

27 lines
937 B
Go

package openai
import "github.com/jobs-scraper/internal/domain"
// JobAnalysisService defines the interface for job analysis services
type JobAnalysisService interface {
// AnalyzeJobDescription analyzes a job description against a CV
AnalyzeJobDescription(cv string, jobDesc domain.JobDescription) (*JobAnalysisResult, error)
}
// CVService defines the interface for CV-related services
type CVService interface {
// GenerateCV creates a tailored CV based on a job description
GenerateCV(originalCV string, jobDesc domain.JobDescription) (string, error)
// GenerateCoverLetter creates a cover letter based on CV and job description
GenerateCoverLetter(cv string, jobDesc domain.JobDescription, companyName string) (string, error)
}
// AIService combines all AI-related services
type AIService interface {
JobAnalysisService
CVService
}
// Ensure OpenAIService implements AIService
var _ AIService = (*OpenAIService)(nil)