/* 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`
/**
* Organisation structure
*
* @version 5.23.67
* @module @unitybase/org
*/
/**
* Departments.
* This dictionary contains list of departments. Each department links to org_unit by Unity mixin
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
* @mixes unity
*/
class org_department_ns extends EntityNamespace {}
/**
* @typedef orgDepartmentAttrs
* @type {object}
* @property {number|orgUnitAttrs} ID
* @property {number|orgUnitAttrs} parentID - Parent
* @property {string} code - Internal code
* @property {string} name - Department name
* @property {string} fullName - Department full name
* @property {string} description - Department description
* @property {string} nameGen - Department name in genitive case
* @property {string} nameDat - Department name in dative case
* @property {string} fullNameGen - Department full name in genitive case
* @property {string} fullNameDat - Department full name in dative case
* @property {number|cdnDeptypeAttrs} depTypeID - Department type
* @property {string} caption - Caption
* @property {number|orgDepartmentAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgDepartmentAttrs}
*/
org_department_ns.attrs = {}
/**
* Departments.
* This dictionary contains list of departments. Each department links to org_unit by Unity mixin
*
* @type {org_department_ns}
*/
const org_department = new org_department_ns()
/**
* Organizational Chart Diagrams
*
* @augments EntityNamespace
* @mixes mStorage
*/
class org_diagram_ns extends EntityNamespace {}
/**
* @typedef orgDiagramAttrs
* @type {object}
* @property {number} ID
* @property {number|orgUnitAttrs} orgunitID - Root
* @property {string} caption - Name
* @property {boolean} isdefault - Default
* @property {string} document - Organization chart
* @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 {orgDiagramAttrs}
*/
org_diagram_ns.attrs = {}
/**
* Organizational Chart Diagrams
*
* @type {org_diagram_ns}
*/
const org_diagram = new org_diagram_ns()
/**
* List of employees of of our organizations.
* This dictionary contains list of departments. Employee is assigned to positions in org_employeeonstaff entity
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
*/
class org_employee_ns extends EntityNamespace {}
/**
* @typedef orgEmployeeAttrs
* @type {object}
* @property {number} ID
* @property {string} code - Code
* @property {number|ubaUserAttrs} userID - User
* @property {string} lastName - Last name
* @property {string} firstName - First name
* @property {string} middleName - Middle name
* @property {Date} birthDate - Date of birth
* @property {string} description - Comment
* @property {string|ubmEnumAttrs} sexType - Gender
* @property {string} suffix - Suffix
* @property {string} shortFIO - Last name with initials
* @property {string} fullFIO - Full name
* @property {string} apply - Title
* @property {string} lastNameGen - Last name in genitive
* @property {string} lastNameDat - Last name in dative
* @property {string} lastNameObj - Last name in objective
* @property {string} firstNameGen - First name in genitive
* @property {string} firstNameDat - First name in dative
* @property {string} firstNameObj - First name in objective
* @property {string} middleNameGen - Middle name in genitive
* @property {string} middleNameDat - Middle name in dative
* @property {string} middleNameObj - Middle name in objective
* @property {string} shortFIOGen - Short name in genitive
* @property {string} shortFIODat - Short name in dative
* @property {string} shortFIOObj - Short name in objective
* @property {string} fullFIOGen - Full name in genitive
* @property {string} fullFIODat - Full name in dative
* @property {string} fullFIOObj - Full name in objective
* @property {string} applyGen - Title in genitive
* @property {string} applyDat - Title in dative
* @property {string} applyObj - Title in objective
* @property {string} facsimile - Facsimile
* @property {string} avatar - Avatar
* @property {number|orgEmployeeAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgEmployeeAttrs}
*/
org_employee_ns.attrs = {}
/**
* List of employees of of our organizations.
* This dictionary contains list of departments. Employee is assigned to positions in org_employeeonstaff entity
*
* @type {org_employee_ns}
*/
const org_employee = new org_employee_ns()
/**
* List of internal organization assignments.
* The denouement essence, which indicates which employee on which position works (appointment). There is also a type of assignment (temporary, permanent, part-time, etc.)
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
*/
class org_employeeonstaff_ns extends EntityNamespace {}
/**
* @typedef orgEmployeeonstaffAttrs
* @type {object}
* @property {number} ID
* @property {string} tabNo - # Employee
* @property {number|orgEmployeeAttrs} employeeID - Employee
* @property {number|orgStaffunitAttrs} staffUnitID - Position
* @property {string|ubmEnumAttrs} employeeOnStaffType - Assignment Type
* @property {string} description - Description
* @property {string} caption - Caption
* @property {number|orgEmployeeonstaffAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgEmployeeonstaffAttrs}
*/
org_employeeonstaff_ns.attrs = {}
/**
* List of internal organization assignments.
* The denouement essence, which indicates which employee on which position works (appointment). There is also a type of assignment (temporary, permanent, part-time, etc.)
*
* @type {org_employeeonstaff_ns}
*/
const org_employeeonstaff = new org_employeeonstaff_ns()
/**
* Assignment with pending date.
* Entity which contains links to assignments with pending date
*
* @augments EntityNamespace
* @mixes mStorage
*/
class org_employeeonstaff_pending_ns extends EntityNamespace {}
/**
* @typedef orgEmployeeonstaffPendingAttrs
* @type {object}
* @property {number} ID
* @property {number|orgEmployeeonstaffAttrs} emponstaffID - Assignment
* @property {Date} startDate - Start
* @property {Date} endDate - End
* @property {number|ubaUserAttrs} mi_owner
* @property {Date} mi_createDate
* @property {number|ubaUserAttrs} mi_createUser
* @property {Date} mi_modifyDate
* @property {number|ubaUserAttrs} mi_modifyUser
*/
/**
* Attributes defined in metadata. Property does not exist in real life and added for IDE
*
* @type {orgEmployeeonstaffPendingAttrs}
*/
org_employeeonstaff_pending_ns.attrs = {}
/**
* Assignment with pending date.
* Entity which contains links to assignments with pending date
*
* @type {org_employeeonstaff_pending_ns}
*/
const org_employeeonstaff_pending = new org_employeeonstaff_pending_ns()
/**
* List of typical executors groups for tasks executors
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
* @mixes unity
*/
class org_execgroup_ns extends EntityNamespace {}
/**
* @typedef orgExecgroupAttrs
* @type {object}
* @property {number|orgUnitAttrs} ID
* @property {number|orgOrganizationAttrs} parentID - Parent unit
* @property {string|ubmEnumAttrs} groupType - Type
* @property {string} code - Code
* @property {string} name - Name of the group
* @property {string} nameGen - Name in genitive case
* @property {string} nameDat - Name in dative case
* @property {number|orgExecgroupAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgExecgroupAttrs}
*/
org_execgroup_ns.attrs = {}
/**
* List of typical executors groups for tasks executors
*
* @type {org_execgroup_ns}
*/
const org_execgroup = new org_execgroup_ns()
/**
* Executors who attached to group and used for executors auto-filling in resolutions on group addition
*
* @augments EntityNamespace
* @mixes mStorage
*/
class org_execgroupmember_ns extends EntityNamespace {}
/**
* @typedef orgExecgroupmemberAttrs
* @type {object}
* @property {number} ID
* @property {number|orgExecgroupAttrs} execGroupID - Executors group
* @property {number|orgStaffunitAttrs} orgUnitID - Executor
* @property {number|ubaUserAttrs} mi_owner
* @property {Date} mi_createDate
* @property {number|ubaUserAttrs} mi_createUser
* @property {Date} mi_modifyDate
* @property {number|ubaUserAttrs} mi_modifyUser
*/
/**
* Attributes defined in metadata. Property does not exist in real life and added for IDE
*
* @type {orgExecgroupmemberAttrs}
*/
org_execgroupmember_ns.attrs = {}
/**
* Executors who attached to group and used for executors auto-filling in resolutions on group addition
*
* @type {org_execgroupmember_ns}
*/
const org_execgroupmember = new org_execgroupmember_ns()
/**
* Settlement accounts for internal organizations
*
* @augments EntityNamespace
* @mixes mStorage
*/
class org_orgaccount_ns extends EntityNamespace {}
/**
* @typedef orgOrgaccountAttrs
* @type {object}
* @property {number} ID
* @property {number|orgOrganizationAttrs} organizationID - Organization
* @property {number|cdnCurrencyAttrs} currencyID - Currency
* @property {number|cdnBankAttrs} bankID - Bank
* @property {string} code - Code
* @property {string|ubmEnumAttrs} acctype - Type
* @property {string} description - Description
* @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 {orgOrgaccountAttrs}
*/
org_orgaccount_ns.attrs = {}
/**
* Settlement accounts for internal organizations
*
* @type {org_orgaccount_ns}
*/
const org_orgaccount = new org_orgaccount_ns()
/**
* List of internal organizations.
* This dictionary contains list of internal organizations. Each organization links to org_unit by Unity mixin
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
* @mixes unity
*/
class org_organization_ns extends EntityNamespace {}
/**
* @typedef orgOrganizationAttrs
* @type {object}
* @property {number|orgUnitAttrs} ID
* @property {number|orgUnitAttrs} parentID - Parent
* @property {string} code - Internal code
* @property {string} OKPOCode - CCEO
* @property {string} taxCode - Tax number
* @property {string} vatCode - VAT number
* @property {string} name - Organization name
* @property {string} fullName - Organization full name
* @property {string} nameGen - Name in genitive case
* @property {string} nameDat - Name in dative case
* @property {string} fullNameGen - Full name in genitive case
* @property {string} fullNameDat - Full name in dative case
* @property {string} description - Organization description
* @property {number|cdnOrgbusinesstypeAttrs} orgBusinessTypeID - Organization type
* @property {number|cdnOrgownershiptypeAttrs} orgOwnershipTypeID - Ownership type
* @property {number|orgOrganizationAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgOrganizationAttrs}
*/
org_organization_ns.attrs = {}
/**
* List of internal organizations.
* This dictionary contains list of internal organizations. Each organization links to org_unit by Unity mixin
*
* @type {org_organization_ns}
*/
const org_organization = new org_organization_ns()
/**
* List of position types
*
* @augments EntityNamespace
* @mixes mStorage
*/
class org_profession_ns extends EntityNamespace {}
/**
* @typedef orgProfessionAttrs
* @type {object}
* @property {number} ID
* @property {string} code - Code
* @property {string} name - Name
* @property {string} fullName - Full name
* @property {string} nameGen - Name in genitive case
* @property {string} nameDat - Name in dative case
* @property {string} fullNameGen - Full name in genitive case
* @property {string} fullNameDat - Full name in dative case
* @property {string} description - Caption
* @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 {orgProfessionAttrs}
*/
org_profession_ns.attrs = {}
/**
* List of position types
*
* @type {org_profession_ns}
*/
const org_profession = new org_profession_ns()
/**
* List of positions.
* This dictionary contains list of positions. Each position links to org_unit by Unity mixin
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
* @mixes unity
*/
class org_staffunit_ns extends EntityNamespace {}
/**
* @typedef orgStaffunitAttrs
* @type {object}
* @property {number|orgUnitAttrs} ID
* @property {number|orgUnitAttrs} parentID - Parent
* @property {string} code - Internal code
* @property {string} name - Position name
* @property {string} fullName - Full name
* @property {string} description - Position description
* @property {string} nameGen - Position name in genitive case
* @property {string} nameDat - Position name in dative case
* @property {string} fullNameGen - Full name in genitive case
* @property {string} fullNameDat - Full name in dative case
* @property {string} caption - Caption
* @property {number|cdnProfessionAttrs} professionExtID - Profession
* @property {number|orgProfessionAttrs} professionID - Position type
* @property {number|cdnStaffunittypeAttrs} staffUnitTypeID - Staff unit type
* @property {number} subordinationLevel - Subordination level
* @property {boolean} isBoss - Boss
* @property {number|orgStaffunitAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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 {orgStaffunitAttrs}
*/
org_staffunit_ns.attrs = {}
/**
* List of positions.
* This dictionary contains list of positions. Each position links to org_unit by Unity mixin
*
* @type {org_staffunit_ns}
*/
const org_staffunit = new org_staffunit_ns()
/**
* List of organization units.
* Dictionary which is composed of organizations (org_organization), departments (org_department) and positions (org_staffunit) by Unity mixin. Dictionary is self-referential, which allows to build a hierarchy of all organizational units in one tree
*
* @augments EntityNamespace
* @mixes mStorage
* @mixes dataHistory
* @mixes tree
*/
class org_unit_ns extends EntityNamespace {}
/**
* @typedef orgUnitAttrs
* @type {object}
* @property {number} ID
* @property {number|orgUnitAttrs} parentID - Parent
* @property {string} code - Internal code
* @property {string} caption - Caption
* @property {string|ubmEnumAttrs} unitType - Org. unit type
* @property {string} mi_treePath
* @property {number|orgUnitAttrs} mi_data_id
* @property {Date} mi_dateFrom
* @property {Date} mi_dateTo
* @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
* @property {string} mi_unityEntity
*/
/**
* Attributes defined in metadata. Property does not exist in real life and added for IDE
*
* @type {orgUnitAttrs}
*/
org_unit_ns.attrs = {}
/**
* List of organization units.
* Dictionary which is composed of organizations (org_organization), departments (org_department) and positions (org_staffunit) by Unity mixin. Dictionary is self-referential, which allows to build a hierarchy of all organizational units in one tree
*
* @type {org_unit_ns}
*/
const org_unit = new org_unit_ns()