schema

package
v1.0.3394 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2020 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SchemaCache map[string]*FieldsTable

SchemaCache хранит структуру полей - стоит продумать, как хранить еще и ключи

Functions

This section is empty.

Types

type ErrNotFoundField

type ErrNotFoundField struct {
	Table     string
	FieldName string
}

ErrNotFoundField if not found in table {Table} field by name {Column}

func (ErrNotFoundField) Error

func (err ErrNotFoundField) Error() string

type ErrNotFoundTable

type ErrNotFoundTable struct {
	Table string
}

ErrNotFoundTable if not found table by name {Table}

func (ErrNotFoundTable) Error

func (err ErrNotFoundTable) Error() string

type FieldStructure

type FieldStructure struct {
	Table                    *FieldsTable
	COLUMN_NAME              string
	DATA_TYPE                string
	COLUMN_DEFAULT           string
	IS_NULLABLE              string
	CHARACTER_SET_NAME       string
	COLUMN_COMMENT           string
	COLUMN_TYPE              string
	CHARACTER_MAXIMUM_LENGTH int
	PrimaryKey               bool
	IsHidden                 bool
	InputType                string
	CSSClass                 string
	CSSStyle                 string
	TableName                string
	Events                   map[string]string
	Where                    string
	Figure                   string
	Placeholder              string
	Pattern                  string
	MinDate                  string
	MaxDate                  string
	BeforeHtml               string
	Html                     string
	AfterHtml                string
	ForeignFields            string
	LinkTD                   string
	DataJSOM                 map[string]interface{}
	EnumValues               []string
	SETID, NODEID, TABLEID   bool
	IdForeign                bool
	TableProps, TableValues  string
	ChildrenFields           *FieldsTable
}

FieldStructure нужна для подготовки к отображению поля на форме (возможно, в таблице и еще других компонентах веб-старницы) На данный момент создается на лету, в будущем TODO: hfpltkbnm yf cnfnbxtcre. b lbyfvbxtcre. xfcnb

func (*FieldStructure) GetColumnTitles

func (field *FieldStructure) GetColumnTitles() (titleFull, titleLabel, placeholder, pattern, dataJson string)

GetColumnTitles split title field for form render

func (*FieldStructure) GetForeignFields

func (field *FieldStructure) GetForeignFields() string

GetForeignFields возвращает поле в связанной таблице, которое будет отдано пользователю например, для вторичных ключей отдает не idзаписи, а name || title || какой-либо складное поле

func (*FieldStructure) GetParentFieldName

func (field *FieldStructure) GetParentFieldName() (name string)

GetParentFieldName fro field by her name

func (*FieldStructure) GetSQLFromSETID

func (field *FieldStructure) GetSQLFromSETID(key, parentTable string) string

GetSQLFromSETID return sql-query string fro field {key}

func (*FieldStructure) ParseComment

func (field *FieldStructure) ParseComment(COLUMN_COMMENT string) string

ParseComment извлекает из комментария к полю значимые токены

func (*FieldStructure) TypeInput

func (field *FieldStructure) TypeInput() string

TypeInput стиль показа для разных типов полей новый метод, еще обдумываю

type FieldsTable

type FieldsTable struct {
	Name           string
	ID             int
	Comment        string
	IsDadata       bool
	Rows           []*FieldStructure
	Hiddens        map[string]string
	SaveFormEvents map[string]string
	DataJSOM       map[string]interface{}
}

FieldsTable for fields parameters in form

func GetFieldsTable

func GetFieldsTable(tableName string) *FieldsTable

GetFieldsTable return schema table from cache

func GetParentTable

func GetParentTable(tableName string) *FieldsTable

GetParentTable return name parent table

func (*FieldsTable) FillSurroggateFields

func (table *FieldsTable) FillSurroggateFields(tableName string)

FillSurroggateFields fill surrogate field property for API TODO: заменить строки имена таблиц на ссылку на схему

func (*FieldsTable) FindField

func (table *FieldsTable) FindField(name string) *FieldStructure

FindColumn search field in table by {name} & return structure field

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL