mirror of
https://github.com/Starlio-app/StarlioX
synced 2024-11-05 06:03:57 +03:00
Logs added
This commit is contained in:
parent
d84a153f7d
commit
35adbe07ff
6 changed files with 126 additions and 59 deletions
|
@ -2,68 +2,61 @@ package controllers
|
|||
|
||||
import (
|
||||
"database/sql"
|
||||
"github.com/Redume/EveryNasa/functions"
|
||||
"net/http"
|
||||
|
||||
"github.com/Redume/EveryNasa/api/utils"
|
||||
"github.com/Redume/EveryNasa/functions"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
var SettingsGet = func(w http.ResponseWriter, r *http.Request) {
|
||||
db, errOpen := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if errOpen != nil {
|
||||
panic(errOpen)
|
||||
db, err := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
query, errQuery := db.Query("SELECT * FROM settings")
|
||||
if errQuery != nil {
|
||||
panic(errQuery)
|
||||
query, err := db.Query("SELECT * FROM settings")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
defer func(query *sql.Rows) {
|
||||
err := query.Close()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
}(query)
|
||||
|
||||
var autostart, autochangewallpaper int
|
||||
var startup, autochangewallpaper int
|
||||
|
||||
for query.Next() {
|
||||
err := query.Scan(&autostart, &autochangewallpaper)
|
||||
err := query.Scan(&startup, &autochangewallpaper)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
var data = map[string]interface{}{"autostart": autostart, "autochangewallpaper": autochangewallpaper}
|
||||
var data = map[string]interface{}{"startup": startup, "autochangewallpaper": autochangewallpaper}
|
||||
utils.Respond(w, data)
|
||||
}
|
||||
}
|
||||
|
||||
var SettingsUpdate = func(w http.ResponseWriter, r *http.Request) {
|
||||
db, errOpen := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if errOpen != nil {
|
||||
panic(errOpen)
|
||||
db, err := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
autostart := r.FormValue("autostart")
|
||||
autochangewallpaper := r.FormValue("autochangewallpaper")
|
||||
startup := r.FormValue("startup")
|
||||
|
||||
if autostart == "" && autochangewallpaper == "" {
|
||||
utils.Respond(w, utils.Message(false, "All fields are required"))
|
||||
if startup == "" && autochangewallpaper == "" {
|
||||
utils.Respond(w, utils.Message(false, "All fields are required."))
|
||||
return
|
||||
}
|
||||
|
||||
if autostart != "" {
|
||||
_, err := db.Exec("UPDATE settings SET autostart = ?", autostart)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
if autochangewallpaper != "" {
|
||||
_, err := db.Exec("UPDATE settings SET autochangewallpaper = ?", autochangewallpaper)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
if autochangewallpaper == "1" {
|
||||
|
@ -71,5 +64,12 @@ var SettingsUpdate = func(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
}
|
||||
|
||||
utils.Respond(w, utils.Message(true, "Settings updated"))
|
||||
if startup != "" {
|
||||
_, err := db.Exec("UPDATE settings SET startup = ?", startup)
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
utils.Respond(w, utils.Message(true, "The settings have been applied successfully."))
|
||||
}
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"gopkg.in/yaml.v2"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/Redume/EveryNasa/api/utils"
|
||||
"github.com/Redume/EveryNasa/functions"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
var Version = func(w http.ResponseWriter, r *http.Request) {
|
||||
file, readErr := os.ReadFile("config.yaml")
|
||||
if readErr != nil {
|
||||
panic(readErr)
|
||||
file, err := os.ReadFile("config.yaml")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
data := make(map[interface{}]interface{})
|
||||
|
||||
marshalErr := yaml.Unmarshal(file, &data)
|
||||
if marshalErr != nil {
|
||||
panic(marshalErr)
|
||||
err = yaml.Unmarshal(file, &data)
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
utils.Respond(w, utils.Message(true, data["version"].(string)))
|
||||
|
|
|
@ -2,6 +2,7 @@ package utils
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/Redume/EveryNasa/functions"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
@ -13,6 +14,6 @@ func Respond(w http.ResponseWriter, data map[string]interface{}) {
|
|||
w.Header().Add("Content-Type", "application/json")
|
||||
err := json.NewEncoder(w).Encode(data)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,40 +2,42 @@ package functions
|
|||
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func Database() {
|
||||
db, openErr := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if openErr != nil {
|
||||
panic(openErr)
|
||||
db, err := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
var exists bool
|
||||
QueryErr := db.QueryRow("SELECT EXISTS(SELECT name FROM sqlite_master WHERE type='table' AND name='settings')").Scan(&exists)
|
||||
if QueryErr != nil {
|
||||
panic(QueryErr)
|
||||
err = db.QueryRow("SELECT EXISTS(SELECT name FROM sqlite_master WHERE type='table' AND name='settings')").Scan(&exists)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
if exists == false {
|
||||
sqlTable := `
|
||||
CREATE TABLE IF NOT EXISTS settings (
|
||||
autostart INTEGER DEFAULT 0,
|
||||
startup INTEGER DEFAULT 0,
|
||||
autochangewallpaper INTEGER DEFAULT 0
|
||||
);`
|
||||
_, CreateTableErr := db.Exec(sqlTable)
|
||||
if CreateTableErr != nil {
|
||||
panic(CreateTableErr)
|
||||
|
||||
_, err = db.Exec(sqlTable)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
stmt, InsertErr := db.Prepare("INSERT INTO settings(autostart, autochangewallpaper) values(?,?)")
|
||||
if InsertErr != nil {
|
||||
panic(InsertErr)
|
||||
stmt, err := db.Prepare("INSERT INTO settings(startup, autochangewallpaper) values(?, ?)")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, ExecErr := stmt.Exec(0, 0)
|
||||
if ExecErr != nil {
|
||||
panic(ExecErr)
|
||||
_, err = stmt.Exec(0, 0)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
62
functions/logger.go
Normal file
62
functions/logger.go
Normal file
|
@ -0,0 +1,62 @@
|
|||
package functions
|
||||
|
||||
import (
|
||||
"os"
|
||||
"runtime"
|
||||
"time"
|
||||
)
|
||||
|
||||
func Logger(text string) {
|
||||
if !FileExists("logger.log") {
|
||||
err := CreateFile("logger.log")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
f, err := os.OpenFile("logger.log", os.O_APPEND|os.O_WRONLY, 0600)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
now := time.Now()
|
||||
|
||||
//what file name is it
|
||||
_, file, _, ok := runtime.Caller(1)
|
||||
if !ok {
|
||||
file = "???"
|
||||
}
|
||||
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
file = file[len(dir)+1:]
|
||||
|
||||
_, err = f.Write([]byte(now.Format("Mon Jan 2 15:04:05 2006") + " | " + text + " [" + file + "] " + "\n"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func FileExists(name string) bool {
|
||||
if _, err := os.Stat(name); err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func CreateFile(name string) error {
|
||||
fo, err := os.Create(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer func() {
|
||||
err := fo.Close()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}()
|
||||
return nil
|
||||
}
|
|
@ -2,10 +2,11 @@ package functions
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/getlantern/systray"
|
||||
"github.com/shirou/gopsutil/v3/process"
|
||||
"github.com/skratchdot/open-golang/open"
|
||||
"os"
|
||||
)
|
||||
|
||||
func Tray() {
|
||||
|
@ -20,7 +21,7 @@ func Tray() {
|
|||
case <-ui.ClickedCh:
|
||||
err := open.Run("http://localhost:4662")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
Logger(err.Error())
|
||||
}
|
||||
case <-exit.ClickedCh:
|
||||
Quit()
|
||||
|
@ -31,7 +32,7 @@ func Tray() {
|
|||
func Quit() {
|
||||
err := KillProcess("EveryNasa.exe")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
systray.Quit()
|
||||
|
@ -40,13 +41,13 @@ func Quit() {
|
|||
func KillProcess(name string) error {
|
||||
processes, err := process.Processes()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
for _, p := range processes {
|
||||
n, ProccErr := p.Name()
|
||||
if ProccErr != nil {
|
||||
panic(ProccErr)
|
||||
n, err := p.Name()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
if n == name {
|
||||
|
@ -59,7 +60,7 @@ func KillProcess(name string) error {
|
|||
func GetIcon(s string) []byte {
|
||||
b, err := os.ReadFile(s)
|
||||
if err != nil {
|
||||
fmt.Print(err)
|
||||
Logger(err.Error())
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue