Dependency inversion for s3 service

This commit is contained in:
2025-08-12 15:05:46 +03:00
parent 03106830e5
commit 3f31bd5ff2
7 changed files with 138 additions and 100 deletions

17
main.go
View File

@@ -13,6 +13,7 @@ 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"
httpcontroller "git.vakhrushev.me/av/transcriber/internal/controller/http"
"git.vakhrushev.me/av/transcriber/internal/controller/worker"
@@ -58,7 +59,21 @@ func main() {
converter := ffmpeg.NewFfmpegConverter()
transcribeService := service.NewTranscribeService(jobRepo, fileRepo, converter)
// Создаем S3 сервис
s3Config := s3.S3Config{
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)
if err != nil {
log.Fatalf("failed to create S3 service: %v", err)
}
transcribeService := service.NewTranscribeService(jobRepo, fileRepo, converter, s3Service)
// Создаем воркеры
conversionWorker := worker.NewConversionWorker(transcribeService)