Documentation ¶
Index ¶
- Constants
- Variables
- func AsRef(t types.Type) (*types.Reference, error)
- func ColToString(c *Column, prefix string) string
- func ColToViewString(c *Column, prefix string) string
- func Help(t types.Type) string
- func ToGoDTOType(t types.Type, nullable bool, pkg string) string
- func ToGoString(t types.Type, prop string) string
- func ToGoType(t types.Type, nullable bool, pkg string) string
- func ToGoViewString(t types.Type, prop string, nullable bool, format string) string
- func ToSQLType(t types.Type) string
- func TypeToString(t types.Type, prop string) string
- func TypeToViewString(t types.Type, prop string, nullable bool) string
- type Args
- type Column
- func (c *Column) BC() string
- func (c *Column) Camel() string
- func (c *Column) CamelPlural() string
- func (c *Column) Clone() *Column
- func (c *Column) HasTag(t string) bool
- func (c *Column) Help() string
- func (c *Column) NameQuoted() string
- func (c *Column) Plural() string
- func (c *Column) Proper() string
- func (c *Column) ProperPlural() string
- func (c *Column) ShouldDisplay(k string) bool
- func (c *Column) Title() string
- func (c *Column) TitleLower() string
- func (c *Column) ToGoDTOType(pkg string) string
- func (c *Column) ToGoEditString(prefix string, format string) string
- func (c *Column) ToGoMapParse() string
- func (c *Column) ToGoString(prefix string) string
- func (c *Column) ToGoType(pkg string) string
- func (c *Column) ToGoViewString(prefix string) string
- func (c *Column) ToSQLType() string
- func (c *Column) ZeroVal() string
- type Columns
- func (c Columns) Args(pkg string) string
- func (c Columns) CamelNames() []string
- func (c Columns) ForDisplay(k string) Columns
- func (c Columns) Get(name string) *Column
- func (c Columns) GoDTOTypeKeys(pkg string) []string
- func (c Columns) GoTypeKeys(pkg string) []string
- func (c Columns) GoTypes(pkg string) []string
- func (c Columns) HasFormat(f string) bool
- func (c Columns) MaxCamelLength() int
- func (c Columns) MaxGoDTOKeyLength(pkg string) int
- func (c Columns) MaxGoKeyLength(pkg string) int
- func (c Columns) MaxGoTypeLength(pkg string) int
- func (c Columns) Names() []string
- func (c Columns) NamesQuoted() []string
- func (c Columns) NonPKs() Columns
- func (c Columns) OneWithTag(t string) (*Column, error)
- func (c Columns) PKs() Columns
- func (c Columns) ProperNames() []string
- func (c Columns) Refs() string
- func (c Columns) Searches() Columns
- func (c Columns) Smushed() string
- func (c Columns) TitlesLower() []string
- func (c Columns) ToGoStrings(prefix string) string
- func (c Columns) ToRefs(prefix string) string
- func (c Columns) Types() types.Types
- func (c Columns) WhereClause(offset int) string
- func (c Columns) WithTag(t string) Columns
- func (c Columns) WithoutTag(t string) Columns
- func (c Columns) ZeroVals() []string
- type Group
- type Groups
- type HistoryMap
- type Index
- type Indexes
- type Model
- func (m *Model) Breadcrumbs() string
- func (m *Model) Camel() string
- func (m *Model) CamelPlural() any
- func (m *Model) CanTraverseRelation() bool
- func (m *Model) ClassRef() string
- func (m *Model) FirstLetter() string
- func (m *Model) GroupString(prefix string, dflt string) string
- func (m *Model) GroupedColumns() Columns
- func (m *Model) HasTag(t string) bool
- func (m *Model) Help() string
- func (m *Model) HistoryColumn() *Column
- func (m *Model) HistoryColumns(coreColumns bool) *HistoryMap
- func (m *Model) IconSafe() string
- func (m *Model) IsHistory() bool
- func (m *Model) IsRevision() bool
- func (m *Model) IsSoftDelete() bool
- func (m *Model) LastGroup(prefix string, dflt string) string
- func (m *Model) LinkURL(prefix string) string
- func (m *Model) PKs() Columns
- func (m *Model) PackageWithGroup(prefix string) string
- func (m *Model) Plural() string
- func (m *Model) Proper() string
- func (m *Model) ProperPlural() string
- func (m *Model) RelationsFor(col *Column) Relations
- func (m *Model) Route() string
- func (m *Model) SoftDeleteSuffix() string
- func (m *Model) Title() string
- func (m *Model) TitleLower() string
- func (m *Model) TitlePlural() string
- func (m *Model) TitlePluralLower() string
- func (m *Model) URLPath(prefix string) string
- func (m *Model) Validate(mods []string, groups Groups) error
- type Models
- type Relation
- type Relations
Constants ¶
View Source
const ( FmtCode = "code" FmtURL = "url" FmtSelect = "select" )
View Source
const ( HistoryType = "history" RevisionType = "revision" )
Variables ¶
View Source
var ( ExampleColumns = Columns{ {Name: "id", Type: types.NewUUID(), PK: true, Search: true, HelpString: "The primary key"}, {Name: "name", Type: types.NewString(), Search: true, HelpString: "The name of the thing"}, {Name: "created", Type: types.NewTimestamp(), SQLDefault: "now()", Tags: []string{"created"}, HelpString: "Created timestamp"}, {Name: "deleted_at", Type: types.NewTimestamp(), Nullable: true, Tags: []string{"deleted"}, HelpString: "Optional timestamp"}, } ExampleRelations = Relations{ {Name: "relation_a", Src: []string{"parent_id"}, Table: "parent", Tgt: []string{"id"}}, } ExampleIndexes = Indexes{ {Name: "example_idx", Decl: `"table_name" ("id", "created")`}, } Examples = map[string]any{ "columns": ExampleColumns, "relations": ExampleRelations, "indexes": ExampleIndexes, } )
Functions ¶
func ColToString ¶
func ColToViewString ¶
func ToGoViewString ¶
Types ¶
type Args ¶
type Column ¶
type Column struct { Name string `json:"name"` Type *types.Wrapped `json:"type"` PK bool `json:"pk,omitempty"` Nullable bool `json:"nullable,omitempty"` Search bool `json:"search,omitempty"` SQLDefault string `json:"sqlDefault,omitempty"` Display string `json:"display,omitempty"` Format string `json:"format,omitempty"` Values []string `json:"values,omitempty"` Tags []string `json:"tags,omitempty"` HelpString string `json:"helpString,omitempty"` }
func (*Column) CamelPlural ¶
func (*Column) NameQuoted ¶
func (*Column) ProperPlural ¶
func (*Column) ShouldDisplay ¶
func (*Column) TitleLower ¶
func (*Column) ToGoDTOType ¶
func (*Column) ToGoEditString ¶
func (*Column) ToGoMapParse ¶
func (*Column) ToGoString ¶
func (*Column) ToGoViewString ¶
type Columns ¶
type Columns []*Column
func (Columns) CamelNames ¶
func (Columns) ForDisplay ¶
func (Columns) GoDTOTypeKeys ¶
func (Columns) GoTypeKeys ¶
func (Columns) MaxCamelLength ¶
func (Columns) MaxGoDTOKeyLength ¶
func (Columns) MaxGoKeyLength ¶
func (Columns) MaxGoTypeLength ¶
func (Columns) NamesQuoted ¶
func (Columns) ProperNames ¶
func (Columns) TitlesLower ¶
func (Columns) ToGoStrings ¶
func (Columns) WhereClause ¶
func (Columns) WithoutTag ¶
type Group ¶
type HistoryMap ¶
type Model ¶
type Model struct { Name string `json:"name"` Package string `json:"package"` Group []string `json:"group,omitempty"` Description string `json:"description,omitempty"` Icon string `json:"icon,omitempty"` Ordering filter.Orderings `json:"ordering,omitempty"` Search []string `json:"search,omitempty"` History string `json:"history,omitempty"` Tags []string `json:"tags,omitempty"` TitleOverride string `json:"title,omitempty"` ProperOverride string `json:"proper,omitempty"` RouteOverride string `json:"route,omitempty"` Config util.ValueMap `json:"config,omitempty"` Columns Columns `json:"columns"` Relations Relations `json:"relations,omitempty"` Indexes Indexes `json:"indexes,omitempty"` SeedData [][]any `json:"seedData,omitempty"` // contains filtered or unexported fields }
func (*Model) Breadcrumbs ¶
func (*Model) CamelPlural ¶
func (*Model) CanTraverseRelation ¶
func (*Model) FirstLetter ¶
func (*Model) GroupedColumns ¶
func (*Model) HistoryColumn ¶
func (*Model) HistoryColumns ¶
func (m *Model) HistoryColumns(coreColumns bool) *HistoryMap
func (*Model) IsRevision ¶
func (*Model) IsSoftDelete ¶
func (*Model) PackageWithGroup ¶
func (*Model) ProperPlural ¶
func (*Model) RelationsFor ¶
func (*Model) SoftDeleteSuffix ¶
func (*Model) TitleLower ¶
func (*Model) TitlePlural ¶
func (*Model) TitlePluralLower ¶
type Relation ¶
type Relation struct { Name string `json:"name"` Src []string `json:"src"` Table string `json:"table"` Tgt []string `json:"tgt"` }
func (*Relation) SrcColumns ¶
func (*Relation) TgtColumns ¶
Click to show internal directories.
Click to hide internal directories.