From 6160b4fdc5f37e4ceaa6b3c5acc855f466049d61 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Sun, 6 Oct 2024 17:04:37 +0300 Subject: Первая версия MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/app/importer/importer.go | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 cmd/app/importer/importer.go (limited to 'cmd/app/importer') diff --git a/cmd/app/importer/importer.go b/cmd/app/importer/importer.go new file mode 100644 index 0000000..0cc9bb7 --- /dev/null +++ b/cmd/app/importer/importer.go @@ -0,0 +1,47 @@ +package importer + +import ( + "encoding/json" + "os" + + "github.com/urfave/cli/v2" + "sh.org.ru/pkg/config" + "sh.org.ru/pkg/db" + "sh.org.ru/pkg/model" +) + +func Run(c *cli.Context) error { + configFile := c.String("config") + cfg, err := config.New(configFile) + if err != nil { + return err + } + db := db.New(cfg.DB) + + file := c.Args().First() + + quotes := []string{} + + fp, err := os.Open(file) + if err != nil { + return err + } + defer fp.Close() + + if err := json.NewDecoder(fp).Decode("es); err != nil { + return err + } + + for _, text := range quotes { + q := &model.Quote{ + Quote: text, + Approved: true, + Archive: true, + } + if _, err := db.NewInsert().Model(q).Exec(c.Context); err != nil { + return err + } + } + + return nil +} -- cgit v1.2.3