fix: date

This commit is contained in:
2025-03-09 14:06:54 +07:00
parent a3283b9a57
commit 5f10e45580
3 changed files with 13 additions and 1 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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, ".")