Help us shape the future of Go! Take the 2026 Go Developer Survey

managers

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataContext

type DataContext interface {
	// IsAvailable Checks is Data Storage accessible or not
	IsAvailable() bool
	// GetRealm returns realm by name (unique) returns realm with clients but no users
	GetRealm(realmName string) (*data.Realm, error)
	// GetClient returns realm client by name (client name is also unique in a realm)
	GetClient(realmName string, name string) (*data.Client, error)
	// GetUser return realm user (consider what to do with Federated users) by name
	GetUser(realmName string, userName string) (data.User, error)
	// GetUserFederationConfig return user federation config by name
	GetUserFederationConfig(realmName string, configName string) (*data.UserFederationServiceConfig, error)
	// GetUserById return realm user by id
	GetUserById(realmName string, userId uuid.UUID) (data.User, error)
	// CreateRealm creates new data.Realm in a data store, receive realmData unmarshalled json in a data.Realm
	CreateRealm(realmData data.Realm) error
	// CreateClient creates new data.Client in a data store, requires to pass realmName (because client name is not unique), clientData is an unmarshalled json of type data.Client
	CreateClient(realmName string, clientData data.Client) error
	// CreateUser creates new data.User in a data store within a realm with name = realmName
	CreateUser(realmName string, userData data.User) error
	// CreateUserFederationConfig creates new user federation (LDAP, FreeIPA & so on)
	CreateUserFederationConfig(realmName string, userFederationConfig data.UserFederationServiceConfig) error
	// UpdateRealm updates existing data.Realm in a data store within name = realmData, and new data = realmData
	UpdateRealm(realmName string, realmData data.Realm) error
	// UpdateClient updates existing data.Client in a data store with name = clientName and new data = clientData
	UpdateClient(realmName string, clientName string, clientData data.Client) error
	// UpdateUser updates existing data.User in a data store with realm name = realName, username = userName and data=userData
	UpdateUser(realmName string, userName string, userData data.User) error
	// UpdateUserFederationConfig updates existing user federation config
	UpdateUserFederationConfig(realmName string, configName string, userFederationConfig data.UserFederationServiceConfig) error
	// DeleteRealm removes realm from data storage (Should be a CASCADE remove of all related Users and Clients)
	DeleteRealm(realmName string) error
	// DeleteClient removes client with name = clientName from realm with name = clientName
	DeleteClient(realmName string, clientName string) error
	// DeleteUser removes data.User from data store by user (userName) and realm (realmName) name respectively
	DeleteUser(realmName string, userName string) error
	// DeleteUserFederationConfig removes data.UserFederationServiceConfig from collection
	DeleteUserFederationConfig(realmName string, configName string) error
	// GetServerSettings returns server settings
	GetServerSettings() (*data.ServerSettings, error)
	SetServerSettings(settings *data.ServerSettings) error
}

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)

func PrepareContext added in v0.9.2

func PrepareContext(dataSourceCfg *config.DataSourceConfig, logger *logging.AppLogger) (DataContext, error)

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)

func PrepareContextUsingData added in v0.9.2

func PrepareContextUsingData(dataSourceCfg *config.DataSourceConfig, data *data.ServerData, logger *logging.AppLogger) (DataContext, error)

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.
* loads all data (realms, clients and users) in a memory.
* Parameters:
*     - dataSourceCfg configuration section related to DataSource
*     - data - ServerData
*     - logger - logger instance
* Return: new instance of DataContext and error (nil if there are no errors)

func PrepareContextUsingFile added in v0.9.2

func PrepareContextUsingFile(dataSourceCfg *config.DataSourceConfig, dataFile *string, logger *logging.AppLogger) (DataContext, error)

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. For this type of context if dataFile is not nil and exists this function also provides data initialization:
* loads all data (realms, clients and users) in a memory.
* Parameters:
*     - dataSourceCfg configuration section related to DataSource
*     - dataFile - data for initialization (this is using only when dataSourceCfg is config.FILE)
*     - logger - logger instance
* Return: new instance of DataContext and error (nil if there are no errors)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL