diff --git a/.gitignore b/.gitignore
index 4098685..5c7d04c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ main
main.exe
frontend
task.py
-example
\ No newline at end of file
+example
+nto_cli
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..5134da3
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/nto-cli.iml b/.idea/nto-cli.iml
new file mode 100644
index 0000000..5e764c4
--- /dev/null
+++ b/.idea/nto-cli.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cmd/input.go b/cmd/input.go
index 1e26bea..62e6831 100644
--- a/cmd/input.go
+++ b/cmd/input.go
@@ -2,6 +2,7 @@ package cmd
import (
"fmt"
+ "log"
"nto_cli/utils"
"os"
@@ -16,16 +17,20 @@ func Input() (string, string) {
}
func SelectionInput() ([]string, string) {
+ if len(os.Args) == 1 {
+ log.Fatalf("Please provide path to models.go")
+ }
+
path := os.Args[1]
structNames := utils.GetStructList(path)
- result := []string{}
+ var result []string
app := tview.NewApplication()
form := tview.NewForm()
- checkboxes := []*tview.Checkbox{}
+ var checkboxes []*tview.Checkbox
for _, name := range structNames {
cb := tview.NewCheckbox().SetLabel(name)
diff --git a/entities/field.go b/entities/field.go
index 2082bd3..c4d515a 100644
--- a/entities/field.go
+++ b/entities/field.go
@@ -9,30 +9,30 @@ import (
type Field struct {
Name string
Type string
- Medatada []Medatada
+ Medatada []Metadata
}
var PRIMITIVE_TYPES = map[string]string{
- "date": "date",
- "number": "number",
- "string": "string",
+ "date": "date",
+ "number": "number",
+ "string": "string",
"multiple": "multiple",
- "boolean": "boolean",
- "bool": "boolean",
- "int": "number",
- "uint": "number",
- "float32": "number",
- "float64": "number",
- "int32": "number",
- "int64": "number",
- "uint32": "number",
- "uint64": "number",
- "int8": "number",
- "int16": "number",
- "uint8": "number",
- "uint16": "number",
- "byte": "number",
- "rune": "number",
+ "boolean": "boolean",
+ "bool": "boolean",
+ "int": "number",
+ "uint": "number",
+ "float32": "number",
+ "float64": "number",
+ "int32": "number",
+ "int64": "number",
+ "uint32": "number",
+ "uint64": "number",
+ "int8": "number",
+ "int16": "number",
+ "uint8": "number",
+ "uint16": "number",
+ "byte": "number",
+ "rune": "number",
}
func (f *Field) GenerateType() string {
diff --git a/entities/metadata.go b/entities/metadata.go
index 75e6848..3e1e871 100644
--- a/entities/metadata.go
+++ b/entities/metadata.go
@@ -4,30 +4,30 @@ import (
"strings"
)
-type Medatada struct {
+type Metadata struct {
Name string
Values []string
}
-func NewMetadata(tag string) *Medatada {
+func NewMetadata(tag string) *Metadata {
tag = strings.TrimSpace(tag)
tagName := ""
var values []string
if strings.Contains(tag, "=") {
tagName = tag[:strings.Index(tag, "=")]
- if tag[strings.Index(tag, "=") + 1] == '[' {
- values = append(values, strings.Split(tag[strings.Index(tag, "=") + 2:len(tag)-1], ";")...)
+ if tag[strings.Index(tag, "=")+1] == '[' {
+ values = append(values, strings.Split(tag[strings.Index(tag, "=")+2:len(tag)-1], ";")...)
for i := range values {
values[i] = strings.TrimSpace(values[i])
}
} else {
- values = append(values, strings.TrimSpace(tag[strings.Index(tag, "=") + 1:]))
+ values = append(values, strings.TrimSpace(tag[strings.Index(tag, "=")+1:]))
}
} else {
tagName = tag
}
- return &Medatada{
- Name: strings.TrimSpace(strings.ToLower(tagName)),
+ return &Metadata{
+ Name: strings.TrimSpace(strings.ToLower(tagName)),
Values: values,
}
-}
\ No newline at end of file
+}
diff --git a/generation/gen.go b/generation/gen.go
index 03e803c..7938fe6 100644
--- a/generation/gen.go
+++ b/generation/gen.go
@@ -2,6 +2,7 @@ package generation
import (
"fmt"
+ "log"
"nto_cli/entities"
"nto_cli/utils"
"os"
@@ -9,10 +10,10 @@ import (
)
func Generate(structName string, fields []entities.Field) {
- mkPath := fmt.Sprintf("%s/frontend/src/%s", utils.FindFrontendPath() , strings.ToLower(structName))
+ mkPath := fmt.Sprintf("%s/frontend/src/%s", utils.FindFrontendPath(), strings.ToLower(structName))
if err := os.Mkdir(mkPath, 0755); err != nil {
- panic(err)
+ log.Fatalf("Failed to mkdir for model: %s", err)
}
GenerateService(structName, mkPath)
GenerateScheme(structName, fields, mkPath)
-}
\ No newline at end of file
+}
diff --git a/generation/scheme.go b/generation/scheme.go
index 654fd2a..a5754a0 100644
--- a/generation/scheme.go
+++ b/generation/scheme.go
@@ -2,6 +2,7 @@ package generation
import (
"fmt"
+ "log"
"nto_cli/entities"
"nto_cli/utils"
"os"
@@ -10,10 +11,11 @@ import (
func GenerateScheme(structName string, fields []entities.Field, mkPath string) {
schemeFile, err := os.Create(mkPath + "/" + strings.ToUpper(structName[:1]) + strings.ToLower(structName[1:]) + "Scheme.vue")
- if err != nil {
- panic(err)
- }
defer schemeFile.Close()
+ if err != nil {
+ log.Fatalf("Failed to create file: %s", err)
+ }
+
_, err = schemeFile.WriteString(fmt.Sprintf(
`