Class: CheckDatabaseConsistencyService
initialization/check-database-consistency.service.CheckDatabaseConsistencyService
Constructors
constructor
• new CheckDatabaseConsistencyService(activeLoginService
, loginUserService
, strategyInstanceService
, strategyService
, userLoginDataService
, userLoginDataImsUserService
, backendUserService
, imsUserFindingService
)
Parameters
Name | Type |
---|---|
activeLoginService | ActiveLoginService |
loginUserService | LoginUserService |
strategyInstanceService | StrategyInstanceService |
strategyService | StrategiesService |
userLoginDataService | UserLoginDataService |
userLoginDataImsUserService | UserLoginDataImsUserService |
backendUserService | BackendUserService |
imsUserFindingService | ImsUserFindingService |
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:16
Properties
activeLoginService
• Private
Readonly
activeLoginService: ActiveLoginService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:17
backendUserService
• Private
Readonly
backendUserService: BackendUserService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:23
imsUserFindingService
• Private
Readonly
imsUserFindingService: ImsUserFindingService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:24
logger
• Private
Readonly
logger: Logger
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:15
loginUserService
• Private
Readonly
loginUserService: LoginUserService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:18
strategyInstanceService
• Private
Readonly
strategyInstanceService: StrategyInstanceService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:19
strategyService
• Private
Readonly
strategyService: StrategiesService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:20
userLoginDataImsUserService
• Private
Readonly
userLoginDataImsUserService: UserLoginDataImsUserService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:22
userLoginDataService
• Private
Readonly
userLoginDataService: UserLoginDataService
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:21
Methods
checkActiveLogin
▸ Private
checkActiveLogin(fixBroken
): Promise
<string
>
Checks all active logins in the database for consistency.
Currently no inconsistent state is possible.
A warning is produced, if any active logins without login data are found. This is allowed, but should not happen in normal operation
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:35
checkDatabaseConsistency
▸ checkDatabaseConsistency(): Promise
<boolean
>
Returns
Promise
<boolean
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:191
checkLoginUser
▸ Private
checkLoginUser(fixBroken
): Promise
<string
>
Checks all login users in the database and the backend for consistency.
A login user in the database is inconsistent if
- It has no neo4j id (NOT FIXABLE)
- It doesn't exist in the backend (NOT FIXABLE)
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:54
checkStrategyInstance
▸ Private
checkStrategyInstance(fixBroken
): Promise
<string
>
Checks if all strategy instances are consistent
A strategy instance is considered inconsistent when:
- It has a type of a strategy that is unknown (NOT FIXABLE)
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:104
checkUserLoginData
▸ Private
checkUserLoginData(fixBroken
): Promise
<string
>
Checks if all UserLoginData elements in the database are consistent
A UserLoginData is considered inconsistent when:
- It is set to state VALID but has no user assigned (NOT FIXABLE)
- It is set to state WAITING_FOR_REGISTER but has a user assigned (NOT FIXABLE)
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:122
checkUserLoginDataImsUser
▸ Private
checkUserLoginDataImsUser(fixBroken
): Promise
<string
>
Checks if all UserLoginDataImsUser elements in the database are consistent
A UserLoginDataImsUser is considered inconsistent when:
- The IMSUser referenced by its neo4j ID doesn't exist in the backend (NOT FIXABLE)
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:146
ensureDatabaseConsistency
▸ ensureDatabaseConsistency(fixBrokenConsistency?
): Promise
<void
>
Parameters
Name | Type |
---|---|
fixBrokenConsistency | boolean |
Returns
Promise
<void
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:195
runDatabaseCheck
▸ runDatabaseCheck(): Promise
<void
>
Returns
Promise
<void
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:204
testDatabaseForConsistency
▸ Private
testDatabaseForConsistency(fixBroken
): Promise
<string
>
Parameters
Name | Type |
---|---|
fixBroken | boolean |
Returns
Promise
<string
>
Defined in
gropius-login-service/backend/src/initialization/check-database-consistency.service.ts:162