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