Extract logic into transcribe service

This commit is contained in:
2025-08-12 10:59:51 +03:00
parent f625e21418
commit 2c9a5f4bfb
8 changed files with 354 additions and 356 deletions

16
main.go
View File

@@ -8,6 +8,7 @@ import (
"git.vakhrushev.me/av/transcriber/internal/controller/http"
"git.vakhrushev.me/av/transcriber/internal/repo/sqlite"
"git.vakhrushev.me/av/transcriber/internal/service/transcribe"
"github.com/doug-martin/goqu/v9"
_ "github.com/doug-martin/goqu/v9/dialect/sqlite3"
"github.com/gin-gonic/gin"
@@ -47,8 +48,10 @@ func main() {
fileRepo := sqlite.NewFileRepository(db, gq)
jobRepo := sqlite.NewTranscriptJobRepository(db, gq)
transcribeService := transcribe.NewTranscribeService(jobRepo, fileRepo)
// Инициализируем обработчики
transcribeHandler := http.NewTranscribeHandler(jobRepo, fileRepo)
transcribeHandler := http.NewTranscribeHandler(jobRepo, transcribeService)
// Создаем Gin роутер
r := gin.Default()
@@ -56,13 +59,12 @@ func main() {
// Настраиваем роуты
api := r.Group("/api")
{
api.POST("/transcribe/audio", transcribeHandler.CreateTranscribeJob)
api.GET("/transcribe/:id", transcribeHandler.GetTranscribeJobStatus)
api.POST("/audio", transcribeHandler.CreateTranscribeJob)
api.GET("/status/:id", transcribeHandler.GetTranscribeJobStatus)
api.POST("/transcribe/convert", transcribeHandler.RunConversionJob)
api.POST("/transcribe/upload", transcribeHandler.RunUploadJob)
api.POST("/transcribe/recognize", transcribeHandler.RunRecognitionJob)
api.POST("/transcribe/check", transcribeHandler.RunRecognitionCheckJob)
api.POST("/convert", transcribeHandler.RunConversionJob)
api.POST("/transcribe", transcribeHandler.RunTranscribeJob)
api.POST("/check", transcribeHandler.RunRecognitionCheckJob)
}
// Добавляем middleware для обработки больших файлов