StarlioX/functions/database.go

73 lines
1.3 KiB
Go
Raw Normal View History

2022-09-18 19:28:38 +03:00
package functions
import (
"database/sql"
"encoding/json"
"github.com/rodkranz/fetch"
2022-09-25 11:04:32 +03:00
2022-09-18 19:28:38 +03:00
_ "github.com/mattn/go-sqlite3"
)
func Database() {
2022-09-25 11:04:32 +03:00
db, err := sql.Open("sqlite3", "EveryNasa.db")
if err != nil {
Logger(err.Error())
2022-09-18 19:28:38 +03:00
}
2022-10-23 15:32:19 +03:00
var existsSettings bool
err = db.QueryRow("SELECT EXISTS(SELECT name FROM sqlite_master WHERE type='table' AND name='settings')").Scan(&existsSettings)
2022-09-25 11:04:32 +03:00
if err != nil {
Logger(err.Error())
2022-09-18 19:28:38 +03:00
}
2022-10-23 15:32:19 +03:00
if existsSettings == false {
2022-09-18 19:28:38 +03:00
sqlTable := `
CREATE TABLE IF NOT EXISTS settings (
2022-09-25 11:04:32 +03:00
startup INTEGER DEFAULT 0,
wallpaper INTEGER DEFAULT 0,
save_logg INTEGER DEFAULT 0
2022-09-18 19:28:38 +03:00
);`
2022-09-25 11:04:32 +03:00
_, err = db.Exec(sqlTable)
if err != nil {
Logger(err.Error())
2022-09-18 19:28:38 +03:00
}
stmt, err := db.Prepare("INSERT INTO settings(startup, wallpaper, save_logg) values(?,?,?)")
2022-09-25 11:04:32 +03:00
if err != nil {
Logger(err.Error())
2022-09-18 19:28:38 +03:00
}
_, err = stmt.Exec(0, 0, 0)
2022-09-25 11:04:32 +03:00
if err != nil {
Logger(err.Error())
2022-09-18 19:28:38 +03:00
}
}
}
func getDatabase() int {
client := fetch.NewDefault()
res, err := client.Get("http://localhost:3000/api/get/settings", nil)
if err != nil {
panic(err)
}
body, err := res.ToString()
if err != nil {
panic(err)
}
type DatabaseStruct struct {
Save_logg int `json:"save_logg"`
}
var Database DatabaseStruct
err = json.Unmarshal([]byte(body), &Database)
if err != nil {
panic(err)
}
return Database.Save_logg
}