# Class: ContextStore

## Constructor

#### new ContextStore(csConfig)

  ContextStore API

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `csConfig` | AvayaDataStoreClient.Config.CsConfiguration |

## Methods

#### createContext(requestBody, sid, rid, touchpoint, lease, rules, shortId) → {Object}

  request to create Context

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `requestBody` | String | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease
  `rules` | Boolean | set flag to enable rules
  `shortId` | Boolean | set flag to request short auto generated contextId (less than 12 characters)

  ##### Returns:

  { Object }

  response with empty string "" or JSON Object containing contextId (if it was not specified in request)

#### deleteAliasByAliasId(aliasId, sid, rid, touchpoint) → {String}

  Deletes Alias from Context via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { String }

  empty string

#### deleteContext(contextId, sid, rid) → {String}

  Deletes Context from Context Store via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment

  ##### Returns:

  { String }

  empty string

#### deleteContextByAliasId(aliasId, sid, rid) → {String}

  Deletes Context from Context Store via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment

  ##### Returns:

  { String }

  empty string

#### deleteValueByAliasId(aliasId, key, sid, rid, touchpoint) → {String}

  Deletes Context Value from Context via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `key` | String | key name to retrieve
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { String }

  empty string

#### deleteValueByContextId(contextId, key, sid, rid, touchpoint) → {String}

  Deletes Context Value from Context via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `key` | String | key name to retrieve
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { String }

  empty string

#### generateToken() → {String}

  request to generate Token

  ##### Returns:

  { String }

  token value

#### getAliasesByContextId(contextId, sid, rid, touchpoint) → {Object}

  Get Alias(es) from Context Store via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getAuditByAliasId(aliasId, sid, rid, touchpoint) → {Object}

  Get Audit Trail from Context via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getAuditByContextId(contextId, sid, rid, touchpoint) → {Object}

  Get Audit Trail from Context via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getContext(contextId, sid, rid, touchpoint) → {Object}

  Get Context from Context Store via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getContextByAliasId(aliasId, sid, rid, touchpoint) → {Object}

  Get Context from Context Store via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getContextByAliasIdWithMetaData(aliasId, sid, rid, touchpoint) → {Object}

  Get Context from Context Store via Alias Id With Meta Data

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getContextIdByAliasId(aliasId, sid, rid, touchpoint) → {Object}

  Get ContextId from Context Store via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getContextStoreStatus(csConfig) → {String}

  Get Context Store Status

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `csConfig` | AvayaDataStoreClient.Config.CsConfiguration |

  ##### Returns:

  { String }

  response with String

#### getContextWithMetaData(contextId, sid, rid, touchpoint) → {Object}

  Get Context from Context Store via Context Id with Meta Data

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { Object }

  response with JSON Object

#### getEDMEntryAudit(contextId, diff, data, metadata, schema) → {Object}

  Get EDM Context Entry Audit Trail

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `diff` | Boolean | enable to show differences for context entries
  `data` | Boolean | enable to show context data
  `metadata` | Boolean | enable to show context metadata
  `schema` | Boolean | enable to show schema related to the context

  ##### Returns:

  { Object }

  response with JSON Object

#### getEDMGroupAudit(groupId, diff, data, metadata, schema) → {Object}

  Get EDM Context Group Audit Trail

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `groupId` | String | Group Id
  `diff` | Boolean | enable to show differences for context entries
  `data` | Boolean | enable to show context data
  `metadata` | Boolean | enable to show context metadata
  `schema` | Boolean | enable to show schema related to the context

  ##### Returns:

  { Object }

  response with JSON Object

#### getGroup(groupId, sid, rid) → {Object}

  Get Context from Context Store via Group Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `groupId` | String | Group Id
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment

  ##### Returns:

  { Object }

  response with JSON Object

#### getGroupByAliasId(aliasId, sid, rid) → {String}

  Get Group from Context Store via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | Alias Id
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment

  ##### Returns:

  { String }

  value

#### getValueByAliasId(aliasId, key, sid, rid, touchpoint) → {String}

  Get Context Value from Context Store via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `key` | String | key name to retrieve
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { String }

  value

#### getValueByContextId(contextId, sid, rid, touchpoint) → {String}

  Get Context Value from Context Store via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail

  ##### Returns:

  { String }

  value

#### updateAliasesByAliasId(aliasId, requestBody, sid, rid, touchpoint, lease) → {String}

  Updates Alias(es) in Context via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease

  ##### Returns:

  { String }

  empty string

#### updateAliasesByContextId(contextId, requestBody, sid, rid, touchpoint, lease) → {Object}

  Updates Alias(es) in Context via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease

  ##### Returns:

  { Object }

  response

#### updateContext(contextId, requestBody, sid, rid, touchpoint, lease, rules, groupId) → {String}

  request to update Context

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease
  `rules` | Boolean | set flag to enable rules
  `groupId` | String | Group Id

  ##### Returns:

  { String }

  empty string

#### updateContextByAliasId(aliasId, requestBody, sid, rid, touchpoint, lease, rules, groupId) → {String}

  request to update Context By Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease
  `rules` | Boolean | set flag to enable rules
  `groupId` | String | Group Id

  ##### Returns:

  { String }

  empty string

#### updateValueByAliasId(aliasId, key, value, sid, rid, touchpoint, lease) → {String}

  Updates Context Value in Context via Alias Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `key` | String | key name to retrieve
  `value` | String | updated Value
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease

  ##### Returns:

  { String }

  empty string

#### updateValueByContextId(contextId, key, value, sid, rid, touchpoint, lease) → {String}

  Updates Context Value in Context via Context Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `key` | String | key name to retrieve
  `value` | String | updated Value
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease

  ##### Returns:

  { String }

  empty string

#### upsertContext(contextId, requestBody, sid, rid, touchpoint, lease, rules) → {Object}

  request to update Context or create it if it does not exist

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `contextId` | String | contextId of Context data object
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease
  `rules` | Boolean | set flag to enable rules

  ##### Returns:

  { Object }

  response with JSON Object

#### upsertContextByAliasId(aliasId, requestBody, sid, rid, touchpoint, lease, rules) → {Object}

  request to update Context or create it if it does not exist

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `aliasId` | String | additional, indexable identifier(s) for the Context (for requests "by AliasId" only)
  `requestBody` | JSON | Context data object containing required key/value pairs (required) The same optional fields are available as in ContextStoreRest (contextId, groupId, tenantId etc.)
  `sid` | String | session id associated with a Context entry
  `rid` | String | routing identifier which is used to distinguish between Contexts in geo-redundant deployment
  `touchpoint` | String | User/application identifier for Audit Trail
  `lease` | Integer | Context will be stored for period specified in lease
  `rules` | Boolean | set flag to enable rules

  ##### Returns:

  { Object }

  response with empty string "" or JSON Object containing contextId (if it was not specified in request)