Skip to main content

Class: BackendUserService

backend-services/backend-user.service.BackendUserService

Constructors

constructor

new BackendUserService(graphqlService, loginUserService)

Parameters

NameType
graphqlServiceGraphqlService
loginUserServiceLoginUserService

Defined in

login-service/src/backend-services/backend-user.service.ts:17

Properties

graphqlService

Private Readonly graphqlService: GraphqlService

Defined in

login-service/src/backend-services/backend-user.service.ts:17


logger

Private Readonly logger: Logger

Defined in

login-service/src/backend-services/backend-user.service.ts:16


loginUserService

Private Readonly loginUserService: LoginUserService

Defined in

login-service/src/backend-services/backend-user.service.ts:17

Methods

checkIsUserAdmin

checkIsUserAdmin(user): Promise<boolean>

Checks if the user may access admin actions.

Calls the backend API to retrieve the information.

Potential optimation if performance is a problem: Cache admin state for one login session (activeLogin)

Parameters

NameTypeDescription
userLoginUserThe user for which to check admin permissions

Returns

Promise<boolean>

true if the user is allowed to access admin actions, false if not

Defined in

login-service/src/backend-services/backend-user.service.ts:29


checkUserExists

checkUserExists(user): Promise<boolean>

Checks for the existance of a GropiusUser with the neo4jid specified in the given LoginUser

Meant to check database consistency. For a properly created LoginUser this should always return true

Parameters

NameTypeDescription
userLoginUserThe LoginUser to check in the backend

Returns

Promise<boolean>

true iff the LoginUser has a valid associated GropiusUser in the backend

Defined in

login-service/src/backend-services/backend-user.service.ts:53


createLoginUserForExistingBackendUser

createLoginUserForExistingBackendUser(neo4jId): Promise<LoginUser>

Fetches the user date (username, ...) of the user fron the backend and creates a LoginUser for it

Meant to be used in case of database inconsistency as usually both users should be created simultaneously

Parameters

NameTypeDescription
neo4jIdstringThe bakcend neo4j id of the GropiusUser to create a LoginUser for

Returns

Promise<LoginUser>

The created LoginUser instance

Defined in

login-service/src/backend-services/backend-user.service.ts:110


createNewUser

createNewUser(input, isAdmin): Promise<LoginUser>

Parameters

NameType
inputCreateUserInput
isAdminboolean

Returns

Promise<LoginUser>

Defined in

login-service/src/backend-services/backend-user.service.ts:75


getAllGropiusUsersInBackend

getAllGropiusUsersInBackend(): Promise<string[]>

Fetches all backend ids of all existing GropiusUsers in the backend

Returns

Promise<string[]>

Defined in

login-service/src/backend-services/backend-user.service.ts:67


linkAllImsUsersToGropiusUser

linkAllImsUsersToGropiusUser(loginUser, loginData): Promise<void>

Parameters

NameType
loginUserLoginUser
loginDataUserLoginData

Returns

Promise<void>

Defined in

login-service/src/backend-services/backend-user.service.ts:143


linkOneImsUserToGropiusUser

linkOneImsUserToGropiusUser(loginUser, imsUser): Promise<void>

Parameters

NameType
loginUserLoginUser
imsUserUserLoginDataImsUser

Returns

Promise<void>

Defined in

login-service/src/backend-services/backend-user.service.ts:129