-
Notifications
You must be signed in to change notification settings - Fork 2
svyProperties API Documentation
- changeExternalDBTransactionSupportFlag(mustSupportExternalTransactions)
-
Use this method to change the behavior of the svyProperties module with respect to DB transactions.
If the flag is set to false (default) then when saving or deleting security-related records if an external DB transaction is detected the operation will fail. If the flag is set to true then when saving or deleting security-related records the module will start/commit a DB transaction only if an external DB transaction is not detected. On exceptions any DB transaction will be rolled back regardless if it is started internally or externally (exceptions will be propagated to the external transaction so callers will be able to react on them accordingly)
-
deleteProperty(property) ⇒
Boolean
-
Immediately and permanently deletes the specified property.
-
getGlobalProperty(propertyKey, propertyType) ⇒
Property
-
Returns the global property with the given key and type
Global properties are properties where the tenant and user name is not set -
getGlobalPropertyValue(propertyKey, propertyType) ⇒
String
-
Returns the value of the global property with the given key and type
Global properties are properties where the tenant and user name is not set -
getProperties(propertyKey, [propertyType], [tenantName], [userName]) ⇒
[ 'Array' ].<Property>
-
Returns all properties with the given key and type, optional tenant and user name
If tenantName is not provided, it will not be queried; if a null value is provided, only global properties are returned
If userName is not provided, it will not be queried; if a null value is provided, only tenant wide properties are returned -
getPropertiesByType(propertyType, [tenantName], [userName]) ⇒
[ 'Array' ].<Property>
-
Returns all properties of the given type, optional tenant and user name
If tenantName is not provided, it will not be queried; if a null value is provided, only global properties are returned
If userName is not provided, it will not be queried; if a null value is provided, only tenant wide properties are returned -
getProperty(propertyKey, propertyType, [tenantName], [userName]) ⇒
Property
-
Returns the property with the given key and type or null if not found
All parameters given need to match exactly -
getTenantProperty(propertyKey, propertyType) ⇒
Property
-
Returns the tenant wide property with the given key and type for the tenant set via
setUserName()
Tenant wide properties are properties where the user name is not set -
getTenantPropertyValue(propertyKey, propertyType) ⇒
String
-
Returns the value of the tenant wide property with the given key and type for the tenant set via
setUserName()
Tenant wide properties are properties where the user name is not set -
getUserProperty(propertyKey, propertyType) ⇒
Property
-
Returns the property with the given key and type for the user set via
setUserName()
-
getUserPropertyValue(propertyKey, propertyType) ⇒
String
-
Returns the value of the property with the given key and type for the user set via
setUserName()
-
getVersion() ⇒
String
-
Gets the version of this module
-
setGlobalProperty(propertyKey, propertyType, value) ⇒
Property
-
Sets the given value to the global property with the given key and type or creates a new property if not found
Global properties are properties where the tenant and user name is not set -
setProperty(propertyKey, propertyType, value, userName, tenantName) ⇒
Property
-
Sets the given value to the property with the given key and type or creates a new property if not found
-
setTenantProperty(propertyKey, propertyType, value) ⇒
Property
-
Sets the given value to the tenant wide property with the given key and type or creates a new property if not found
Tenant wide properties are properties where the user name is not set - setUserName(userName, [tenantName])
-
Sets the user and tenant name for the logged in user
Both are used in all convenience methods to get or set properties for the user or the tenant
When svySecurity is used, this is called automatically after login -
setUserProperty(propertyKey, propertyType, value) ⇒
Property
-
Sets the given value to the user property with the given key and type or creates a new property if not found
-
Property
-
.deleteProperty() ⇒
Boolean
-
.getDisplayName() ⇒
String
-
.getPropertyUUID() ⇒
UUID
-
.getPropertyValue() ⇒
String
-
.getTenantName() ⇒
String
-
.getUserName() ⇒
String
-
.setDisplayName() ⇒
Property
-
.setPropertyValue(propertyValue) ⇒
Property
- new Property(record)
-
.deleteProperty() ⇒
Immediately and permanently deletes this property.
Returns: Boolean
- true if property could be deleted
Note: USE WITH CAUTION! There is no undo for this operation.
Gets the display name for this property.
Returns: String
- The property value of this property. Can be null if a display name is not set.
Gets the property uuid for this property.
Returns: UUID
- The property uuid of this property.
Gets the property value for this property.
Returns: String
- The property value of this property. Can be null if a property value is not set.
Gets the tenant name for this property.
Returns: String
- The property value of this property. Can be null if a display name is not set.
Gets the user name for this property.
Returns: String
- The property value of this property. Can be null if a display name is not set.
property.setDisplayName() ⇒ Property
Sets the property display name for this property.
Returns: Property
- The property uuid of this property.
property.setPropertyValue(propertyValue) ⇒ Property
Sets the property value for this property.
Returns: Property
- This property for call-chaining support.
Param | Type |
---|---|
propertyValue | String |
Param | Type |
---|---|
record | [ 'JSRecord' ].<svy_properties> |
Use this method to change the behavior of the svyProperties module with respect to DB transactions.
If the flag is set to false (default) then when saving or deleting security-related records if an external DB transaction is detected the operation will fail. If the flag is set to true then when saving or deleting security-related records the module will start/commit a DB transaction only if an external DB transaction is not detected. On exceptions any DB transaction will be rolled back regardless if it is started internally or externally (exceptions will be propagated to the external transaction so callers will be able to react on them accordingly)
Note: If using external DB transactions then callers are responsible for refreshing the state of security-related objects upon transaction rollbacks which occur after successful calls to the svyProperties API.
Param | Type | Description |
---|---|---|
mustSupportExternalTransactions | Boolean |
The value for the supportExternalDBTransaction flag to set. |
Immediately and permanently deletes the specified property.
Returns: Boolean
- False if property could not be deleted.
Note: USE WITH CAUTION! There is no undo for this operation.
Param | Type | Description |
---|---|---|
property |
Property | UUID | String
|
The property object or the UUID (UUID or UUID as String) of the property to delete. |
getGlobalProperty(propertyKey, propertyType) ⇒ Property
Returns the global property with the given key and type
Global properties are properties where the tenant and user name is not set
Returns: Property
- the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
Returns the value of the global property with the given key and type
Global properties are properties where the tenant and user name is not set
Returns: String
- the value of the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
getProperties(propertyKey, [propertyType], [tenantName], [userName]) ⇒ [ 'Array' ].<Property>
Returns all properties with the given key and type, optional tenant and user name
If tenantName is not provided, it will not be queried; if a null value is provided, only global properties are returned
If userName is not provided, it will not be queried; if a null value is provided, only tenant wide properties are returned
Param | Type | Description |
---|---|---|
propertyKey | String |
can contain % placeholders for like searches |
[propertyType] | String |
has to match exactly |
[tenantName] | String |
has to match exactly |
[userName] | String |
has to match exactly |
getPropertiesByType(propertyType, [tenantName], [userName]) ⇒ [ 'Array' ].<Property>
Returns all properties of the given type, optional tenant and user name
If tenantName is not provided, it will not be queried; if a null value is provided, only global properties are returned
If userName is not provided, it will not be queried; if a null value is provided, only tenant wide properties are returned
Param | Type | Description |
---|---|---|
propertyType | String |
has to match exactly |
[tenantName] | String |
has to match exactly |
[userName] | String |
has to match exactly |
getProperty(propertyKey, propertyType, [tenantName], [userName]) ⇒ Property
Returns the property with the given key and type or null if not found
All parameters given need to match exactly
Returns: Property
- the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
[tenantName] | String |
the tenant name for which this property is stored |
[userName] | String |
the user name for which this property is stored |
getTenantProperty(propertyKey, propertyType) ⇒ Property
Returns the tenant wide property with the given key and type for the tenant set via setUserName()
Tenant wide properties are properties where the user name is not set
Returns: Property
- the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
Returns the value of the tenant wide property with the given key and type for the tenant set via setUserName()
Tenant wide properties are properties where the user name is not set
Returns: String
- the value of the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
getUserProperty(propertyKey, propertyType) ⇒ Property
Returns the property with the given key and type for the user set via setUserName()
Returns: Property
- the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
Example
<pre>
function onShow(firstShow, event) {
var propertyKey = application.getSolutionName() + "-" + controller.getName() + "-" + elements.table.getName();
var columnState = scopes.svyProperties.getUserProperty(propertyKey, 'table-state');
// restore the ng-grid state
if (columnState) elements.table.restoreColumnState(columnState.getPropertyValue());
}
</pre>
Returns the value of the property with the given key and type for the user set via setUserName()
Returns: String
- the value of the property found or null if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
Example
<pre>
function onShow(firstShow, event) {
var propertyKey = application.getSolutionName() + "-" + controller.getName() + "-" + elements.table.getName();
var columnState = scopes.svyProperties.getUserPropertyValue(propertyKey, 'table-state');
// restore the ng-grid state
if (columnState) elements.table.restoreColumnState(columnState);
}
</pre>
Gets the version of this module
Returns: String
- the version of the module using the format Major.Minor.Revision
setGlobalProperty(propertyKey, propertyType, value) ⇒ Property
Sets the given value to the global property with the given key and type or creates a new property if not found
Global properties are properties where the tenant and user name is not set
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
value | String |
the string value of the property |
setProperty(propertyKey, propertyType, value, userName, tenantName) ⇒ Property
Sets the given value to the property with the given key and type or creates a new property if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
value | String |
the string value of the property |
userName | String |
the user name for which this property is stored |
tenantName | String |
the tenant name for which this property is stored |
setTenantProperty(propertyKey, propertyType, value) ⇒ Property
Sets the given value to the tenant wide property with the given key and type or creates a new property if not found
Tenant wide properties are properties where the user name is not set
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
value | String |
the string value of the property |
Sets the user and tenant name for the logged in user
Both are used in all convenience methods to get or set properties for the user or the tenant
When svySecurity is used, this is called automatically after login
Param | Type | Description |
---|---|---|
userName | String |
the name of the active user for which user related properties are stored |
[tenantName] | String |
the name of the tenant of the active user |
Example
<pre>
function onSolutionOpen(arg, queryParams) {
// don't set the tenant if the solution doesn't support multi-tenancy
// scopes.svyProperties.setUserName(loggedUserName);
scopes.svyProperties.setUserName(loggedUniqueUserName, loggedUniqueTenantName);
}
</pre>
setUserProperty(propertyKey, propertyType, value) ⇒ Property
Sets the given value to the user property with the given key and type or creates a new property if not found
Param | Type | Description |
---|---|---|
propertyKey | String |
the identifier for the property |
propertyType | String |
the type of property (typically an enum value) |
value | String |
the string value of the property |
Example
<pre>
//persist the state of the NG Grid as user property
function onColumnStateChanged(columnState) {
var propertyNameSpace = application.getSolutionName() + "-" + controller.getName() + "." + elements.table.getName();
scopes.svyProperties.setUserProperty(propertyNameSpace, 'table-state', columnState);
}
</pre>