mirror of
https://github.com/opbnq-q/nto-cli.git
synced 2025-12-06 15:30:35 +07:00
fix: date
This commit is contained in:
@@ -11,6 +11,7 @@ const fieldTemplate = `{
|
||||
{{ end }}{{ if .Metadata.Label }} russian: "{{ .Metadata.Label }}",
|
||||
{{ end }}{{ if .Metadata.Readonly }} readonly: true,
|
||||
{{ end }}{{ if .IsArray }} many: true,
|
||||
{{ end }}{{ if eq .Datatype "datetime" }} date: true,
|
||||
{{ end }}{{ .GeneratedType }}
|
||||
}`
|
||||
|
||||
@@ -18,6 +19,7 @@ type FieldTemplateContext struct {
|
||||
Metadata FieldMetadata
|
||||
IsArray bool
|
||||
GeneratedType string
|
||||
Datatype string
|
||||
}
|
||||
|
||||
func (field *Field) GenerateFieldCode() string {
|
||||
@@ -30,6 +32,7 @@ func (field *Field) GenerateFieldCode() string {
|
||||
Metadata: field.Metadata,
|
||||
IsArray: field.Metadata.IsSlice,
|
||||
GeneratedType: field.GenerateType(),
|
||||
Datatype: field.Metadata.Datatype,
|
||||
}
|
||||
|
||||
var result bytes.Buffer
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
)
|
||||
|
||||
var PrimitiveTypes = map[string]string{
|
||||
"date": "date",
|
||||
"string": "string",
|
||||
"boolean": "boolean",
|
||||
"bool": "boolean",
|
||||
@@ -51,7 +52,14 @@ func (field *Field) GenerateType() string {
|
||||
|
||||
if field.Metadata.IsPrimitiveType {
|
||||
data.IsPrimitive = true
|
||||
typeName := field.Type.(*ast.Ident).Name
|
||||
var typeName string
|
||||
// TODO: resolve datatype in other function
|
||||
switch field.Metadata.Datatype {
|
||||
case "datetime":
|
||||
typeName = "date"
|
||||
default:
|
||||
typeName = field.Type.(*ast.Ident).Name
|
||||
}
|
||||
data.PrimitiveType = PrimitiveTypes[typeName]
|
||||
} else {
|
||||
data.IsPrimitive = false
|
||||
|
||||
@@ -94,6 +94,7 @@ func parseModelDecl(fileset *token.FileSet, decl *ast.TypeSpec) Model {
|
||||
metadata.Label = uiTag.GetParamOr("label", "")
|
||||
metadata.IsSlice = utils.IsSlice(fieldDecl.Type)
|
||||
metadata.IsPrimitiveType = utils.IsPrimitiveType(fieldDecl.Type)
|
||||
metadata.Readonly = uiTag.HasOption("readonly")
|
||||
metadata.Datatype = uiTag.GetParamOr("datatype", "")
|
||||
if uiTag.HasParam("field") {
|
||||
metadata.RelatedFields = strings.Split(uiTag.GetParam("field").Value, ".")
|
||||
|
||||
Reference in New Issue
Block a user