Constructor
new UBDomain(domainInfo)
Arguments:
-
domainInfo
(object)
 getDomainInfo UB server method resultProperties
-
domain
(object)
 raw entities collection -
entityMethods
(object)
 entities methods access rights for current user -
models
(object)
 information about domain models -
i18n
(object)
 entities localization to current user language -
forceMIMEConvertors
(object)
 list of registered server-side MIME converters for document type attribute content
-
Members
dialectsPriority
protected
static
Priority to apply a mapping of a attributes/entities to the physical tables depending of connection dialect
Properties:
Name | Type | Description |
---|---|---|
MSSQL2012 |
||
MSSQL2008 |
||
MSSQL |
||
Oracle11 |
||
Oracle10 |
||
Oracle9 |
||
Oracle |
||
PostgreSQL |
||
AnsiSQL |
||
Firebird |
||
SQLite3 |
EntityCacheTypes static
Properties:
Name | Type | Description |
---|---|---|
None |
||
Entity |
||
Session |
||
SessionEntity |
EntityDataSourceType: string static readonly
Entity dataSource types
Properties:
Name | Type | Description |
---|---|---|
Normal |
string | |
External |
string | |
System |
string | |
Virtual |
string |
ExpressionType protected static readonly
Types of expressions in attribute mapping
Properties:
Name | Type | Description |
---|---|---|
Field |
||
Expression |
ubDataTypes static readonly
Possible types of the attributes
Properties:
Name | Type | Description |
---|---|---|
String |
Small string. MSSQL: NVARCHAR, ORACLE: NVARCHAR2, POSTGRE: VARCHAR | |
Int |
32-bite Integer. MSSQL: INT, ORACLE: INTEGER, POSTGRE: INTEGER | |
BigInt |
64-bite Integer. MSSQL: BIGINT, ORACLE: NUMBER(19), POSTGRE: BIGINT | |
Float |
Double. MSSQL: FLOAT, ORACLE: NUMBER(19, 4), POSTGRE: NUMERIC(19, 4) | |
Currency |
Currency. MSSQL: FLOAT, ORACLE: NUMBER(19, 2), POSTGRE: NUMERIC(19, 2) | |
Boolean |
Boolean. MSSQL: TINYINT, ORACLE: NUMBER(1), POSTGRE: SMALLINT | |
DateTime |
Date + Time in UTC (GMT+0) timezone. MSSQL: DATETIME, OARCLE: DATE, POSTGRE: TIMESTAMP WITH TIME ZONE | |
Text |
Long strint. MSSQL: NVARCHAR(MAX), ORACLE: CLOB, POSTGRE: TEXT | |
ID |
Alias for BigInt | |
Entity |
Reference to enother entity. BigInt | |
Document |
Store a JSON with information about Document place in blob store | |
Many |
||
TimeLog |
Seconds since UNIX epoch, Int64. MSSQL: BIGINT, ORACLE: NUMBER(19), POSTGRE: BIGINT | |
Enum |
Enumertion (see ubm_enum) | |
BLOB |
Bynary data. MSSQL: VARBINARY(MAX), ORACLE: BLOB, POSTGRE: BYTEA | |
Date |
Date (without time) in UTC (GMT+0) | |
Json |
Json stored in database. Postgres: JSONB, _MSSQL: NVARCHAR(4000), ORACLE: NVARCHAR2(2000) |
ubServiceFields static readonly
Service attribute names
Properties:
Name | Type | Description |
---|---|---|
dateFrom |
||
dateTo |
connections: Array.<DBConnectionConfig>
Connection collection (extended domain only)
defaultConnection: DBConnectionConfig
Default connection (extended domain only)
entities: Object.<string, UBEntity>
Map with keys is entity name, value is UBEntity
models: Object.<string, UBModel>
Models collection
orderedModels: Array.<UBModel>
Array of models, sorted by the order of loading
Methods
getPhysicalDataType(dataType) → string
static
Return physical type by UBDataType
Arguments:
-
dataType
(string)
eachEntity(cb)
Iterates over domain entities and invokes callBack
for each entity.
The iteratee is invoked with three arguments: (UBEntity, entityName, UBDomain.entities)
Arguments:
filterEntities(predicate) → Array.<UBEntity>
Filter entities by properties
Arguments:
Example
// sessionCachedEntities contains all entities with property cacheType === Session
var sessionCachedEntities = domain.filterEntities({cacheType: 'Session'});
get(entityCode, raiseErrorIfNotExistsopt) → UBEntity
Get entity by code
Arguments:
-
entityCode
(string)
-
[raiseErrorIfNotExists=true]
(Boolean)
 If true
(default) and entity does not exists throw error
has(entityCode) → Boolean
Check entity present in domain & user has access right for at least one entity method
Arguments:
-
entityCode
(string)
isEntityMethodsAccessible(entityCode, methodNames)
Check all provided entity methods are accessible via RLS.
If entity does not exist in domain or at last one of provided methods is not accessible - return false
Arguments:
dataType
(string)
callBack
for each entity.
The iteratee is invoked with three arguments: (UBEntity, entityName, UBDomain.entities)
// sessionCachedEntities contains all entities with property cacheType === Session
var sessionCachedEntities = domain.filterEntities({cacheType: 'Session'});
entityCode
(string)
[raiseErrorIfNotExists=true]
(Boolean)
 If true
(default) and entity does not exists throw error
entityCode
(string)
If entity does not exist in domain or at last one of provided methods is not accessible - return false