69 lines
1.6 KiB
Go
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")
|
|
}
|