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