Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct { Config []ParamConfig `yaml:"config,omitempty" json:"config,omitempty"` // Параметры, передаваемые при запуске сервера Rest map[string]*Rest `yaml:"rest,omitempty" json:"rest,omitempty"` // Подготовка REST для сервера RestGroups []string `yaml:"-" json:"-"` // Названия групп }
type FK ¶
type FK struct { ID uuid.UUID `yaml:"id,omitempty" json:"id,omitempty"` // Идентификатор внешнего ключа Name string `yaml:"name,omitempty" json:"name,omitempty"` // Название ключа Type string `yaml:"-" json:"-"` // Тип первичного ключа TableID uuid.UUID `yaml:"idTable,omitempty" json:"idTable,omitempty"` // Идентификатор таблицы, на которую ссылаемся TableName string `yaml:"tableName,omitempty" json:"tableName,omitempty"` // Название таблицы, на которую ссылаемся Description string `yaml:"description,omitempty" json:"description,omitempty"` // Описание внешнего ключа }
Описание внешних ключей
type Field ¶
type Field struct { ID uuid.UUID `yaml:"id,omitempty" json:"id,omitempty"` // Идентификатор поля. Если пустой, то генерируется автоматически для дальнейше работы Name string `yaml:"name,omitempty" json:"name,omitempty"` // Название поля Type string `yaml:"type,omitempty" json:"type,omitempty"` // Тип поля. По умолчанию text TypeParentTable string `yaml:"-" json:"-"` // Поле для типа от родительских таблицы первичных ключей Length *int `yaml:"length,omitempty" json:"len,omitempty"` // Размер поля для строковых типов и Decimal Accuracy *int `yaml:"accuracy,omitempty" json:"accuracy,omitempty"` // Точность поля для Decimal Description string `yaml:"description,omitempty" json:"description,omitempty"` // Описание поля IsArray bool `yaml:"isArray,omitempty" json:"isArray,omitempty"` // Если является массивом }
Описание поля
type Frontend ¶
type Frontend struct { Lang string `yaml:"lang" json:"lang" default:"agular"` // Библиотека для клиентской части Theme string `yaml:"theme" json:"theme" default:"primeng/resources/themes/mdc-light-indigo/theme.css"` // Стиль по умолчанию для PrimeNG DefaultPathAfterLogin string `yaml:"defaultPathAfterLogin" json:"defaultPathAfterLogin" default:"/"` // Путь переадресация после успешной аутентификации }
type ParamConfig ¶
type Project ¶
type Project struct { // Language string `yaml:"lang"` // Язык генерации. Поддерживаются go (серверная часть) и angular (клиентская часть) Name string `yaml:"name,omitempty" json:"name,omitempty"` Title string `yaml:"title,omitempty" json:"title,omitempty"` Version string `yaml:"version,omitempty" json:"version,omitempty"` Description string `yaml:"description,omitempty" json:"description,omitempty"` TermsOfServices string `yaml:"termsOfServices,omitempty" json:"termsOfServices,omitempty"` ContactName string `yaml:"contactName,omitempty" json:"contactName,omitempty"` ContactUrl string `yaml:"contactUrl,omitempty" json:"contactUrl,omitempty"` ContactEmail string `yaml:"contactEmail,omitempty" json:"contactEmail,omitempty"` LicenseName string `yaml:"licenseName,omitempty" json:"licenseName,omitempty"` LicenseUrl string `yaml:"licenseUrl,omitempty" json:"licenseUrl,omitempty"` Host string `yaml:"host,omitempty" json:"host,omitempty"` BasePath string `yaml:"basePath,omitempty" json:"basePath,omitempty"` Interfaces []Interface `yaml:"interfaces,omitempty" json:"interfaces,omitempty"` // Структуры интерфейсов DB DB `yaml:"db,omitempty" json:"db,omitempty"` // Структура БД Roles []Role `yaml:"roles,omitempty" json:"roles,omitempty"` // Роли приложения Backend Backend `yaml:"backend,omitempty" json:"backend,omitempty"` // Структура серверной стороны Frontend Frontend `yaml:"frontend,omitempty" json:"frontend,omitempty"` // Структура клиентской стороны }
type Rest ¶
type Rest struct { Name string `yam:"name,omitempty" json:"name,omitempty" default:"noname"` // Имя раздела запросов GroupName string `yaml:"groupName,omitempty" json:"groupName,omitempty" default:"nogroup"` // Имя группы, в которую входит данный путь REST Summary string `yaml:"summary,omitempty" json:"summary,omitempty" default:"Общее описание"` // Общее краткое описание Comment string `yaml:"comment,omitempty" json:"comment,omitempty" default:"Описание"` // Описание (комментарий) Data VisField `yaml:"data,omitempty" json:"data,omitempty"` // Модель данных, на основе которой строиться запрос Edit []VisField `yaml:"edits,omitempty" json:"edits,omitempty"` // Список полей для редактирования Visible []VisField `yaml:"visible,omitempty" json:"visible,omitempty"` // Список видимых полей. Если указан хоть один, то отображаются только те, которые указаны, иначе отображаются все Invisible []VisField `yaml:"invisible,omitempty" json:"invisible,omitempty"` // Список невидимых полей. Если указан хоть один, то отображаются все кроме указанного, иначе берется правило из поля "visible". Является приоритетным и в данном случае поле "visible" игнорируется Filter []VisField `yaml:"filter,omitempty" json:"filter,omitempty"` // Указывается список полей, по которым будет осуществляться поиск Editable bool `yaml:"editable,omitempty" json:"editable,omitempty"` // Модель является редактируемой, т.е. необходимо сгенерировать rest для данной модели. Для данного пути будут сформированы методы GET, POST, PUT и DELETE с соответствующим путем /<path>/{id} FieldID VisField `yaml:"fieldId,omitempty" json:"fieldId,omitempty"` // Поле, которое является ключевым при работе с конкретной записью. Если модель данных указана db, то ключевое поле берется из описания БД и игнорируется. Roles map[string][]string `yaml:"roles,omitempty" json:"roles,omitempty"` // Список ролей, которым разрешено работать с данным. Операция: массив строк с названием ролей. Если не указано, то все роли. Операция для просмотра списка: LIST Methods []string `yaml:"methods,omitempty" json:"methods,omitempty"` // Методы, которые нужно генерировать. Если указаны, то стандартные методы и параметр "editable" игнорируется ParamQuery []Field `yaml:"paramQuery,omitempty" json:"paramQuery,omitempty"` // параметры запроса Unsafe bool `yaml:"unsafe,omitempty" json:"unsafe,omitempty"` // Раздел запроса не нужно защищать }
type RestStruct ¶ added in v0.0.9
type Table ¶
type Table struct { ID uuid.UUID `yaml:"id,omitempty" json:"id,omitempty"` // Идентификатор таблицы. Если пустой, то генерируется автоматически для дальнейше работы Name string `yaml:"name,omitempty" json:"name,omitempty"` // Название таблицы Schema string `yaml:"schema,omitempty" json:"schema,omitempty"` // Схема таблицы (для PostgreSQL либо префикс для остальных) Pk string `yaml:"pk,omitempty" json:"pk,omitempty" default:"uuid"` // Тип первичного ключа. Если uuid, то генерируется V4, int и bigint - используется bigint с автоинкрементом, string - первичный ключ как текстовое поле. Если не указано, то поумолчанию используется UUID Description string `yaml:"description,omitempty" json:"description,omitempty"` // Описание таблицы Fields []Field `yaml:"fields,omitempty" json:"fields,omitempty"` // Поля таблицы Recursive bool `yaml:"recursive,omitempty" json:"recursive,omitempty"` // Рекурсивная таблица FKs []FK `yaml:"fks,omitempty" json:"fks,omitempty"` // Внешние ключи Values []map[string]interface{} `yaml:"values,omitempty" json:"values,omitempty"` // Значения для заполняемого справочника IncludeValues string `yaml:"includeValues,omitempty" json:"includeValues,omitempty"` // Относительный путь к файлу со значениями для заполнения справочника. yml и json будут подставлены автоматически FkFields []Field `yaml:"-" json:"-"` // Поля с описанием внешних ключей Children []Field `yaml:"-" json:"-"` // Дочерние (подчиненные) таблицы }
Описание таблицы. Поле ID (индентификатор и первичный ключ) присутствуют всегда
Click to show internal directories.
Click to hide internal directories.