add parameters for server and filename
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s

This commit is contained in:
2026-10-04 16:13:35 +02:00
parent a5493e6c11
commit bce0bc2989
+46 -38
View File
@@ -12,7 +12,11 @@ import (
"resty.dev/v3" "resty.dev/v3"
) )
var server string var (
server string
filename string
apiVersion string
)
var exportCmd = &cobra.Command{ var exportCmd = &cobra.Command{
Use: "export", Use: "export",
@@ -26,7 +30,7 @@ var exportCmd = &cobra.Command{
var login LoginResponse var login LoginResponse
client := resty.New() client := resty.New()
PostJSON(client, "http://127.0.0.1:8550/api/login", &login) PostJSON(client, fmt.Sprintf("%s/%s/%s", server, "api", "login"), &login)
type ExportData struct { type ExportData struct {
Sport []models.SportDTO `json:"sport"` Sport []models.SportDTO `json:"sport"`
@@ -102,42 +106,42 @@ var exportCmd = &cobra.Command{
) )
registry := map[string]any{ registry := map[string]any{
"http://127.0.0.1:8550/api/v1/tysc/sports": &sports, "tysc/sports": &sports,
"http://127.0.0.1:8550/api/v1/tysc/players": &players, "tysc/players": &players,
"http://127.0.0.1:8550/api/v1/tysc/teams": &teams, "tysc/teams": &teams,
"http://127.0.0.1:8550/api/v1/tysc/positions": &positions, "tysc/positions": &positions,
"http://127.0.0.1:8550/api/v1/tysc/roosters": &roosters, "tysc/roosters": &roosters,
"http://127.0.0.1:8550/api/v1/tysc/vendors": &vendors, "tysc/vendors": &vendors,
"http://127.0.0.1:8550/api/v1/tysc/cardsets": &cardsets, "tysc/cardsets": &cardsets,
"http://127.0.0.1:8550/api/v1/tysc/cards": &cards, "tysc/cards": &cards,
"http://127.0.0.1:8550/api/v1/comics/artists": &artists, "comics/artists": &artists,
"http://127.0.0.1:8550/api/v1/comics/publishers": &publishers, "comics/publishers": &publishers,
"http://127.0.0.1:8550/api/v1/comics/worktypes": &worktypes, "comics/worktypes": &worktypes,
"http://127.0.0.1:8550/api/v1/comics/comics": &comics, "comics/comics": &comics,
"http://127.0.0.1:8550/api/v1/comics/volumes": &volumes, "comics/volumes": &volumes,
"http://127.0.0.1:8550/api/v1/comics/storyarcs": &storyarcs, "comics/storyarcs": &storyarcs,
"http://127.0.0.1:8550/api/v1/comics/issues": &issues, "comics/issues": &issues,
"http://127.0.0.1:8550/api/v1/comics/tradepaperbacks": &tradepaperbacks, "comics/tradepaperbacks": &tradepaperbacks,
"http://127.0.0.1:8550/api/v1/comics/comicworks": &comicworks, "comics/comicworks": &comicworks,
"http://127.0.0.1:8550/api/v1/comics/issueworks": &issueworks, "comics/issueworks": &issueworks,
"http://127.0.0.1:8550/api/v1/bookshelf/articles": &articles, "bookshelf/articles": &articles,
"http://127.0.0.1:8550/api/v1/bookshelf/publishers": &bookshelf_publishers, "bookshelf/publishers": &bookshelf_publishers,
"http://127.0.0.1:8550/api/v1/bookshelf/books": &books, "bookshelf/books": &books,
"http://127.0.0.1:8550/api/v1/bookshelf/authors": &autors, "bookshelf/authors": &autors,
"http://127.0.0.1:8550/api/v1/bookshelf/articleauthors": &article_authors, "bookshelf/articleauthors": &article_authors,
"http://127.0.0.1:8550/api/v1/bookshelf/bookauthors": &book_authors, "bookshelf/bookauthors": &book_authors,
"http://127.0.0.1:8550/api/v1/media/articles": &mediaarticles, "media/articles": &mediaarticles,
"http://127.0.0.1:8550/api/v1/media/videos": &mediavideos, "media/videos": &mediavideos,
"http://127.0.0.1:8550/api/v1/media/actors": &mediaactors, "media/actors": &mediaactors,
"http://127.0.0.1:8550/api/v1/media/files": &mediafiles, "media/files": &mediafiles,
"http://127.0.0.1:8550/api/v1/media/lofis": &medialofis, "media/lofis": &medialofis,
"http://127.0.0.1:8550/api/v1/user/profiles": &profiles, "user/profiles": &profiles,
"http://127.0.0.1:8550/api/v1/user/permissions": &permissions, "user/permissions": &permissions,
"http://127.0.0.1:8550/api/v1/user/assignments": &assignments, "user/assignments": &assignments,
"http://127.0.0.1:8550/api/v1/user/tokens": &tokens, "user/tokens": &tokens,
} }
for url, value := range registry { for path, value := range registry {
GetJSON(client, login.Token, url, value) GetJSON(client, login.Token, fmt.Sprintf("%s/%s/%s", server, "api/v1", path), value)
} }
export := ExportData{ export := ExportData{
Sport: sports, Sport: sports,
@@ -180,7 +184,7 @@ var exportCmd = &cobra.Command{
slog.Info("JSON MarshalIndent failed", "Error:", err) slog.Info("JSON MarshalIndent failed", "Error:", err)
} }
// Write bytes to file // Write bytes to file
err = os.WriteFile("data.json", jsonData, 0644) err = os.WriteFile(filename, jsonData, 0644)
if err != nil { if err != nil {
slog.Info("Error writing file:", "Error", err) slog.Info("Error writing file:", "Error", err)
} }
@@ -219,4 +223,8 @@ func init() {
exportCmd.PersistentFlags().StringVarP(&server, "server", "s", "http://127.0.0.1:8550", "Define server to get Kontor items") exportCmd.PersistentFlags().StringVarP(&server, "server", "s", "http://127.0.0.1:8550", "Define server to get Kontor items")
viper.BindPFlag("server", exportCmd.PersistentFlags().Lookup("server")) viper.BindPFlag("server", exportCmd.PersistentFlags().Lookup("server"))
exportCmd.PersistentFlags().StringVarP(&filename, "file", "f", "/home/tpeetz/.sync/media/data-gin.json", "Filename to store data")
viper.BindPFlag("file", exportCmd.PersistentFlags().Lookup("file"))
exportCmd.PersistentFlags().StringVarP(&apiVersion, "api", "a", "api/v1", "API Version")
viper.BindPFlag("api", exportCmd.PersistentFlags().Lookup("api"))
} }