Init: generated with claude-sonnet-4
This commit is contained in:
58
main.go
Normal file
58
main.go
Normal 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)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user