Replace all infra services with interfaces
This commit is contained in:
23
main.go
23
main.go
@@ -13,8 +13,8 @@ import (
|
||||
"time"
|
||||
|
||||
"git.vakhrushev.me/av/transcriber/internal/adapter/ffmpeg"
|
||||
"git.vakhrushev.me/av/transcriber/internal/adapter/s3"
|
||||
"git.vakhrushev.me/av/transcriber/internal/adapter/sqlite"
|
||||
"git.vakhrushev.me/av/transcriber/internal/adapter/yandex"
|
||||
httpcontroller "git.vakhrushev.me/av/transcriber/internal/controller/http"
|
||||
"git.vakhrushev.me/av/transcriber/internal/controller/worker"
|
||||
"git.vakhrushev.me/av/transcriber/internal/service"
|
||||
@@ -54,28 +54,35 @@ func main() {
|
||||
log.Fatal("Failed to run migrations:", err)
|
||||
}
|
||||
|
||||
// Создаем репозитории
|
||||
|
||||
fileRepo := sqlite.NewFileRepository(db, gq)
|
||||
jobRepo := sqlite.NewTranscriptJobRepository(db, gq)
|
||||
|
||||
// Создаем адаптеры
|
||||
|
||||
converter := ffmpeg.NewFfmpegConverter()
|
||||
|
||||
// Создаем S3 сервис
|
||||
s3Config := s3.S3Config{
|
||||
recognizer, err := yandex.NewYandexAudioRecognizerService(yandex.YandexAudioRecognizerConfig{
|
||||
Region: os.Getenv("AWS_REGION"),
|
||||
AccessKey: os.Getenv("AWS_ACCESS_KEY_ID"),
|
||||
SecretKey: os.Getenv("AWS_SECRET_ACCESS_KEY"),
|
||||
BucketName: os.Getenv("S3_BUCKET_NAME"),
|
||||
Endpoint: os.Getenv("S3_ENDPOINT"),
|
||||
}
|
||||
|
||||
s3Service, err := s3.NewYandexS3Service(s3Config)
|
||||
ApiKey: os.Getenv("YANDEX_CLOUD_API_KEY"),
|
||||
FolderID: os.Getenv("YANDEX_CLOUD_FOLDER_ID"),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("failed to create S3 service: %v", err)
|
||||
log.Fatalf("failed to create audio recognizer: %v", err)
|
||||
}
|
||||
defer recognizer.Close()
|
||||
|
||||
transcribeService := service.NewTranscribeService(jobRepo, fileRepo, converter, s3Service)
|
||||
// Создаем сервисы
|
||||
|
||||
transcribeService := service.NewTranscribeService(jobRepo, fileRepo, converter, recognizer)
|
||||
|
||||
// Создаем воркеры
|
||||
|
||||
conversionWorker := worker.NewConversionWorker(transcribeService)
|
||||
transcribeWorker := worker.NewTranscribeWorker(transcribeService)
|
||||
checkWorker := worker.NewCheckWorker(transcribeService)
|
||||
|
Reference in New Issue
Block a user