piwigo-cli/internal/piwigocli/session_login.go
2021-12-15 22:30:09 +01:00

42 lines
800 B
Go

package piwigocli
import (
"fmt"
"net/url"
"github.com/celogeek/piwigo-cli/internal/piwigo"
)
type LoginCommand struct {
Url string `short:"u" long:"url" description:"Url of the instance" required:"true"`
Login string `short:"l" long:"login" description:"Login" required:"true"`
Password string `short:"p" long:"password" description:"Password" required:"true"`
}
func (c *LoginCommand) Execute(args []string) error {
fmt.Printf("Login on %s...\n", c.Url)
p := piwigo.Piwigo{
Url: c.Url,
}
result := false
err := p.Post("pwg.session.login", &url.Values{
"username": []string{c.Login},
"password": []string{c.Password},
}, &result)
if err != nil {
return err
}
err = p.SaveConfig()
if err != nil {
return err
}
fmt.Println("Login succeed!")
return nil
}