/* eslint-disable camelcase,no-unused-vars,new-cap,no-undef,comma-dangle */
// This file is generated automatically and contain definition for code insight.
// It ignored by UnityBase server because name start from "_".
// Do not modify this file directly, instead run `ubcli createCodeInsightHelper -u root`

/**
 * Set of entities for constructing a dynamically generated UnityBase UI. Enumerations, navigation desktops & shortcuts, forms, ER diagrams
 *
 * @version 5.23.60
 * @module @unitybase/ubm
 */

/**
 * Application desktops
 *
 * @augments EntityNamespace
 * @mixes mStorage
 */
class ubm_desktop_ns extends EntityNamespace {}

/**
 * @typedef ubmDesktopAttrs
 * @type {object}
 * @property {number} ID
 * @property {string} caption - Desktop name
 * @property {string} code - Code
 * @property {string} description - Desktop description
 * @property {string} iconCls - Desktop icon
 * @property {string} url - URL
 * @property {boolean} isDefault - By default?
 * @property {number} displayOrder - Order #
 * @property {string} overrided - Overrided by TST
 * @property {number|ubaUserAttrs} mi_owner
 * @property {Date} mi_createDate
 * @property {number|ubaUserAttrs} mi_createUser
 * @property {Date} mi_modifyDate
 * @property {number|ubaUserAttrs} mi_modifyUser
 * @property {Date} mi_deleteDate
 * @property {number|ubaUserAttrs} mi_deleteUser
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmDesktopAttrs}
 */
ubm_desktop_ns.attrs = {}

/**
 * Application desktops
 *
 * @type {ubm_desktop_ns}
 */
const ubm_desktop = new ubm_desktop_ns()
/**
 * Administering of Desktops
 *
 * @augments EntityNamespace
 * @mixes mStorage
 */
class ubm_desktop_adm_ns extends EntityNamespace {}

/**
 * @typedef ubmDesktopAdmAttrs
 * @type {object}
 * @property {number} ID
 * @property {number|ubmDesktopAttrs} instanceID - Desktop
 * @property {number|ubaSubjectAttrs} admSubjID - Admin subject
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmDesktopAdmAttrs}
 */
ubm_desktop_adm_ns.attrs = {}

/**
 * Administering of Desktops
 *
 * @type {ubm_desktop_adm_ns}
 */
const ubm_desktop_adm = new ubm_desktop_adm_ns()
/**
 * Entity relation diagrams
 *
 * @augments EntityNamespace
 * @mixes fsStorage
 */
class ubm_diagram_ns extends EntityNamespace {}

/**
 * @typedef ubmDiagramAttrs
 * @type {object}
 * @property {number} ID - ID
 * @property {string} model - Model
 * @property {string} name - Name
 * @property {string} document - Entity diagram
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmDiagramAttrs}
 */
ubm_diagram_ns.attrs = {}

/**
 * Entity relation diagrams
 *
 * @type {ubm_diagram_ns}
 */
const ubm_diagram = new ubm_diagram_ns()
/**
 * Enumerated values.
 * On the UI used as a lookup for attributes with dataType `Enum`
 *
 * @augments EntityNamespace
 * @mixes mStorage
 */
class ubm_enum_ns extends EntityNamespace {}

/**
 * @typedef ubmEnumAttrs
 * @type {object}
 * @property {number} ID
 * @property {string} eGroup - Group
 * @property {string} code - Code
 * @property {string} shortName - Short name
 * @property {string} name - Value name
 * @property {number} sortOrder - Order #
 * @property {number|ubaUserAttrs} mi_owner
 * @property {Date} mi_createDate
 * @property {number|ubaUserAttrs} mi_createUser
 * @property {Date} mi_modifyDate
 * @property {number|ubaUserAttrs} mi_modifyUser
 * @property {Date} mi_deleteDate
 * @property {number|ubaUserAttrs} mi_deleteUser
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmEnumAttrs}
 */
ubm_enum_ns.attrs = {}

/**
 * Enumerated values.
 * On the UI used as a lookup for attributes with dataType `Enum`
 *
 * @type {ubm_enum_ns}
 */
const ubm_enum = new ubm_enum_ns()
/**
 * UnityBase platform Forms Definition
 *
 * @augments EntityNamespace
 * @mixes fsStorage
 */
class ubm_form_ns extends EntityNamespace {}

/**
 * @typedef ubmFormAttrs
 * @type {object}
 * @property {number} ID - ID
 * @property {string} code - Form code
 * @property {string} description - Description
 * @property {string} caption - Form title
 * @property {string|ubmEnumAttrs} formType - Form Type
 * @property {string} formDef - Form definition
 * @property {string} formCode - Form script
 * @property {string} model - Model
 * @property {string} entity - Entity
 * @property {boolean} isDefault - Default
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmFormAttrs}
 */
ubm_form_ns.attrs = {}

