51 lines
877 B
Go
51 lines
877 B
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
"screenshot/ocr"
|
|
|
|
// "github.com/kbinani/screenshot"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/otiai10/gosseract/v2"
|
|
"gorm.io/driver/sqlite"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Quest struct {
|
|
ID uint `gorm:"primaryKey"`
|
|
Name string
|
|
Value int
|
|
MaxValue int
|
|
}
|
|
|
|
func main() {
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
|
|
if err != nil {
|
|
logger.Error("Failed to connect to database:", err)
|
|
}
|
|
|
|
db.AutoMigrate(&Quest{})
|
|
|
|
|
|
r := gin.New()
|
|
|
|
|
|
r.Use(gin.Logger())
|
|
r.Use(gin.Recovery())
|
|
|
|
client := gosseract.NewClient()
|
|
defer client.Close()
|
|
|
|
r.POST("/", func(c *gin.Context) {
|
|
ocr.NewGetTextHandler(ocr.GetTextHandlerParams{
|
|
Logger: *logger,
|
|
Client: *client,
|
|
}).ServeHTTP(c, c.Writer, c.Request)
|
|
})
|
|
|
|
r.Run()
|
|
|
|
}
|