Init: generated with claude-sonnet-4

This commit is contained in:
2025-08-08 11:13:35 +03:00
commit 40e207bdb2
10 changed files with 723 additions and 0 deletions

58
main.go Normal file
View File

@@ -0,0 +1,58 @@
package main
import (
"log"
"os"
"git.vakhrushev.me/av/transcriber/database"
"git.vakhrushev.me/av/transcriber/handlers"
"github.com/gin-gonic/gin"
)
func main() {
// Создаем директории если они не существуют
if err := os.MkdirAll("data/files", 0755); err != nil {
log.Fatal("Failed to create data/files directory:", err)
}
// Инициализируем базу данных
db, err := database.New("data/transcriber.db")
if err != nil {
log.Fatal("Failed to initialize database:", err)
}
defer db.Close()
// Запускаем миграции
if err := db.RunMigrations("migrations"); err != nil {
log.Fatal("Failed to run migrations:", err)
}
// Создаем Gin роутер
r := gin.Default()
// Инициализируем обработчики
transcribeHandler := handlers.NewTranscribeHandler(db)
// Настраиваем роуты
api := r.Group("/api")
{
api.POST("/transcribe", transcribeHandler.UploadAndTranscribe)
api.GET("/transcribe/:id", transcribeHandler.GetJobStatus)
}
// Добавляем middleware для обработки больших файлов
r.MaxMultipartMemory = 32 << 20 // 32 MiB
// Добавляем базовый роут для проверки работоспособности
r.GET("/health", func(c *gin.Context) {
c.JSON(200, gin.H{
"status": "ok",
"message": "Transcriber service is running",
})
})
log.Println("Starting server on :8080")
if err := r.Run(":8080"); err != nil {
log.Fatal("Failed to start server:", err)
}
}