4 Commits

Author SHA1 Message Date
72569a0f75 fix: service template 2025-03-16 21:32:26 +07:00
0e56c3534a fix: module path 2025-03-16 21:03:50 +07:00
opbnq-q
db5bf3bae0 fix: sorting 2025-03-16 11:07:30 +07:00
199fe0a823 fix: pkg name 2025-03-15 21:26:04 +07:00
8 changed files with 32 additions and 29 deletions

View File

@@ -1,8 +1,8 @@
package cmd package cmd
import ( import (
"github.com/opbnq-q/nto-cli/model"
"log" "log"
"nto_cli/model"
"os" "os"
"github.com/rivo/tview" "github.com/rivo/tview"

View File

@@ -1,9 +1,9 @@
package generation package generation
import ( import (
"github.com/opbnq-q/nto-cli/model"
"github.com/opbnq-q/nto-cli/utils"
"log" "log"
"nto_cli/model"
"nto_cli/utils"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"

View File

@@ -3,9 +3,9 @@ package generation
import ( import (
_ "embed" _ "embed"
"fmt" "fmt"
"github.com/opbnq-q/nto-cli/model"
"github.com/opbnq-q/nto-cli/utils"
"log" "log"
"nto_cli/model"
"nto_cli/utils"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
@@ -15,8 +15,6 @@ import (
//go:embed templates/scheme.tmpl //go:embed templates/scheme.tmpl
var SchemeTemplate string var SchemeTemplate string
const GolangServicesPath = "../../bindings/app/internal/services"
type Dependency struct { type Dependency struct {
ImportName string ImportName string
ServiceName string ServiceName string
@@ -25,20 +23,18 @@ type Dependency struct {
} }
type TemplateData struct { type TemplateData struct {
StructName string StructName string
LowerName string LowerName string
GolangServicesPath string Fields []model.Field
Fields []model.Field Dependencies []Dependency
Dependencies []Dependency
} }
func GenerateScheme(model *model.Model, mkPath string) { func GenerateScheme(model *model.Model, mkPath string) {
data := TemplateData{ data := TemplateData{
StructName: model.Name, StructName: model.Name,
LowerName: strings.ToLower(model.Name), LowerName: strings.ToLower(model.Name),
GolangServicesPath: GolangServicesPath, Fields: model.Fields,
Fields: model.Fields, Dependencies: processDependencies(model.Fields),
Dependencies: processDependencies(model.Fields),
} }
schemeFilename := strings.ToUpper(model.Name[:1]) + strings.ToLower(model.Name[1:]) + "Scheme.vue" schemeFilename := strings.ToUpper(model.Name[:1]) + strings.ToLower(model.Name[1:]) + "Scheme.vue"

View File

@@ -3,9 +3,9 @@ package generation
import ( import (
_ "embed" _ "embed"
"fmt" "fmt"
"github.com/opbnq-q/nto-cli/model"
"github.com/opbnq-q/nto-cli/utils"
"log" "log"
"nto_cli/model"
"nto_cli/utils"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
@@ -18,7 +18,6 @@ var ServiceTemplate string
type ServiceTemplateContext struct { type ServiceTemplateContext struct {
LowerModelName string LowerModelName string
ModelName string ModelName string
ServicesPath string
} }
func GenerateService(model *model.Model, mkPath string) { func GenerateService(model *model.Model, mkPath string) {
@@ -38,7 +37,6 @@ func GenerateService(model *model.Model, mkPath string) {
context := ServiceTemplateContext{ context := ServiceTemplateContext{
LowerModelName: strings.ToLower(model.Name), LowerModelName: strings.ToLower(model.Name),
ModelName: model.Name, ModelName: model.Name,
ServicesPath: GolangServicesPath,
} }
serviceTemplate, err := template.New("service").Parse(ServiceTemplate) serviceTemplate, err := template.New("service").Parse(ServiceTemplate)

View File

@@ -4,7 +4,7 @@ import { onMounted, reactive } from 'vue'
import { getDefaultValues } from '../utils/structs/defaults.util' import { getDefaultValues } from '../utils/structs/defaults.util'
import Service from './{{.LowerName}}.service' import Service from './{{.LowerName}}.service'
import type { Scheme } from '../types/scheme.type' import type { Scheme } from '../types/scheme.type'
import { {{.StructName}} } from '{{.GolangServicesPath}}' import { {{.StructName}} } from '../../bindings/github.com/kuzgoga/nto-boilerplate/internal/services'
import { ref } from 'vue' import { ref } from 'vue'
import type { Validate } from "../types/validate.type"; import type { Validate } from "../types/validate.type";
import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util"; import { getDefaultSortOptions } from "../utils/structs/default-sort-options.util";

View File

@@ -1,5 +1,5 @@
import { GetAll, Create, Delete, GetById, Update, Count, SortedByOrder, SearchByAllTextFields } from "../../bindings/app/internal/services/{{.LowerModelName}}service" import { GetAll, Create, Delete, GetById, Update, Count, SortedByOrder, SearchByAllTextFields } from "../../bindings/github.com/kuzgoga/nto-boilerplate/internal/services/{{.LowerModelName}}service"
import type { {{.ModelName}} } from "{{.ServicesPath}}" import type { {{.ModelName}} } from "../../bindings/github.com/kuzgoga/nto-boilerplate/internal/services"
import type { IService } from "../types/service.type" import type { IService } from "../types/service.type"
import type { SortOptions } from "../types/sort-options.type"; import type { SortOptions } from "../types/sort-options.type";
@@ -33,7 +33,16 @@ export default class {{.ModelName}}Service implements IService<{{.ModelName}}> {
return await SearchByAllTextFields(input) as {{ .ModelName }}[] return await SearchByAllTextFields(input) as {{ .ModelName }}[]
} }
async sort(options: SortOptions<{{ .ModelName }}>) { async sort(options: SortOptions<{{.ModelName}}>) {
return await SortedByOrder(Object.entries(options).map(item => ({Name: item[0], Order: item[1]}))) as {{ .ModelName }}[] return (await SortedByOrder(
} Object.entries(options).map((item) => {
if (item[1] !== 'NONE') {
return ({
Name: item[0],
Order: item[1],
})
}
}).filter(item => !!item)
)) as {{.ModelName}}[];
}
} }

View File

@@ -1,6 +1,6 @@
package model package model
import "nto_cli/utils" import "github.com/opbnq-q/nto-cli/utils"
func GetNotImplementedModels(models []Model) []Model { func GetNotImplementedModels(models []Model) []Model {
var unimplementedModels []Model var unimplementedModels []Model

View File

@@ -1,11 +1,11 @@
package model package model
import ( import (
"github.com/opbnq-q/nto-cli/utils"
"go/ast" "go/ast"
"go/parser" "go/parser"
"go/token" "go/token"
"log/slog" "log/slog"
"nto_cli/utils"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"