mirror of
https://github.com/Starlio-app/StarlioX.git
synced 2025-04-07 03:35:27 +01:00
returning functionality that was accidentally deleted
This commit is contained in:
parent
fd20891d71
commit
94b991ef8a
3 changed files with 130 additions and 0 deletions
67
api/controllers/startup.go
Normal file
67
api/controllers/startup.go
Normal file
|
@ -0,0 +1,67 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"os"
|
||||
"os/user"
|
||||
"strings"
|
||||
|
||||
"github.com/Redume/EveryNasa/api/utils"
|
||||
"github.com/Redume/EveryNasa/functions"
|
||||
)
|
||||
|
||||
var Startup = func(c *fiber.Ctx) error {
|
||||
startup := c.FormValue("startup")
|
||||
if startup == "" {
|
||||
utils.Respond(c, utils.Message(false, "All fields are required."))
|
||||
return nil
|
||||
}
|
||||
|
||||
if startup == "1" {
|
||||
SetStartup(c)
|
||||
} else if startup == "0" {
|
||||
RemoveStartup(c)
|
||||
} else {
|
||||
utils.Respond(c, utils.Message(false, "Invalid field."))
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var SetStartup = func(c *fiber.Ctx) error {
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
dir = strings.Replace(dir, "\\", "\\\\", -1) + "\\EveryNasa.exe"
|
||||
|
||||
err = functions.CreateLnk(dir, strings.Replace(u.HomeDir, "\\", "\\\\", -1)+"\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\EveryNasa.lnk")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
utils.Respond(c, utils.Message(true, "The settings have been applied successfully."))
|
||||
return nil
|
||||
}
|
||||
|
||||
var RemoveStartup = func(c *fiber.Ctx) error {
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
err = os.Remove(strings.Replace(u.HomeDir, "\\", "\\\\", -1) + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\EveryNasa.lnk")
|
||||
if err != nil {
|
||||
functions.Logger(err.Error())
|
||||
}
|
||||
|
||||
utils.Respond(c, utils.Message(true, "The settings have been applied successfully."))
|
||||
return nil
|
||||
}
|
55
functions/createLnk.go
Normal file
55
functions/createLnk.go
Normal file
|
@ -0,0 +1,55 @@
|
|||
package functions
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/go-ole/go-ole"
|
||||
"github.com/go-ole/go-ole/oleutil"
|
||||
)
|
||||
|
||||
func CreateLnk(src, dst string) error {
|
||||
err := ole.CoInitializeEx(0, ole.COINIT_APARTMENTTHREADED|ole.COINIT_SPEED_OVER_MEMORY)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
oleShellObject, err := oleutil.CreateObject("WScript.Shell")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
defer oleShellObject.Release()
|
||||
wshell, err := oleShellObject.QueryInterface(ole.IID_IDispatch)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
defer wshell.Release()
|
||||
cs, err := oleutil.CallMethod(wshell, "CreateShortcut", dst)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
idispatch := cs.ToIDispatch()
|
||||
_, err = oleutil.PutProperty(idispatch, "TargetPath", src)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, err = oleutil.PutProperty(idispatch, "WorkingDirectory", dir)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, err = oleutil.CallMethod(idispatch, "Save")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
8
main.go
8
main.go
|
@ -48,6 +48,7 @@ func main() {
|
|||
|
||||
update := api.Group("/update")
|
||||
get := api.Group("/get")
|
||||
create := api.Group("/create")
|
||||
|
||||
update.Post("/settings", func(c *fiber.Ctx) error {
|
||||
return controllers.SettingsUpdate(c)
|
||||
|
@ -55,6 +56,13 @@ func main() {
|
|||
update.Post("/wallpaper", func(c *fiber.Ctx) error {
|
||||
return controllers.WallpaperUpdate(c)
|
||||
})
|
||||
update.Post("/startup", func(c *fiber.Ctx) error {
|
||||
return controllers.Startup(c)
|
||||
})
|
||||
|
||||
create.Post("/api/create/label", func(c *fiber.Ctx) error {
|
||||
return controllers.CreateLabel(c)
|
||||
})
|
||||
|
||||
get.Get("/settings", func(c *fiber.Ctx) error {
|
||||
return controllers.SettingsGet(c)
|
||||
|
|
Loading…
Add table
Reference in a new issue