# Functions
PrepareContext is a factory function that creates instance of DataContext If dataSourceCfg is config.REDIS this function creates instance of RedisDataManager by calling CreateRedisDataManager function
* Parameters:
* - dataSourceCfg configuration section related to DataSource
* - logger - logger instance
* Return: new instance of DataContext and error (nil if there are no errors)
*/.
PrepareContextUsingData is a factory function that creates instance of DataContext This function creates instance of appropriate DataContext according to input arguments values, if dataSourceConfig is config.FILE function
* creates instance of FileDataManager.
PrepareContextUsingFile is a factory function that creates instance of DataContext This function creates instance of appropriate DataContext according to input arguments values, if dataSourceConfig is config.FILE function
* creates instance of FileDataManager.
# Interfaces
DataContext is a common interface to implement operations with authorization server entities (data.Realm, data.Client, data.User) now contains only set of Get methods, during implementation admin CLI should be expanded to create && update entities DataContext is a CRUD operations interface over a business objects (data.Realm, data.Client, data.User).