/**
 * UnityBase platform Forms Definition
 *
 * @type {ubm_form_ns}
 */
const ubm_form = new ubm_form_ns()
/**
 * Metadata for build navbars
 *
 * @augments EntityNamespace
 * @mixes mStorage
 * @mixes tree
 */
class ubm_navshortcut_ns extends EntityNamespace {}

/**
 * @typedef ubmNavshortcutAttrs
 * @type {object}
 * @property {number} ID
 * @property {number|ubmDesktopAttrs} desktopID - Desktop
 * @property {number|ubmNavshortcutAttrs} parentID - Shortcut folder
 * @property {string} code - Code
 * @property {boolean} isFolder - Is folder?
 * @property {string} caption - Shortcut caption
 * @property {string} cmdCode - Command code
 * @property {boolean} inWindow - In new window
 * @property {boolean} isCollapsed - Collapse
 * @property {number} displayOrder - Order #
 * @property {string} iconCls - Icon (CSS class)
 * @property {string} description - Shortcut description
 * @property {string} keywords - Search keywords
 * @property {string} mi_treePath
 * @property {number|ubaUserAttrs} mi_owner
 * @property {Date} mi_createDate
 * @property {number|ubaUserAttrs} mi_createUser
 * @property {Date} mi_modifyDate
 * @property {number|ubaUserAttrs} mi_modifyUser
 * @property {Date} mi_deleteDate
 * @property {number|ubaUserAttrs} mi_deleteUser
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmNavshortcutAttrs}
 */
ubm_navshortcut_ns.attrs = {}

/**
 * Metadata for build navbars
 *
 * @type {ubm_navshortcut_ns}
 */
const ubm_navshortcut = new ubm_navshortcut_ns()
/**
 * Description.
 * This entity used by $.currentUserOrUserGroupInAdmSubtable RLS macro
 *
 * @augments EntityNamespace
 * @mixes mStorage
 */
class ubm_navshortcut_adm_ns extends EntityNamespace {}

/**
 * @typedef ubmNavshortcutAdmAttrs
 * @type {object}
 * @property {number} ID
 * @property {number|ubmNavshortcutAttrs} instanceID - Shortcut
 * @property {number|ubaSubjectAttrs} admSubjID - Subject of administration
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmNavshortcutAdmAttrs}
 */
ubm_navshortcut_adm_ns.attrs = {}

/**
 * Description.
 * This entity used by $.currentUserOrUserGroupInAdmSubtable RLS macro
 *
 * @type {ubm_navshortcut_adm_ns}
 */
const ubm_navshortcut_adm = new ubm_navshortcut_adm_ns()
/**
 * Data Queries
 *
 * @augments EntityNamespace
 * @mixes mStorage
 */
class ubm_query_ns extends EntityNamespace {}

/**
 * @typedef ubmQueryAttrs
 * @type {object}
 * @property {number} ID
 * @property {string} code - Code
 * @property {string} name - Name
 * @property {*} ubql - UBQL (JSON)
 * @property {string|ubmEnumAttrs} type - Type
 * @property {string} mi_unityEntity
 * @property {number|ubaUserAttrs} mi_owner
 * @property {Date} mi_createDate
 * @property {number|ubaUserAttrs} mi_createUser
 * @property {Date} mi_modifyDate
 * @property {number|ubaUserAttrs} mi_modifyUser
 * @property {Date} mi_deleteDate
 * @property {number|ubaUserAttrs} mi_deleteUser
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmQueryAttrs}
 */
ubm_query_ns.attrs = {}

/**
 * Data Queries
 *
 * @type {ubm_query_ns}
 */
const ubm_query = new ubm_query_ns()
/**
 * System Dictionaries
 *
 * @augments EntityNamespace
 * @mixes mStorage
 * @mixes unity
 */
class ubm_sysdictionary_ns extends EntityNamespace {}

/**
 * @typedef ubmSysdictionaryAttrs
 * @type {object}
 * @property {number|ubmQueryAttrs} ID
 * @property {string} code - Code
 * @property {string} name - Name
 * @property {*} ubql - UBQL (JSON)
 * @property {number|ubaUserAttrs} mi_owner
 * @property {Date} mi_createDate
 * @property {number|ubaUserAttrs} mi_createUser
 * @property {Date} mi_modifyDate
 * @property {number|ubaUserAttrs} mi_modifyUser
 * @property {Date} mi_deleteDate
 * @property {number|ubaUserAttrs} mi_deleteUser
 */

/**
 * Attributes defined in metadata. Property does not exist in real life and added for IDE
 *
 * @type {ubmSysdictionaryAttrs}
 */
ubm_sysdictionary_ns.attrs = {}

/**
 * System Dictionaries
 *
 * @type {ubm_sysdictionary_ns}
 */
const ubm_sysdictionary = new ubm_sysdictionary_ns()