mirror of
https://github.com/mautrix/discord.git
synced 2025-03-14 14:15:37 +00:00
36 lines
784 B
Go
36 lines
784 B
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.mau.fi/mautrix-discord/globals"
|
|
)
|
|
|
|
type Cmd struct {
|
|
HomeserverAddress string `kong:"arg,help='The url to for the homeserver',required='1'"`
|
|
Domain string `kong:"arg,help='The domain for the homeserver',required='1'"`
|
|
|
|
Force bool `kong:"flag,help='Overwrite an existing configuration file if one already exists',short='f',default='0'"`
|
|
}
|
|
|
|
func (c *Cmd) Run(g *globals.Globals) error {
|
|
if _, err := os.Stat(g.Config); err == nil {
|
|
if c.Force == false {
|
|
return fmt.Errorf("file %q exists, use -f to overwrite", g.Config)
|
|
}
|
|
}
|
|
|
|
cfg := &Config{
|
|
Homeserver: homeserver{
|
|
Address: c.HomeserverAddress,
|
|
Domain: c.Domain,
|
|
},
|
|
}
|
|
|
|
if err := cfg.validate(); err != nil {
|
|
return err
|
|
}
|
|
|
|
return cfg.Save(g.Config)
|
|
}
|