Something went wrong. Try again.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475package main
import ( "flag" "fmt" "os"
"codeberg.org/marcig/marlib/v2/panik" "github.com/goccy/go-yaml")
type Flags struct { Add string Init bool VCS string}
type RawService struct { name string isCRUD bool dependencies []string}
var ( home = os.Getenv("HOME") configFileDir = fmt.Sprintf("%v/.config/trixstar", home) configFilePath = fmt.Sprintf("%v/trixstar.yaml", configFileDir))
func main() { var f Flags
flag.StringVar(&f.Add, "add", undefineds.String, "specify the name of the service to add") flag.BoolVar(&f.Init, "init", false, "should init an empty config file") flag.StringVar(&f.VCS, "vcs", undefineds.String, "vcs url for the project example: tangled.org/marcig.com/trixstar") flag.Parse() names := []string{"tokens", "users", "posts", "actions", "messages", "instances"}
if f.Init { err := os.MkdirAll(configFileDir, _GENERAL_DIR_PERM) panik.Err(err) f, err := os.Create(configFilePath) panik.Err(err) _, err = f.WriteString("version: 0\nservices:") panik.Err(err) return }
var services []Service
db, err := OpenDB(configFilePath, Parser{ Unmarshal: yaml.Unmarshal, Marshal: yaml.Marshal, })
panik.Err(err)
defer func() { err = db.Close() panik.Err(err) }()
for _, n := range names { svc := NewService(n, f.VCS, true, nil) services = append(services, svc) db.addService(svc) }
err = db.Save() panik.Err(err) panik.Err(err)
Generate(f.VCS, db.data.Services)}