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