GoDown/app/main.go
2022-05-11 00:47:22 +02:00

69 lines
1.6 KiB
Go

package main
import (
"database/sql"
"net/http"
"time"
"gitea.voser.cloud/Golang/GoDown/handlers/api"
"gitea.voser.cloud/Golang/GoDown/handlers/sqldb"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
)
// Global Variables
var DB *sql.DB
type Media struct {
ID string `json: "id"`
YTID string `json: "yt-id"`
Size int `json: "size"`
Sha256sum string `json: "sha256sum"`
Duration int `json: "duration"`
Title string `json: "title"`
Author string `json: "author"`
}
// check error
func check(err error) {
if err != nil {
panic(err.Error())
}
}
func get_test_ping(c *gin.Context) {
c.String(http.StatusOK, "pong")
}
func main() {
sqldb.ReaddbCred()
DB = sqldb.Opendb()
defer DB.Close()
sqldb.Dbinit()
sqldb.Dbentrycount()
router := gin.Default()
router.Use(cors.New(cors.Config{
AllowOrigins: []string{"*"},
AllowMethods: []string{"GET", "POST", "PUT"},
AllowHeaders: []string{"Origin"},
// ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
// AllowOriginFunc: func(origin string) bool {
// return origin == "http://127.0.0.1:5555"
// //return origin == "https://github.com"
// },
MaxAge: 5 * time.Minute,
}))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
router.GET("/api/db", api.GET_api_db)
router.GET("/api/add/:ytid", api.GET_api_add_ytid)
router.GET("/api/get/:ytid", api.GET_api_get_ytid)
//router.GET("/api/download/:ytid", get_api_download_ytid)
router.GET("/test/ping", get_test_ping)
//router.GET("/api/songs", getMedia)
router.Run("127.0.0.1:8000")
}