Skip to main content

Class: CreateDefaultUserService

initialization/create-default-user.service.CreateDefaultUserService

Service for creating a new default user according to the environment config

Constructors​

constructor​

• new CreateDefaultUserService(strategiesService, strategyInstanceService, loginUserService, userLoginDataService, backendUserService)

Parameters​

NameType
strategiesServiceStrategiesService
strategyInstanceServiceStrategyInstanceService
loginUserServiceLoginUserService
userLoginDataServiceUserLoginDataService
backendUserServiceBackendUserService

Defined in​

login-service/src/initialization/create-default-user.service.ts:18

Properties​

backendUserService​

• Private Readonly backendUserService: BackendUserService

Defined in​

login-service/src/initialization/create-default-user.service.ts:23


logger​

• Private Readonly logger: Logger

Defined in​

login-service/src/initialization/create-default-user.service.ts:17


loginUserService​

• Private Readonly loginUserService: LoginUserService

Defined in​

login-service/src/initialization/create-default-user.service.ts:21


strategiesService​

• Private Readonly strategiesService: StrategiesService

Defined in​

login-service/src/initialization/create-default-user.service.ts:19


strategyInstanceService​

• Private Readonly strategyInstanceService: StrategyInstanceService

Defined in​

login-service/src/initialization/create-default-user.service.ts:20


userLoginDataService​

• Private Readonly userLoginDataService: UserLoginDataService

Defined in​

login-service/src/initialization/create-default-user.service.ts:22

Methods​

createAndOrLinkUserAndLoginData​

▸ Private createAndOrLinkUserAndLoginData(user, loginData, username, displayName): Promise<UserLoginData>

Takes an optional user that the given loginData is to be linked to.

Possible cases:

  • LoginData already has a user that differs from the given one => Error will be thrown
  • LoginData has same user as given one => nothing is done
  • LoginData has no user, user is given => LoginData is linked to given user
  • LoginData has no user, no user is given => New user created and loginData linked to it

Parameters​

NameTypeDescription
userLoginUserThe existing user to link to the login data or undefined/null if one should be created
loginDataUserLoginDataThe login data that should be linked to the user given
usernamestringThe username for a user to create
displayNamestringThe display name for a user to create

Returns​

Promise<UserLoginData>

the given loginData object, with link added

Defined in​

login-service/src/initialization/create-default-user.service.ts:110


createDefaultUser​

▸ createDefaultUser(): Promise<void>

Create a new default user if environment config is set that way.

A user will be created, if at least GROPIUS_DEFAULT_USER_USERNAME, GROPIUS_DEFAULT_USER_DISPLAYNAME and GROPIUS_DEFAULT_USER_STRATEGY_INSTANCE_NAME are set.

The system will be searched for matchin users in username and login data

Returns​

Promise<void>

Defined in​

login-service/src/initialization/create-default-user.service.ts:145


findStrategyAndInstance​

▸ Private findStrategyAndInstance(strategyInstanceName): Promise<{ strategy: Strategy ; strategyInstance: StrategyInstance }>

Tries to find a login strategy instance with the given name. If none exists, tries to find one with the instance name field being interpreted as strategy type

Parameters​

NameTypeDescription
strategyInstanceNamestringThe name of the strategy instance or if that doesnt exist the strategy type to be retrieved

Returns​

Promise<{ strategy: Strategy ; strategyInstance: StrategyInstance }>

The strategy and strategy instance for the instance with the given name

Defined in​

login-service/src/initialization/create-default-user.service.ts:34


getLoginDataThroughAuth​

▸ Private getLoginDataThroughAuth(strategyInstanceName, postBody): Promise<UserLoginData>

Executes the authentication using the strategy withthe provided name. If loginData is found it is returned. If none is found a new instance will be created and returned (UNSAVED!)

Parameters​

NameTypeDescription
strategyInstanceNamestringThe name of the strategy instance to use for authentication
postBodyanyThe body data to be "posted" to the strategy for authentication (e.g. password)

Returns​

Promise<UserLoginData>

Login data either retrieved by the auth or newly created

Defined in​

login-service/src/initialization/create-default-user.service.ts:67